Skip to content

Commit 3661d04

Browse files
authored
Merge branch 'master' into bugfix/cuda_samples
2 parents 335a7e4 + de03115 commit 3661d04

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

cscs-checks/microbenchmarks/cpu/stream/stream.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ def __init__(self):
2121
'arolla:cn', 'arolla:pn', 'tsa:cn', 'tsa:pn']
2222
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
2323
'PrgEnv-intel', 'PrgEnv-pgi',
24-
'PrgEnv-cray_classic']
24+
'PrgEnv-nvidia']
2525

2626
self.use_multithreading = False
2727

2828
self.prgenv_flags = {
29-
'PrgEnv-cray_classic': ['-homp', '-O3'],
3029
'PrgEnv-cray': ['-fopenmp', '-O3'],
3130
'PrgEnv-gnu': ['-fopenmp', '-O3'],
3231
'PrgEnv-intel': ['-qopenmp', '-O3'],
33-
'PrgEnv-pgi': ['-mp', '-O3']
32+
'PrgEnv-pgi': ['-mp', '-O3'],
33+
'PrgEnv-nvidia': ['-mp', '-O3']
3434
}
3535

3636
if self.current_system.name in ['arolla', 'tsa']:
@@ -64,12 +64,6 @@ def __init__(self):
6464
self.stdout, 'triad', float)
6565
}
6666
self.stream_bw_reference = {
67-
'PrgEnv-cray_classic': {
68-
'daint:gpu': {'triad': (57000, -0.05, None, 'MB/s')},
69-
'daint:mc': {'triad': (117000, -0.05, None, 'MB/s')},
70-
'dom:gpu': {'triad': (57000, -0.05, None, 'MB/s')},
71-
'dom:mc': {'triad': (117000, -0.05, None, 'MB/s')},
72-
},
7367
'PrgEnv-cray': {
7468
'daint:gpu': {'triad': (44000, -0.05, None, 'MB/s')},
7569
'daint:mc': {'triad': (89000, -0.05, None, 'MB/s')},

cscs-checks/prgenv/affinity_check.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
from reframe.core.exceptions import SanityError
1414

1515

16+
def add_prgenv_nvidia(self):
17+
cs = self.current_system.name
18+
if cs in {'daint', 'dom'}:
19+
self.valid_prog_environs += ['PrgEnv-nvidia']
20+
21+
1622
@rfm.simple_test
1723
class CompileAffinityTool(rfm.CompileOnlyRegressionTest):
1824
valid_systems = [
@@ -34,10 +40,21 @@ class CompileAffinityTool(rfm.CompileOnlyRegressionTest):
3440
maintainers = ['RS', 'SK']
3541
tags = {'production', 'scs', 'maintenance', 'craype'}
3642

43+
run_after('init')(bind(add_prgenv_nvidia))
44+
3745
@run_before('compile')
3846
def set_build_opts(self):
3947
self.build_system.options = ['-C affinity', 'MPI=1']
4048

49+
@run_before('compile')
50+
def prgenv_nvidia_workaround(self):
51+
cs = self.current_system.name
52+
ce = self.current_environ.name
53+
if ce == 'PrgEnv-nvidia' and cs == 'dom':
54+
self.build_system.cppflags = [
55+
'-D__GCC_ATOMIC_TEST_AND_SET_TRUEVAL'
56+
]
57+
4158
@run_before('sanity')
4259
def assert_exec_exists(self):
4360
self.sanity_patterns = sn.assert_found(r'affinity', self.stdout)
@@ -106,6 +123,8 @@ class to figure out the processor's topology. The content of this reference
106123
maintainers = ['RS', 'SK']
107124
tags = {'production', 'scs', 'maintenance', 'craype'}
108125

126+
run_after('init')(bind(add_prgenv_nvidia))
127+
109128
@run_after('init')
110129
def set_deps(self):
111130
self.depends_on('CompileAffinityTool')

reframe/core/buildsystems.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414

1515
class _UndefinedType:
1616
'''Used as an initial value for undefined values instead of None.'''
17+
__slots__ = ()
18+
19+
def __deepcopy__(self, memo):
20+
return self
1721

1822

1923
_Undefined = _UndefinedType()

0 commit comments

Comments
 (0)