Skip to content

Commit c89195e

Browse files
author
Vasileios Karakasis
committed
Merge branch 'master' into feat/skip-tests
2 parents 50e84ce + c253dcf commit c89195e

File tree

27 files changed

+783
-209
lines changed

27 files changed

+783
-209
lines changed

cscs-checks/apps/jupyter/check_ipcmagic.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,10 @@ def __init__(self):
1515
self.descr = 'Distributed training with TensorFlow using ipyparallel'
1616
self.valid_systems = ['daint:gpu', 'dom:gpu']
1717
self.valid_prog_environs = ['PrgEnv-gnu']
18-
cray_cdt_version = osext.cray_cdt_version()
19-
# FIXME: The following will not be needed after the Daint upgrade
20-
if self.current_system.name == 'dom':
21-
self.modules = [
22-
'ipcmagic',
23-
f'Horovod/0.21.0-CrayGNU-{cray_cdt_version}-tf-2.4.0'
24-
]
25-
else:
26-
self.modules = [
27-
'ipcmagic',
28-
'Horovod/0.19.1-CrayGNU-20.08-tf-2.2.0'
29-
]
30-
18+
self.modules = [
19+
f'ipcmagic',
20+
f'Horovod/0.21.0-CrayGNU-{osext.cray_cdt_version()}-tf-2.4.0'
21+
]
3122
self.num_tasks = 2
3223
self.num_tasks_per_node = 1
3324
self.executable = 'ipython'

cscs-checks/apps/quantumespresso/quantumespresso_check.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88

99

1010
class QuantumESPRESSOCheck(rfm.RunOnlyRegressionTest):
11+
scale = parameter(['small', 'large'])
12+
variant = parameter(['maint', 'prod'])
13+
1114
def __init__(self):
1215
if self.current_system.name == 'pilatus':
1316
self.valid_prog_environs = ['cpeGNU']
@@ -37,15 +40,14 @@ def __init__(self):
3740
}
3841

3942

40-
@rfm.parameterized_test(*([s, v]
41-
for s in ['small', 'large']
42-
for v in ['maint', 'prod']))
43+
@rfm.simple_test
4344
class QuantumESPRESSOCpuCheck(QuantumESPRESSOCheck):
44-
def __init__(self, scale, variant):
45+
def __init__(self):
4546
super().__init__()
46-
self.descr = f'QuantumESPRESSO CPU check (version: {scale}, {variant})'
47+
self.descr = (f'QuantumESPRESSO CPU check (version: {self.scale}, '
48+
f'{self.variant})')
4749
self.valid_systems = ['daint:mc', 'eiger:mc', 'pilatus:mc']
48-
if scale == 'small':
50+
if self.scale == 'small':
4951
self.valid_systems += ['dom:mc']
5052
energy_reference = -11427.09017218
5153
if self.current_system.name in ['daint', 'dom']:
@@ -86,8 +88,6 @@ def __init__(self, scale, variant):
8688
energy_diff = sn.abs(energy-energy_reference)
8789
self.sanity_patterns = sn.all([
8890
self.sanity_patterns,
89-
# FIXME temporarily increase energy difference
90-
# (different QE default on Dom and Daint)
9191
sn.assert_lt(energy_diff, 1e-6)
9292
])
9393

@@ -120,8 +120,10 @@ def __init__(self, scale, variant):
120120
}
121121
}
122122

123-
self.reference = references[variant][scale]
124-
self.tags |= {'maintenance' if variant == 'maint' else 'production'}
123+
self.reference = references[self.variant][self.scale]
124+
self.tags |= {
125+
'maintenance' if self.variant == 'maint' else 'production'
126+
}
125127

126128
@rfm.run_before('run')
127129
def set_task_distribution(self):
@@ -132,16 +134,15 @@ def set_cpu_binding(self):
132134
self.job.launcher.options = ['--cpu-bind=cores']
133135

134136

135-
@rfm.parameterized_test(*([s, v]
136-
for s in ['small', 'large']
137-
for v in ['maint', 'prod']))
137+
@rfm.simple_test
138138
class QuantumESPRESSOGpuCheck(QuantumESPRESSOCheck):
139-
def __init__(self, scale, variant):
139+
def __init__(self):
140140
super().__init__()
141-
self.descr = f'QuantumESPRESSO GPU check (version: {scale}, {variant})'
141+
self.descr = (f'QuantumESPRESSO GPU check (version: {self.scale}, '
142+
f'{self.variant})')
142143
self.valid_systems = ['daint:gpu']
143144
self.num_gpus_per_node = 1
144-
if scale == 'small':
145+
if self.scale == 'small':
145146
self.valid_systems += ['dom:gpu']
146147
self.num_tasks = 6
147148
energy_reference = -11427.09017168
@@ -157,8 +158,6 @@ def __init__(self, scale, variant):
157158
energy_diff = sn.abs(energy-energy_reference)
158159
self.sanity_patterns = sn.all([
159160
self.sanity_patterns,
160-
# FIXME temporarily increase energy difference
161-
# (different CUDA default on Dom and Daint)
162161
sn.assert_lt(energy_diff, 1e-7)
163162
])
164163

@@ -183,5 +182,7 @@ def __init__(self, scale, variant):
183182
}
184183
}
185184

186-
self.reference = references[variant][scale]
187-
self.tags |= {'maintenance' if variant == 'maint' else 'production'}
185+
self.reference = references[self.variant][self.scale]
186+
self.tags |= {
187+
'maintenance' if self.variant == 'maint' else 'production'
188+
}

cscs-checks/apps/tensorflow/tf2_horovod_check.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,21 @@
88
import reframe.utility.osext as osext
99

1010

11-
@rfm.parameterized_test(['small'], ['large'])
11+
@rfm.simple_test
1212
class TensorFlow2HorovodTest(rfm.RunOnlyRegressionTest):
13-
def __init__(self, variant):
13+
variant = parameter(['small', 'large'])
14+
15+
def __init__(self):
1416
self.descr = 'Distributed training with TensorFlow2 and Horovod'
1517
self.valid_systems = ['daint:gpu']
1618
self.valid_prog_environs = ['builtin']
17-
18-
cray_cdt_version = osext.cray_cdt_version()
19-
# FIXME: The following will not be needed after the Daint upgrade
20-
if self.current_system.name == 'dom':
21-
self.modules = [
22-
f'Horovod/0.21.0-CrayGNU-{cray_cdt_version}-tf-2.4.0'
23-
]
24-
else:
25-
self.modules = ['Horovod/0.19.1-CrayGNU-20.08-tf-2.2.0']
26-
19+
self.modules = [
20+
f'Horovod/0.21.0-CrayGNU-{osext.cray_cdt_version()}-tf-2.4.0'
21+
]
2722
self.sourcesdir = None
2823
self.num_tasks_per_node = 1
2924
self.num_cpus_per_task = 12
30-
if variant == 'small':
25+
if self.variant == 'small':
3126
self.valid_systems += ['dom:gpu']
3227
self.num_tasks = 8
3328
self.reference = {

cscs-checks/compile/libsci_acc_symlink.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,30 @@
99
import reframe.utility.sanity as sn
1010

1111

12-
# FIXME: Remove the 71 entries after daint upgrade
13-
@rfm.parameterized_test(['libsci_acc_gnu_81_nv35'],
14-
['libsci_acc_gnu_81_nv60'],
15-
['libsci_acc_cray_nv35'],
16-
['libsci_acc_cray_nv60'],
17-
['libsci_acc_cray_nv35_openacc'],
18-
['libsci_acc_cray_nv60_openacc'])
12+
@rfm.simple_test
1913
class LibSciAccSymLinkTest(rfm.RunOnlyRegressionTest):
20-
def __init__(self, lib_name):
21-
self.descr = 'LibSciAcc symlink check of %s' % lib_name
14+
lib_name = parameter([
15+
'libsci_acc_gnu_81_nv35', 'libsci_acc_gnu_81_nv60',
16+
'libsci_acc_cray_nv35', 'libsci_acc_cray_nv60',
17+
'libsci_acc_cray_nv35_openacc', 'libsci_acc_cray_nv60_openacc'
18+
])
19+
20+
def __init__(self):
21+
self.descr = f'LibSciAcc symlink check of {self.lib_name}'
2222
self.valid_systems = [
2323
'daint:login', 'daint:gpu',
2424
'dom:login', 'dom:gpu',
2525
]
2626
regex = (r'libsci_acc_(?P<prgenv>[A-Za-z]+)_((?P<cver>[A-Za-z0-9]+)_)'
2727
r'?(?P<version>\S+)')
28-
prgenv = re.match(regex, lib_name).group('prgenv')
28+
prgenv = re.match(regex, self.lib_name).group('prgenv')
2929

3030
# The prgenv is irrelevant for this case, so just chose one
3131
self.valid_prog_environs = ['builtin']
3232
self.executable = 'ls'
3333
self.executable_opts = ['-al', '/opt/cray/pe/lib64/libsci_a*']
34-
self.sanity_patterns = sn.assert_found(f'{lib_name}.so', self.stdout)
34+
self.sanity_patterns = sn.assert_found(f'{self.lib_name}.so',
35+
self.stdout)
3536

3637
self.maintainers = ['AJ', 'LM']
3738
self.tags = {'production', 'craype', 'health'}

cscs-checks/libraries/io/h5py_parallel_run.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ def __init__(self):
2323
self.executable = 'python'
2424
self.executable_opts = ['h5py_mpi_test.py']
2525
self.postrun_cmds = ['h5dump parallel_test.hdf5']
26+
self.tags = {'health'}
2627
self.maintainers = ['TM']

cscs-checks/libraries/io/hdf5_compile_run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,4 @@ def __init__(self, lang, linkage):
8080
self.postrun_cmds = ['h5dump h5ex_d_chunk.h5 > h5dump_out.txt']
8181

8282
self.maintainers = ['SO', 'RS']
83-
self.tags = {'production', 'craype'}
83+
self.tags = {'production', 'craype', 'health'}

cscs-checks/libraries/io/netcdf_compile_run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def __init__(self, lang, linkage):
4747
self.num_tasks_per_node = 1
4848
self.sanity_patterns = sn.assert_found(r'SUCCESS', self.stdout)
4949
self.maintainers = ['AJ', 'SO']
50-
self.tags = {'production', 'craype', 'external-resources'}
50+
self.tags = {'production', 'craype', 'external-resources', 'health'}
5151

5252
@rfm.run_before('compile')
5353
def setflags(self):

cscs-checks/libraries/math/scalapack_compile_run.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,13 @@
33
#
44
# SPDX-License-Identifier: BSD-3-Clause
55

6-
import os
7-
86
import reframe as rfm
97
import reframe.utility.sanity as sn
108

119

1210
class ScaLAPACKTest(rfm.RegressionTest):
1311
def __init__(self, linkage):
1412
self.linkage = linkage
15-
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
16-
'scalapack')
1713
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:mc', 'dom:gpu']
1814
if self.linkage == 'dynamic':
1915
self.valid_systems.append('eiger:mc')
@@ -33,7 +29,7 @@ def __init__(self, linkage):
3329
class ScaLAPACKSanity(ScaLAPACKTest):
3430
def __init__(self, linkage):
3531
super().__init__(linkage)
36-
self.sourcepath = 'scalapack_compile_run.f'
32+
self.sourcepath = 'sample_pdsyev_call.f'
3733

3834
def fortran_float(value):
3935
return float(value.replace('D', 'E'))

0 commit comments

Comments
 (0)