Skip to content

Commit e421390

Browse files
author
Vasileios Karakasis
authored
Merge branch 'master' into feat/config-json-schema
2 parents d546f4c + 2f3cfcb commit e421390

File tree

26 files changed

+267
-244
lines changed

26 files changed

+267
-244
lines changed

Jenkinsfile

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,9 @@ stage('Unittest') {
9292
script: """${loginBash}
9393
echo \$SCRATCH""").trim()
9494
def reframeDir = "${scratch}/${dirPrefix}-${machineName}-${uniqueID}"
95-
def moduleDefinition = ''
96-
if (machineName == 'leone') {
97-
moduleDefinition = '''module() { eval `/usr/bin/modulecmd bash $*`; }
98-
export -f module'''
99-
}
10095
dir(reframeDir) {
10196
checkout scm
10297
sh("""${loginBash}
103-
${moduleDefinition}
10498
bash ${reframeDir}/${bashScript} -f ${reframeDir} -i ''""")
10599
}
106100
}

ci-scripts/ci-runner.bash

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ checked_exec()
4141

4242
run_tutorial_checks()
4343
{
44-
cmd="./bin/reframe -C tutorial/config/settings.py --exec-policy=async \
44+
cmd="./bin/reframe -C tutorial/config/settings.py \
4545
--save-log-files -r -t tutorial $@"
4646
echo "Running tutorial checks with \`$cmd'"
4747
checked_exec $cmd
4848
}
4949

5050
run_user_checks()
5151
{
52-
cmd="./bin/reframe -C config/cscs.py --exec-policy=async --save-log-files \
52+
cmd="./bin/reframe -C config/cscs.py --save-log-files \
5353
-r --flex-alloc-nodes=2 -t production|benchmark $@"
5454
echo "Running user checks with \`$cmd'"
5555
checked_exec $cmd
@@ -160,10 +160,7 @@ elif [ $CI_TUTORIAL -eq 1 ]; then
160160
grep -e '^tutorial/(?!config/).*\.py') )
161161

162162
if [ ${#tutorialchecks[@]} -ne 0 ]; then
163-
tutorialchecks_path=""
164-
for check in ${tutorialchecks[@]}; do
165-
tutorialchecks_path="${tutorialchecks_path} -c ${check}"
166-
done
163+
tutorialchecks_path="-c $(IFS=: eval 'echo "${tutorialchecks[*]}"')"
167164

168165
echo "========================"
169166
echo "Modified tutorial checks"
@@ -197,10 +194,7 @@ else
197194
userchecks=( $(git diff origin/master...HEAD --name-only --oneline --no-merges | \
198195
grep -e '^cscs-checks/.*\.py') )
199196
if [ ${#userchecks[@]} -ne 0 ]; then
200-
userchecks_path=""
201-
for check in ${userchecks[@]}; do
202-
userchecks_path="${userchecks_path} -c ${check}"
203-
done
197+
userchecks_path="-c $(IFS=: eval 'echo "${userchecks[*]}"')"
204198

205199
echo "===================="
206200
echo "Modified user checks"

cscs-checks/cuda/cuda_checks.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import os
2-
32
import reframe as rfm
43
import reframe.utility.sanity as sn
54

65

76
class CudaCheck(rfm.RegressionTest):
87
def __init__(self):
9-
super().__init__()
108
self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn', 'tiger:gpu']
119
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu']
1210
if self.current_system.name == 'kesch':
@@ -81,7 +79,7 @@ def __init__(self):
8179
self.descr = 'Simple example demonstrating how to use MPI with CUDA'
8280
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
8381
'CUDA', 'simplempi')
84-
self.executable = 'simplempi'
82+
self.executable = './simplempi'
8583
self.num_tasks = 2
8684
self.num_tasks_per_node = 2
8785
self.sanity_patterns = sn.assert_found(r'Result = PASS', self.stdout)

cscs-checks/libraries/io/hdf5_compile_run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
for linkage in ['static', 'dynamic']))
88
class HDF5Test(rfm.RegressionTest):
99
def __init__(self, lang, linkage):
10-
super().__init__()
1110
lang_names = {
1211
'c': 'C',
1312
'f90': 'Fortran 90'
@@ -20,6 +19,7 @@ def __init__(self, lang, linkage):
2019
'PrgEnv-intel', 'PrgEnv-pgi']
2120
self.modules = ['cray-hdf5']
2221
self.keep_files = ['h5dump_out.txt']
22+
2323
# C and Fortran write transposed matrix
2424
if lang == 'c':
2525
self.sanity_patterns = sn.all([

cscs-checks/libraries/io/netcdf_compile_run.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
for linkage in ['dynamic', 'static']))
1010
class NetCDFTest(rfm.RegressionTest):
1111
def __init__(self, lang, linkage):
12-
super().__init__()
1312
lang_names = {
1413
'c': 'C',
1514
'cpp': 'C++',
@@ -42,7 +41,9 @@ def __init__(self, lang, linkage):
4241
self.maintainers = ['AJ', 'SO']
4342
self.tags = {'production', 'craype', 'external-resources'}
4443

45-
def setup(self, partition, environ, **job_opts):
44+
@rfm.run_before('compile')
45+
def setflags(self):
46+
environ = self.current_environ
4647
if self.current_system.name == 'kesch':
4748
if environ.name == 'PrgEnv-cray-nompi':
4849
self.modules = ['netcdf/4.4.1.1-gmvolf-17.02',
@@ -83,5 +84,3 @@ def setup(self, partition, environ, **job_opts):
8384
]
8485
else:
8586
self.build_system.ldflags = ['-%s' % self.linkage]
86-
87-
super().setup(partition, environ, **job_opts)

cscs-checks/libraries/math/scalapack_compile_run.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
class ScaLAPACKTest(rfm.RegressionTest):
88
def __init__(self, linkage):
9-
super().__init__()
109
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
1110
'scalapack')
1211
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:mc',
@@ -16,7 +15,6 @@ def __init__(self, linkage):
1615
self.num_tasks = 16
1716
self.num_tasks_per_node = 8
1817
self.variables = {'CRAYPE_LINK_TYPE': linkage}
19-
2018
if self.current_system.name == 'kesch':
2119
self.exclusive_access = True
2220
self.valid_prog_environs = ['PrgEnv-cray']

cscs-checks/libraries/math/trilinos_compile_run.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
@rfm.parameterized_test(['static'], ['dynamic'])
77
class TrilinosTest(rfm.RegressionTest):
88
def __init__(self, linkage):
9-
super().__init__()
109
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
1110
'tiger:gpu']
1211
# NOTE: PrgEnv-cray in dynamic does not work because of CrayBug/809265
@@ -38,7 +37,7 @@ def __init__(self, linkage):
3837
self.maintainers = ['AJ', 'CB']
3938
self.tags = {'production', 'craype'}
4039

41-
def setup(self, partition, environ, **job_opts):
42-
prgenv_flags = self.prgenv_flags[environ.name]
43-
self.build_system.cxxflags = prgenv_flags
44-
super().setup(partition, environ, **job_opts)
40+
@rfm.run_before('compile')
41+
def set_cxxflags(self):
42+
flags = self.prgenv_flags[self.current_environ.name]
43+
self.build_system.cxxflags = flags

cscs-checks/libraries/petsc/petsc_helloworld.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,28 @@
55
@rfm.required_version('>=2.14')
66
@rfm.parameterized_test(['dynamic'], ['static'])
77
class PetscPoisson2DCheck(rfm.RegressionTest):
8-
def __init__(self, variant):
9-
super().__init__()
8+
def __init__(self, linkage):
109
self.descr = ('Compile/run PETSc 2D Poisson example with cray-petsc '
11-
'(%s linking)') % variant
10+
'(%s linking)') % linkage
1211
self.valid_systems = ['daint:gpu', 'daint:mc',
1312
'dom:gpu', 'dom:mc', 'tiger:gpu']
14-
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
15-
'PrgEnv-intel']
13+
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu']
14+
if linkage == 'dynamic':
15+
# FIXME: static compilation yields a link error in case of
16+
# PrgEnv-intel (Cray Bug #255701)
17+
self.valid_prog_environs += ['PrgEnv-intel']
18+
1619
self.sourcepath = 'poisson2d.c'
1720
self.modules = ['cray-petsc']
1821
self.num_tasks = 16
1922
self.num_tasks_per_node = 8
2023
self.build_system = 'SingleSource'
21-
if variant == 'dynamic':
22-
self.build_system.cflags = ['-dynamic']
23-
24+
self.variables = {'CRAYPE_LINK_TYPE': linkage}
2425
self.executable_opts = ['-da_grid_x 4', '-da_grid_y 4', '-ksp_monitor']
2526

2627
# Check the final residual norm for convergence
2728
norm = sn.extractsingle(r'\s+\d+\s+KSP Residual norm\s+(?P<norm>\S+)',
2829
self.stdout, 'norm', float, -1)
2930
self.sanity_patterns = sn.assert_lt(norm, 1.0e-5)
30-
3131
self.tags = {'production', 'craype'}
3232
self.maintainers = ['AJ', 'CB']

cscs-checks/mch/g2g_meteoswiss_check.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,9 @@
55
@rfm.parameterized_test([1], [2])
66
class G2GMeteoswissTest(rfm.RegressionTest):
77
def __init__(self, g2g):
8-
super().__init__()
98
self.descr = 'G2G Meteoswiss check with G2G=%s' % g2g
109
self.strict_check = False
1110
self.valid_systems = ['kesch:cn']
12-
13-
# FIXME: temporary workaround until the mvapich module is fixed;
14-
# 'PrgEnv-gnu-c2sm-gpu' will be added later
1511
self.valid_prog_environs = ['PrgEnv-gnu']
1612
self.exclusive_access = True
1713
self.modules = ['cmake']

cscs-checks/mch/gpu_direct_cuda.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@
66
@rfm.simple_test
77
class GpuDirectCudaCheck(rfm.RegressionTest):
88
def __init__(self):
9-
super().__init__()
109
self.descr = 'tests gpu-direct for CUDA'
1110
self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn', 'tiger:gpu']
12-
# FIXME: temporary workaround until the mvapich module is fixed
13-
# 'PrgEnv-gnu-c2sm-gpu' will be added later
1411
self.valid_prog_environs = ['PrgEnv-gnu']
1512
self.sourcepath = 'gpu_direct_cuda.cu'
1613
self.build_system = 'SingleSource'

0 commit comments

Comments
 (0)