Skip to content

Commit 09e71ee

Browse files
authored
Merge branch 'master' into bugfix/serial-policy-crash
2 parents 191f41f + 74ef999 commit 09e71ee

File tree

1 file changed

+47
-22
lines changed

1 file changed

+47
-22
lines changed

cscs-checks/apps/namd/namd_check.py

Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55

66

77
class NamdBaseCheck(RunOnlyRegressionTest):
8-
def __init__(self, variant='cpu', **kwargs):
8+
def __init__(self, variant, **kwargs):
99
super().__init__('namd_%s_check' % variant,
1010
os.path.dirname(__file__), **kwargs)
1111
self.descr = 'NAMD 2.11 check (%s)' % variant
1212

13-
self.valid_systems = ['daint:mc', 'dom:mc']
1413
self.valid_prog_environs = ['PrgEnv-intel']
1514

1615
self.modules = ['NAMD']
@@ -19,17 +18,6 @@ def __init__(self, variant='cpu', **kwargs):
1918
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
2019
'NAMD')
2120
self.executable = 'namd2'
22-
self.executable_opts = '+idlepoll +ppn 71 stmv.namd'.split()
23-
24-
self.use_multithreading = True
25-
self.num_cpus_per_task = 72
26-
self.num_tasks_per_core = 2
27-
if self.current_system.name == 'dom':
28-
self.num_tasks = 6
29-
self.num_tasks_per_node = 1
30-
else:
31-
self.num_tasks = 16
32-
self.num_tasks_per_node = 1
3321

3422
energy = sn.avg(sn.extractall(r'ENERGY:(\s+\S+){10}\s+(?P<energy>\S+)',
3523
self.stdout, 'energy', float))
@@ -41,14 +29,6 @@ def __init__(self, variant='cpu', **kwargs):
4129
self.stdout, 'step_num')), 50),
4230
sn.assert_lt(energy_diff, 2720)
4331
])
44-
self.reference = {
45-
'dom:mc': {
46-
'days_ns': (0.49, None, 0.05),
47-
},
48-
'daint:mc': {
49-
'days_ns': (0.27, None, 0.05),
50-
},
51-
}
5232

5333
self.perf_patterns = {
5434
'days_ns': sn.avg(sn.extractall(
@@ -106,7 +86,52 @@ def __init__(self, **kwargs):
10686
}
10787

10888

89+
class NamdCPUCheck(NamdBaseCheck):
90+
def __init__(self, version, **kwargs):
91+
super().__init__('cpu_%s' % version, **kwargs)
92+
self.valid_systems = ['daint:mc', 'dom:mc']
93+
self.executable_opts = '+idlepoll +ppn 71 stmv.namd'.split()
94+
self.use_multithreading = True
95+
self.num_cpus_per_task = 72
96+
self.num_tasks_per_core = 2
97+
if self.current_system.name == 'dom':
98+
self.num_tasks = 6
99+
self.num_tasks_per_node = 1
100+
else:
101+
self.num_tasks = 16
102+
self.num_tasks_per_node = 1
103+
104+
105+
class NamdCPUProdCheck(NamdCPUCheck):
106+
def __init__(self, **kwargs):
107+
super().__init__('prod', **kwargs)
108+
self.tags |= {'production'}
109+
self.reference = {
110+
'dom:mc': {
111+
'days_ns': (0.49, None, 0.05),
112+
},
113+
'daint:mc': {
114+
'days_ns': (0.27, None, 0.05),
115+
},
116+
}
117+
118+
119+
class NamdCPUMaintCheck(NamdCPUCheck):
120+
def __init__(self, **kwargs):
121+
super().__init__('maint', **kwargs)
122+
self.tags |= {'maintenance'}
123+
self.reference = {
124+
'dom:mc': {
125+
'days_ns': (0.49, None, 0.05),
126+
},
127+
'daint:mc': {
128+
'days_ns': (0.27, None, 0.05),
129+
},
130+
}
131+
132+
109133
def _get_checks(**kwargs):
110-
return [NamdBaseCheck(**kwargs),
134+
return [NamdCPUProdCheck(**kwargs),
135+
NamdCPUMaintCheck(**kwargs),
111136
NamdGPUProdCheck(**kwargs),
112137
NamdGPUMaintCheck(**kwargs)]

0 commit comments

Comments
 (0)