Skip to content

Commit 1f452eb

Browse files
author
Vasileios Karakasis
authored
Merge branch 'master' into eiger/ulimit
2 parents 1a614f6 + 0deffa3 commit 1f452eb

File tree

1 file changed

+46
-9
lines changed

1 file changed

+46
-9
lines changed

cscs-checks/apps/quantumespresso/quantumespresso_check.py

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,43 @@ class QuantumESPRESSOCpuCheck(QuantumESPRESSOCheck):
3939
def __init__(self, scale, variant):
4040
super().__init__()
4141
self.descr = f'QuantumESPRESSO CPU check (version: {scale}, {variant})'
42-
self.valid_systems = ['daint:mc']
42+
self.valid_systems = ['daint:mc', 'eiger:mc']
4343
self.modules = ['QuantumESPRESSO']
4444
if scale == 'small':
4545
self.valid_systems += ['dom:mc']
46-
self.num_tasks = 216
4746
energy_reference = -11427.09017218
47+
if self.current_system.name in ['daint', 'dom']:
48+
self.num_tasks = 216
49+
self.num_tasks_per_node = 36
50+
elif self.current_system.name == 'eiger':
51+
self.num_tasks = 96
52+
self.num_tasks_per_node = 16
53+
self.num_cpus_per_task = 16
54+
self.num_tasks_per_core = 1
55+
self.use_multithreading = False
56+
self.variables = {
57+
'MPICH_OFI_STARTUP_CONNECT': '1',
58+
'OMP_NUM_THREADS': '8',
59+
'OMP_PLACES': 'cores',
60+
'OMP_PROC_BIND': 'close'
61+
}
4862
else:
49-
self.num_tasks = 576
5063
energy_reference = -11427.09017152
51-
52-
self.num_tasks_per_node = 36
64+
if self.current_system.name in ['daint']:
65+
self.num_tasks = 576
66+
self.num_tasks_per_node = 36
67+
elif self.current_system.name in ['eiger']:
68+
self.num_tasks = 256
69+
self.num_tasks_per_node = 16
70+
self.num_cpus_per_task = 16
71+
self.num_tasks_per_core = 1
72+
self.use_multithreading = False
73+
self.variables = {
74+
'MPICH_OFI_STARTUP_CONNECT': '1',
75+
'OMP_NUM_THREADS': '8',
76+
'OMP_PLACES': 'cores',
77+
'OMP_PROC_BIND': 'close'
78+
}
5379

5480
energy = sn.extractsingle(r'!\s+total energy\s+=\s+(?P<energy>\S+) Ry',
5581
self.stdout, 'energy', float)
@@ -65,26 +91,37 @@ def __init__(self, scale, variant):
6591
'maint': {
6692
'small': {
6793
'dom:mc': {'time': (115.0, None, 0.05, 's')},
68-
'daint:mc': {'time': (115.0, None, 0.10, 's')}
94+
'daint:mc': {'time': (115.0, None, 0.10, 's')},
95+
'eiger:mc': {'time': (66.0, None, 0.10, 's')}
6996
},
7097
'large': {
71-
'daint:mc': {'time': (115.0, None, 0.10, 's')}
98+
'daint:mc': {'time': (115.0, None, 0.10, 's')},
99+
'eiger:mc': {'time': (53.0, None, 0.10, 's')}
72100
}
73101
},
74102
'prod': {
75103
'small': {
76104
'dom:mc': {'time': (115.0, None, 0.05, 's')},
77-
'daint:mc': {'time': (115.0, None, 0.10, 's')}
105+
'daint:mc': {'time': (115.0, None, 0.10, 's')},
106+
'eiger:mc': {'time': (66.0, None, 0.10, 's')}
78107
},
79108
'large': {
80-
'daint:mc': {'time': (115.0, None, 0.10, 's')}
109+
'daint:mc': {'time': (115.0, None, 0.10, 's')},
110+
'eiger:mc': {'time': (53.0, None, 0.10, 's')}
81111
}
82112
}
83113
}
84114

85115
self.reference = references[variant][scale]
86116
self.tags |= {'maintenance' if variant == 'maint' else 'production'}
87117

118+
@rfm.run_before('run')
119+
def set_task_distribution(self):
120+
self.job.options = ['--distribution=block:block']
121+
122+
@rfm.run_before('run')
123+
def set_cpu_binding(self):
124+
self.job.launcher.options = ['--cpu-bind=cores']
88125

89126
@rfm.parameterized_test(*([s, v]
90127
for s in ['small', 'large']

0 commit comments

Comments
 (0)