Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ee2b10f
Update tests with the new syntax using decorators
ekouts Feb 13, 2020
1fe68e1
Fix indentation in spark check
ekouts Feb 13, 2020
46e3e3e
Fix issues in tests
ekouts Feb 14, 2020
f84eee9
Add cuda tests
ekouts Feb 14, 2020
172a202
Add HPX tests
ekouts Feb 14, 2020
0aa140a
Add magma tests
ekouts Feb 14, 2020
989ae24
Add gridtools tests
ekouts Feb 14, 2020
32d8f94
Merge branch 'master' of https://github.com/eth-cscs/reframe into che…
ekouts Feb 17, 2020
41711b2
Add mch tests
ekouts Feb 17, 2020
0e6b773
Add microbenchmarks tests
ekouts Feb 17, 2020
4e1ddae
Add prgenv tests
ekouts Feb 17, 2020
b8e8456
Add system tests
ekouts Feb 17, 2020
c5fb545
Fix format issues
ekouts Feb 18, 2020
be5c9c7
Add io tools tests
ekouts Feb 18, 2020
bb7cdd2
Merge branch 'master' of https://github.com/eth-cscs/reframe into che…
ekouts Feb 19, 2020
b5d4f48
Merge branch 'master' of https://github.com/eth-cscs/reframe into che…
ekouts Feb 19, 2020
de6f3f8
Update 'apps' checks to new syntax
Feb 19, 2020
aab9ebe
Rename hook method to 'setsanity'
Feb 19, 2020
16b19b3
Merge pull request #1 from teojgo/check/update_syntax
ekouts Feb 19, 2020
e0cfafe
Fix and rename some hooks
ekouts Feb 19, 2020
88b1d0e
Merge branch 'check/update_syntax' of https://github.com/ekouts/refra…
ekouts Feb 19, 2020
cc614c1
Fix long lines
ekouts Feb 19, 2020
79224df
Merge branch 'master' into check/update_syntax
Feb 20, 2020
65b3919
Address PR comments
ekouts Feb 21, 2020
8565e52
Merge branch 'master' of https://github.com/eth-cscs/reframe into che…
ekouts Feb 21, 2020
9ac4fcf
Merge branch 'check/update_syntax' of https://github.com/ekouts/refra…
ekouts Feb 21, 2020
e999408
Rename hook for consistency
ekouts Feb 21, 2020
771a3bb
Address PR comments
ekouts Feb 21, 2020
d02d23a
Update collectives_halo syntax
ekouts Feb 21, 2020
cb82f47
Merge branch 'master' into check/update_syntax
Feb 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions cscs-checks/analytics/spark/spark_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
@rfm.simple_test
class SparkAnalyticsCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
super().__init__()
self.descr = 'Simple calculation of pi with Spark'
self.valid_systems = ['daint:gpu', 'daint:mc']
self.valid_prog_environs = ['PrgEnv-cray']
Expand All @@ -26,17 +25,19 @@ def __init__(self):
self.stdout, 'pi', float)
self.sanity_patterns = sn.assert_lt(sn.abs(pi_value - math.pi), 0.01)
self.maintainers = ['TM', 'TR']
self.tags = {'production', 'craype'}
self.tags = {'craype'}

def setup(self, partition, environ, **job_opts):
if partition.fullname == 'daint:gpu':
@rfm.run_after('setup')
def set_num_tasks(self):
if self.current_partition.fullname == 'daint:gpu':
self.num_tasks = 48
self.num_tasks_per_node = 12
else:
self.num_tasks = 72
self.num_tasks_per_node = 18

super().setup(partition, environ, **job_opts)
@rfm.run_before('run')
def set_launcher(self):
# The job launcher has to be changed since the `start_analytics`
# script is not used with srun.
self.job.launcher = getlauncher('local')()
3 changes: 0 additions & 3 deletions cscs-checks/apps/amber/amber_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,8 @@

class AmberBaseCheck(rfm.RunOnlyRegressionTest):
def __init__(self, input_file, output_file):
super().__init__()

self.sourcesdir = os.path.join(self.current_system.resourcesdir,
'Amber')

self.valid_prog_environs = ['PrgEnv-gnu']
self.modules = ['Amber']
self.num_tasks = 1
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/apps/cp2k/cp2k_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

class Cp2kCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
super().__init__()
self.valid_prog_environs = ['PrgEnv-gnu']
self.executable = 'cp2k.psmp'
self.executable_opts = ['H2O-256.inp']
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/apps/cpmd/cpmd_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
@rfm.parameterized_test(['small'], ['large'])
class CPMDCheck(rfm.RunOnlyRegressionTest):
def __init__(self, scale):
super().__init__()
self.descr = 'CPMD check (C4H6 metadynamics)'
self.maintainers = ['AJ', 'LM']
self.tags = {'production'}
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/apps/espresso/espresso_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
@rfm.parameterized_test(['small'], ['large'])
class QECheck(rfm.RunOnlyRegressionTest):
def __init__(self, scale):
super().__init__()
self.descr = 'Quantum Espresso CPU check'
self.maintainers = ['LM', 'CB']
self.tags = {'scs', 'production', 'external-resources'}
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/apps/icon/rrtmgp_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ class RRTMGPTest(rfm.RegressionTest):
'''This is an outdated PoC test for ICON-RRTMGP.'''

def __init__(self):
super().__init__()
self.valid_systems = ['dom:gpu', 'daint:gpu']
self.valid_prog_environs = ['PrgEnv-pgi']
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/apps/lammps/lammps_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

class LAMMPSBaseCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
super().__init__()
self.valid_prog_environs = ['PrgEnv-gnu']
self.modules = ['LAMMPS']

Expand Down
5 changes: 2 additions & 3 deletions cscs-checks/apps/namd/namd_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

class NamdBaseCheck(rfm.RunOnlyRegressionTest):
def __init__(self, arch, scale, variant):
super().__init__()
self.descr = 'NAMD check (%s, %s)' % (arch, variant)
self.valid_prog_environs = ['PrgEnv-intel']
self.modules = ['NAMD']
Expand Down Expand Up @@ -43,8 +42,8 @@ def __init__(self, arch, scale, variant):

self.perf_patterns = {
'days_ns': sn.avg(sn.extractall(
'Info: Benchmark time: \S+ CPUs \S+ '
's/step (?P<days_ns>\S+) days/ns \S+ MB memory',
r'Info: Benchmark time: \S+ CPUs \S+ '
r's/step (?P<days_ns>\S+) days/ns \S+ MB memory',
self.stdout, 'days_ns', float))
}

Expand Down
36 changes: 12 additions & 24 deletions cscs-checks/apps/paraview/paraview_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
@rfm.simple_test
class ParaViewCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
super().__init__()
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc']
self.valid_prog_environs = ['PrgEnv-gnu']
self.num_tasks = 12
Expand All @@ -24,26 +23,15 @@ def __init__(self):
self.maintainers = ['JF']
self.tags = {'scs', 'production'}

def setup(self, partition, environ, **job_opts):
if partition.fullname == 'daint:mc':
self.sanity_patterns = sn.assert_found('Vendor: VMware, Inc.',
self.stdout)
self.sanity_patterns = sn.assert_found('Renderer: llvmpipe',
self.stdout)
elif partition.fullname == 'daint:gpu':
self.sanity_patterns = sn.assert_found(
'Vendor: NVIDIA Corporation', self.stdout)
self.sanity_patterns = sn.assert_found('Renderer: Tesla P100',
self.stdout)
elif partition.fullname == 'dom:gpu':
self.sanity_patterns = sn.assert_found(
'Vendor: NVIDIA Corporation', self.stdout)
self.sanity_patterns = sn.assert_found('Renderer: Tesla P100',
self.stdout)
elif partition.fullname == 'dom:mc':
self.sanity_patterns = sn.assert_found('Vendor: VMware, Inc.',
self.stdout)
self.sanity_patterns = sn.assert_found('Renderer: llvmpipe',
self.stdout)

super().setup(partition, environ, **job_opts)
@rfm.run_before('sanity')
def set_sanity(self):
if self.current_partition.name == 'mc':
self.sanity_patterns = sn.all([
sn.assert_found('Vendor: VMware, Inc.', self.stdout),
sn.assert_found('Renderer: llvmpipe', self.stdout)
])
elif self.current_partition.name == 'gpu':
self.sanity_patterns = sn.all([
sn.assert_found('Vendor: NVIDIA Corporation', self.stdout),
sn.assert_found('Renderer: Tesla P100', self.stdout)
])
9 changes: 4 additions & 5 deletions cscs-checks/compile/haswell_fma_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
@rfm.simple_test
class HaswellFmaCheck(rfm.CompileOnlyRegressionTest):
def __init__(self):
super().__init__()
self.descr = 'check for avx2 instructions'
self.valid_systems = ['dom:login', 'daint:login', 'kesch:login']
if self.current_system.name == 'kesch':
Expand Down Expand Up @@ -41,9 +40,10 @@ def __init__(self):
self.maintainers = ['AJ', 'CB']
self.tags = {'production', 'craype'}

def setup(self, partition, environ, **job_opts):
@rfm.run_before('compile')
def setflags(self):
if self.current_system.name == 'kesch':
if environ.name.startswith('PrgEnv-cray'):
if self.current_environ.name.startswith('PrgEnv-cray'):
# Ignore CPATH warning
self.build_system.cflags += ['-h nomessage=1254']
self.build_system.cxxflags += ['-h nomessage=1254']
Expand All @@ -52,8 +52,7 @@ def setup(self, partition, environ, **job_opts):
self.build_system.cxxflags += ['-march=native']
self.build_system.fflags += ['-march=native']
else:
if environ.name == 'PrgEnv-cray':
if self.current_environ.name == 'PrgEnv-cray':
self.build_system.cflags = ['-Ofast', '-S']
self.build_system.cxxflags = ['-Ofast', '-S']

super().setup(partition, environ, **job_opts)
1 change: 0 additions & 1 deletion cscs-checks/compile/libsci_acc_symlink.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
['libsci_acc_cray_nv60_openacc'])
class LibSciAccSymLinkTest(rfm.RunOnlyRegressionTest):
def __init__(self, lib_name):
super().__init__()
self.descr = 'LibSciAcc symlink check of %s' % lib_name
self.valid_systems = ['daint:login', 'daint:gpu',
'dom:login', 'dom:gpu',
Expand Down
6 changes: 2 additions & 4 deletions cscs-checks/compile/libsci_resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

class LibSciResolveBaseTest(rfm.CompileOnlyRegressionTest):
def __init__(self):
super().__init__()
self.sourcesdir = 'src/libsci_resolve'
self.sourcepath = 'libsci_resolve.f90'
self.valid_systems = ['daint:login', 'daint:gpu',
Expand Down Expand Up @@ -52,9 +51,8 @@ def __init__(self, module_name):
# self.build_system.fflags = ['-Wl,-ydgemm_']
self.postbuild_cmd = ['readelf -d %s' % self.executable]

def setup(self, partition, environ, **job_opts):
super().setup(partition, environ, **job_opts)

@rfm.run_before('sanity')
def set_sanity(self):
# here lib_name is in the format: libsci_acc_gnu_48_nv35.so or
# libsci_acc_cray_nv35.so
regex = (r'.*\(NEEDED\).*libsci_acc_(?P<prgenv>[A-Za-z]+)_'
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/cuda/cuda_memtest_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
@rfm.simple_test
class CudaMemtest(rfm.RegressionTest):
def __init__(self):
super().__init__()
self.valid_systems = ['daint:gpu', 'dom:gpu', 'tiger:gpu']
self.valid_prog_environs = ['PrgEnv-cray']
self.descr = 'Flexible CUDA Memtest'
Expand Down
1 change: 0 additions & 1 deletion cscs-checks/cuda/nvml_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class NvmlCheck(rfm.RegressionTest):
'''

def __init__(self):
super().__init__()
self.descr = 'check GPU compute mode'
self.valid_systems = ['daint:gpu', 'dom:gpu', 'tiger:gpu']
self.valid_prog_environs = ['PrgEnv-gnu']
Expand Down
18 changes: 0 additions & 18 deletions cscs-checks/libraries/gridtools/gridtools_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,6 @@ def __init__(self, variant):
},
'dom:gpu': {
'wall_time': (3800, None, 0.1, 'ms')
},
'*': {
'wall_time': (0, None, None, 'ms')
}
}
},
Expand All @@ -111,9 +108,6 @@ def __init__(self, variant):
},
'dom:gpu': {
'wall_time': (3700, None, 0.1, 'ms')
},
'*': {
'wall_time': (0, None, None, 'ms')
}
}
},
Expand All @@ -131,9 +125,6 @@ def __init__(self, variant):
},
'dom:gpu': {
'wall_time': (3700, None, 0.1, 'ms')
},
'*': {
'wall_time': (0, None, None, 'ms')
}
}
},
Expand All @@ -151,9 +142,6 @@ def __init__(self, variant):
},
'dom:gpu': {
'wall_time': (3700, None, 0.1, 'ms')
},
'*': {
'wall_time': (0, None, None, 'ms')
}
}
},
Expand All @@ -165,9 +153,6 @@ def __init__(self, variant):
},
'dom:gpu': {
'wall_time': (12000, None, 0.1, 'ms')
},
'*': {
'wall_time': (0, None, None, 'ms')
}
}
},
Expand All @@ -179,9 +164,6 @@ def __init__(self, variant):
},
'dom:gpu': {
'wall_time': (19000, None, 0.1, 'ms')
},
'*': {
'wall_time': (0, None, None, 'ms')
}
}
}
Expand Down
25 changes: 13 additions & 12 deletions cscs-checks/libraries/hpx/hpx_hello_world.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@
@rfm.simple_test
class HelloWorldHPXCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
super().__init__()

self.descr = 'HPX hello, world check'
self.valid_systems = ['daint:gpu, daint:mc', 'dom:gpu', 'dom:mc']
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc']
self.valid_prog_environs = ['PrgEnv-gnu']

self.modules = ['HPX']
Expand All @@ -25,29 +23,33 @@ def __init__(self):
self.tags = {'production'}
self.maintainers = ['VH', 'JG']

def setup(self, partition, environ, **job_opts):
hellos = sn.findall(r'hello world from OS-thread \s*(?P<tid>\d+) on '
r'locality (?P<lid>\d+)', self.stdout)

if partition.fullname == 'daint:gpu':
@rfm.run_after('setup')
def set_tasks(self):
if self.current_partition.fullname == 'daint:gpu':
self.num_tasks = 2
self.num_tasks_per_node = 1
self.num_cpus_per_task = 12
elif partition.fullname == 'daint:mc':
elif self.current_partition.fullname == 'daint:mc':
self.num_tasks = 2
self.num_tasks_per_node = 1
self.num_cpus_per_task = 36
elif partition.fullname == 'dom:gpu':
elif self.current_partition.fullname == 'dom:gpu':
self.num_tasks = 2
self.num_tasks_per_node = 1
self.num_cpus_per_task = 12
elif partition.fullname == 'dom:mc':
elif self.current_partition.fullname == 'dom:mc':
self.num_tasks = 2
self.num_tasks_per_node = 1
self.num_cpus_per_task = 36

@rfm.run_before('run')
def set_exec_opts(self):
self.executable_opts = ['--hpx:threads=%s' % self.num_cpus_per_task]

@rfm.run_before('sanity')
def set_sanity(self):
hellos = sn.findall(r'hello world from OS-thread \s*(?P<tid>\d+) on '
r'locality (?P<lid>\d+)', self.stdout)
# https://stellar-group.github.io/hpx/docs/sphinx/branches/master/html/terminology.html#term-locality
num_localities = self.num_tasks // self.num_tasks_per_node
assert_num_tasks = sn.assert_eq(sn.count(hellos),
Expand All @@ -61,4 +63,3 @@ def setup(self, partition, environ, **job_opts):
assert_threads,
assert_localities))

super().setup(partition, environ, **job_opts)
Loading