Skip to content

Commit 3f5bb99

Browse files
committed
Merge branch 'master' into feat/json-output
2 parents 82d0fba + bd23bc4 commit 3f5bb99

34 files changed

+467
-243
lines changed

config/cscs-ci.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
# CSCS CI settings
88
#
99

10+
import reframe.utility.os_ext as os_ext
11+
12+
1013
site_configuration = {
1114
'systems': [
1215
{
@@ -27,7 +30,7 @@
2730
'access': [
2831
'--constraint=gpu',
2932
'--partition=cscsci',
30-
'--account=jenscscs'
33+
f'--account={os_ext.osgroup()}'
3134
],
3235
'environs': [
3336
'builtin'
@@ -63,7 +66,7 @@
6366
],
6467
'access': [
6568
'--constraint=gpu',
66-
'--account=jenscscs'
69+
f'--account={os_ext.osgroup()}'
6770
],
6871
'environs': [
6972
'builtin'
@@ -88,7 +91,7 @@
8891
],
8992
'access': [
9093
'proc=gpu',
91-
'-A jenscscs'
94+
f'-A {os_ext.osgroup()}'
9295
],
9396
'environs': [
9497
'builtin'
@@ -105,7 +108,7 @@
105108
],
106109
'access': [
107110
'-l proc=gpu',
108-
'-A jenscscs'
111+
f'-A {os_ext.osgroup()}'
109112
],
110113
'environs': [
111114
'builtin'

config/cscs.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
# ReFrame CSCS settings
77
#
88

9+
import reframe.utility.os_ext as os_ext
10+
11+
912
site_configuration = {
1013
'systems': [
1114
{
@@ -171,7 +174,8 @@
171174
'daint-gpu'
172175
],
173176
'access': [
174-
'--constraint=gpu'
177+
f'--constraint=gpu',
178+
f'--account={os_ext.osgroup()}'
175179
],
176180
'environs': [
177181
'builtin',
@@ -218,7 +222,8 @@
218222
'daint-mc'
219223
],
220224
'access': [
221-
'--constraint=mc'
225+
f'--constraint=mc',
226+
f'--account={os_ext.osgroup()}'
222227
],
223228
'environs': [
224229
'builtin',
@@ -320,7 +325,8 @@
320325
'daint-gpu'
321326
],
322327
'access': [
323-
'--constraint=gpu'
328+
f'--constraint=gpu',
329+
f'--account={os_ext.osgroup()}'
324330
],
325331
'environs': [
326332
'builtin',
@@ -360,7 +366,8 @@
360366
'daint-mc'
361367
],
362368
'access': [
363-
'--constraint=mc'
369+
f'--constraint=mc',
370+
f'--account={os_ext.osgroup()}'
364371
],
365372
'environs': [
366373
'builtin',

cscs-checks/libraries/io/netcdf_compile_run.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import os
77

88
import reframe as rfm
9+
import reframe.utility.os_ext as os_ext
910
import reframe.utility.sanity as sn
1011

1112

@@ -113,6 +114,14 @@ def setflags(self):
113114
def cray_linker_workaround(self):
114115
# NOTE: Workaround for using CCE < 9.1 in CLE7.UP01.PS03 and above
115116
# See Patch Set README.txt for more details.
116-
if (self.current_system.name == 'dom' and
117-
self.current_environ.name == 'PrgEnv-cray'):
117+
cle = os_ext.cray_cle_info()
118+
if not cle:
119+
return
120+
121+
if (cle.release == '7.0.UP01' and cle.patchset >= '03'):
118122
self.variables['LINKER_X86_64'] = '/usr/bin/ld'
123+
124+
@rfm.run_before('run')
125+
def cdt2006_cpp_workaround(self):
126+
if (os_ext.cray_cdt_version() == '20.06' and self.lang == 'cpp'):
127+
self.modules += ['cray-hdf5/1.10.6.1']

cscs-checks/libraries/math/trilinos_compile_run.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
#
44
# SPDX-License-Identifier: BSD-3-Clause
55

6+
import os
7+
68
import reframe as rfm
9+
import reframe.utility.os_ext as os_ext
710
import reframe.utility.sanity as sn
811

912

@@ -18,6 +21,7 @@ def __init__(self, linkage):
1821
# NOTE: PrgEnv-cray_classic does not support trilinos
1922
if linkage == 'static':
2023
self.valid_prog_environs += ['PrgEnv-cray']
24+
self.linkage = linkage
2125

2226
self.build_system = 'SingleSource'
2327
self.build_system.ldflags = ['-%s' % linkage, '-lparmetis']
@@ -49,3 +53,28 @@ def __init__(self, linkage):
4953
def set_cxxflags(self):
5054
flags = self.prgenv_flags[self.current_environ.name]
5155
self.build_system.cxxflags = flags
56+
57+
@rfm.run_before('compile')
58+
def cdt2006_workaround_intel(self):
59+
if (self.current_environ.name == 'PrgEnv-intel' and
60+
os_ext.cray_cdt_version() == '20.06'):
61+
self.modules += ['cray-netcdf-hdf5parallel']
62+
self.prebuild_cmds = [
63+
'ln -s $CRAY_NETCDF_HDF5PARALLEL_PREFIX/lib/pkgconfig/'
64+
'netcdf-cxx4_parallel.pc netcdf_c++4_parallel.pc'
65+
]
66+
self.variables['PKG_CONFIG_PATH'] = '.:$PKG_CONFIG_PATH'
67+
68+
@rfm.run_before('compile')
69+
def cdt2006_workaround_dynamic(self):
70+
if (os_ext.cray_cdt_version() == '20.06' and
71+
self.linkage == 'dynamic' and
72+
self.current_environ.name == 'PrgEnv-gnu'):
73+
self.variables['PATH'] = (
74+
'/opt/cray/pe/cce/10.0.1/cce-clang/x86_64/bin:$PATH'
75+
)
76+
self.prgenv_flags[self.current_environ.name] += ['-fuse-ld=lld']
77+
78+
# GCC >= 9 is required for the above option; our CUDA-friendly CDT
79+
# uses GCC 8 as default.
80+
self.modules += ['gcc/9.3.0']

cscs-checks/mch/automatic_arrays_acc.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# SPDX-License-Identifier: BSD-3-Clause
55

66
import reframe as rfm
7+
import reframe.utility.os_ext as os_ext
78
import reframe.utility.sanity as sn
89

910

@@ -87,6 +88,9 @@ def cray_linker_workaround(self):
8788

8889
@rfm.run_before('compile')
8990
def cdt2006_pgi_workaround(self):
90-
if (self.current_system.name == 'dom' and
91-
self.current_environ.name == 'PrgEnv-pgi'):
91+
cdt = os_ext.cray_cdt_version()
92+
if not cdt:
93+
return
94+
95+
if (self.current_environ.name == 'PrgEnv-pgi' and cdt == '20.06'):
9296
self.variables.update({'CUDA_HOME': '$CUDATOOLKIT_HOME'})

cscs-checks/mch/gpu_direct_acc.py

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

66
import os
77
import reframe as rfm
8+
import reframe.utility.os_ext as os_ext
89
import reframe.utility.sanity as sn
910

1011

@@ -83,6 +84,9 @@ def cray_linker_workaround(self):
8384

8485
@rfm.run_before('compile')
8586
def cdt2006_pgi_workaround(self):
86-
if (self.current_system.name == 'dom' and
87-
self.current_environ.name == 'PrgEnv-pgi'):
87+
cdt = os_ext.cray_cdt_version()
88+
if not cdt:
89+
return
90+
91+
if (self.current_environ.name == 'PrgEnv-pgi' and cdt == '20.06'):
8892
self.variables['CUDA_HOME'] = '$CUDATOOLKIT_HOME'

cscs-checks/mch/openacc_cuda_mpi_cppstd.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# SPDX-License-Identifier: BSD-3-Clause
55

66
import reframe as rfm
7+
import reframe.utility.os_ext as os_ext
78
import reframe.utility.sanity as sn
89

910

@@ -93,6 +94,9 @@ def setflags(self):
9394

9495
@rfm.run_before('compile')
9596
def cdt2006_pgi_workaround(self):
96-
if (self.current_system.name == 'dom' and
97-
self.current_environ.name == 'PrgEnv-pgi'):
97+
cdt = os_ext.cray_cdt_version()
98+
if not cdt:
99+
return
100+
101+
if (self.current_environ.name == 'PrgEnv-pgi' and cdt == '20.06'):
98102
self.variables.update({'CUDA_HOME': '$CUDATOOLKIT_HOME'})

cscs-checks/prgenv/openacc_checks.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# SPDX-License-Identifier: BSD-3-Clause
55

66
import reframe as rfm
7+
import reframe.utility.os_ext as os_ext
78
import reframe.utility.sanity as sn
89

910

@@ -77,6 +78,9 @@ def cray_linker_workaround(self):
7778

7879
@rfm.run_before('compile')
7980
def cdt2006_pgi_workaround(self):
80-
if (self.current_system.name == 'dom' and
81-
self.current_environ.name == 'PrgEnv-pgi'):
81+
cdt = os_ext.cray_cdt_version()
82+
if not cdt:
83+
return
84+
85+
if (self.current_environ.name == 'PrgEnv-pgi' and cdt == '20.06'):
8286
self.variables.update({'CUDA_HOME': '$CUDATOOLKIT_HOME'})

cscs-checks/prgenv/opencl_check.py

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

88
import reframe as rfm
9+
import reframe.utility.os_ext as os_ext
910
import reframe.utility.sanity as sn
1011

1112

@@ -31,6 +32,9 @@ def setflags(self):
3132

3233
@rfm.run_before('compile')
3334
def cdt2006_pgi_workaround(self):
34-
if (self.current_system.name == 'dom' and
35-
self.current_environ.name == 'PrgEnv-pgi'):
35+
cdt = os_ext.cray_cdt_version()
36+
if not cdt:
37+
return
38+
39+
if (self.current_environ.name == 'PrgEnv-pgi' and cdt == '20.06'):
3640
self.variables.update({'CUDA_HOME': '$CUDATOOLKIT_HOME'})

cscs-checks/system/slurm/slurm.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ def __init__(self):
100100
self.sanity_patterns = sn.assert_found(
101101
r'error: You have to specify, at least, what sort of node you '
102102
r'need: -C gpu for GPU enabled nodes, or -C mc for multicore '
103-
r'nodes.', self.stderr)
103+
r'nodes.|ERROR: you must specify -C with one of the following: '
104+
r'mc,gpu,storage', self.stderr)
104105

105106

106107
@rfm.simple_test
@@ -175,11 +176,8 @@ def __init__(self):
175176
@rfm.run_before('run')
176177
def set_slurm_constraint(self):
177178
cabinet = self.cabinets.get(self.current_partition.fullname)
178-
constraint = f'--constraint={self.current_partition.name}'
179179
if cabinet:
180-
constraint += f'&{cabinet}'
181-
182-
self.job.options += [constraint]
180+
self.job.options += [f'--constraint={cabinet}']
183181

184182

185183
@rfm.simple_test

0 commit comments

Comments
 (0)