diff --git a/cscs-checks/apps/amber/amber_check.py b/cscs-checks/apps/amber/amber_check.py index d7d9b7948f..7cc0b65bd1 100644 --- a/cscs-checks/apps/amber/amber_check.py +++ b/cscs-checks/apps/amber/amber_check.py @@ -43,7 +43,6 @@ def __init__(self, input_file, output_file): self.tags = {'scs', 'external-resources'} -@rfm.required_version('>=2.16') @rfm.parameterized_test(*( [variant, arch, scale] for variant in ['prod', 'maint'] diff --git a/cscs-checks/apps/cp2k/cp2k_check.py b/cscs-checks/apps/cp2k/cp2k_check.py index 557e42dd71..2ba8b51c1a 100644 --- a/cscs-checks/apps/cp2k/cp2k_check.py +++ b/cscs-checks/apps/cp2k/cp2k_check.py @@ -126,11 +126,12 @@ def __init__(self, scale, variant): @rfm.run_before('run') def set_task_distribution(self): self.job.options = ['--distribution=block:block'] - + @rfm.run_before('run') def set_cpu_binding(self): self.job.launcher.options = ['--cpu-bind=cores'] + @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['maint', 'prod'])) diff --git a/cscs-checks/apps/cpmd/cpmd_check.py b/cscs-checks/apps/cpmd/cpmd_check.py index 4110a85793..32434202fd 100644 --- a/cscs-checks/apps/cpmd/cpmd_check.py +++ b/cscs-checks/apps/cpmd/cpmd_check.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16') @rfm.parameterized_test(['small'], ['large']) class CPMDCheck(rfm.RunOnlyRegressionTest): def __init__(self, scale): diff --git a/cscs-checks/apps/greasy/greasy_check.py b/cscs-checks/apps/greasy/greasy_check.py index a5315656d7..defe61b689 100644 --- a/cscs-checks/apps/greasy/greasy_check.py +++ b/cscs-checks/apps/greasy/greasy_check.py @@ -16,7 +16,6 @@ def to_seconds(str): datetime.strptime('00:00:00', '%H:%M:%S')).total_seconds() -@rfm.required_version('>=2.19') @rfm.parameterized_test( ['serial', 'gpu', 24, 12, 1, 1], ['serial', 'mc', 72, 36, 1, 1], @@ -39,7 +38,7 @@ def __init__(self, variant, partition, num_greasy_tasks, nworkes_per_node, # sleep enough time to distinguish if the files are running in parallel # or not self.sleep_time = 60 - self.build_system.cflags = ['-DSLEEP_TIME=%d' % self.sleep_time] + self.build_system.cflags = [f'-DSLEEP_TIME={self.sleep_time:d}'] self.variant = variant if variant == 'openmp': self.build_system.cflags += ['-fopenmp'] diff --git a/cscs-checks/apps/gromacs/gromacs_check.py b/cscs-checks/apps/gromacs/gromacs_check.py index 93275c47cf..7474ddc98f 100644 --- a/cscs-checks/apps/gromacs/gromacs_check.py +++ b/cscs-checks/apps/gromacs/gromacs_check.py @@ -53,7 +53,6 @@ def __init__(self, output_file): self.tags = {'scs', 'external-resources'} -@rfm.required_version('>=2.19') @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['prod', 'maint'])) @@ -96,7 +95,6 @@ def __init__(self, scale, variant): self.tags |= {'maintenance' if variant == 'maint' else 'production'} -@rfm.required_version('>=2.19') @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['prod'])) diff --git a/cscs-checks/apps/lammps/lammps_check.py b/cscs-checks/apps/lammps/lammps_check.py index 81a59b4815..702a7011e1 100644 --- a/cscs-checks/apps/lammps/lammps_check.py +++ b/cscs-checks/apps/lammps/lammps_check.py @@ -44,7 +44,6 @@ def __init__(self): self.maintainers = ['TR', 'VH'] -@rfm.required_version('>=2.16.0') @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['prod', 'maint'])) @@ -88,7 +87,6 @@ def __init__(self, scale, variant): self.tags |= {'maintenance' if variant == 'maint' else 'production'} -@rfm.required_version('>=2.16.0') @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['prod'])) diff --git a/cscs-checks/apps/namd/namd_check.py b/cscs-checks/apps/namd/namd_check.py index b0916b434f..c86fe725c3 100644 --- a/cscs-checks/apps/namd/namd_check.py +++ b/cscs-checks/apps/namd/namd_check.py @@ -11,11 +11,12 @@ class NamdBaseCheck(rfm.RunOnlyRegressionTest): def __init__(self, arch, scale, variant): - self.descr = 'NAMD check (%s, %s)' % (arch, variant) + self.descr = f'NAMD check ({arch}, {variant})' if self.current_system.name == 'pilatus': self.valid_prog_environs = ['cpeIntel'] else: self.valid_prog_environs = ['builtin'] + self.modules = ['NAMD'] # Reset sources dir relative to the SCS apps prefix @@ -70,7 +71,6 @@ def __init__(self, arch, scale, variant): } -@rfm.required_version('>=2.16') @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['maint', 'prod'])) @@ -94,7 +94,6 @@ def __init__(self, scale, variant): } -@rfm.required_version('>=2.16') @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['maint', 'prod'])) diff --git a/cscs-checks/apps/python/numpy_check.py b/cscs-checks/apps/python/numpy_check.py index 381cbcd1b2..260d5f4f51 100644 --- a/cscs-checks/apps/python/numpy_check.py +++ b/cscs-checks/apps/python/numpy_check.py @@ -74,7 +74,6 @@ def __init__(self): self.maintainers = ['RS', 'TR'] -@rfm.required_version('>=2.16') @rfm.simple_test class NumpyHaswellTest(NumpyBaseTest): def __init__(self): @@ -83,7 +82,6 @@ def __init__(self): self.num_cpus_per_task = 12 -@rfm.required_version('>=2.16') @rfm.simple_test class NumpyBroadwellTest(NumpyBaseTest): def __init__(self): diff --git a/cscs-checks/apps/quantumespresso/quantumespresso_check.py b/cscs-checks/apps/quantumespresso/quantumespresso_check.py index f329f03e21..ffefdaf77b 100644 --- a/cscs-checks/apps/quantumespresso/quantumespresso_check.py +++ b/cscs-checks/apps/quantumespresso/quantumespresso_check.py @@ -131,6 +131,7 @@ def set_task_distribution(self): def set_cpu_binding(self): self.job.launcher.options = ['--cpu-bind=cores'] + @rfm.parameterized_test(*([s, v] for s in ['small', 'large'] for v in ['maint', 'prod'])) diff --git a/cscs-checks/apps/tensorflow/tf2_horovod_check.py b/cscs-checks/apps/tensorflow/tf2_horovod_check.py index bae909af39..bfd591288d 100644 --- a/cscs-checks/apps/tensorflow/tf2_horovod_check.py +++ b/cscs-checks/apps/tensorflow/tf2_horovod_check.py @@ -8,7 +8,6 @@ import reframe.utility.osext as osext -@rfm.required_version('>=2.16') @rfm.parameterized_test(['small'], ['large']) class TensorFlow2HorovodTest(rfm.RunOnlyRegressionTest): def __init__(self, variant): diff --git a/cscs-checks/compile/haswell_fma_check.py b/cscs-checks/compile/haswell_fma_check.py index ecf53a99fa..6dd2ff9d32 100644 --- a/cscs-checks/compile/haswell_fma_check.py +++ b/cscs-checks/compile/haswell_fma_check.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.simple_test class HaswellFmaCheck(rfm.CompileOnlyRegressionTest): def __init__(self): diff --git a/cscs-checks/compile/libsci_resolve.py b/cscs-checks/compile/libsci_resolve.py index 4abf5a2295..f7d472f3f6 100644 --- a/cscs-checks/compile/libsci_resolve.py +++ b/cscs-checks/compile/libsci_resolve.py @@ -18,7 +18,6 @@ def __init__(self): self.tags = {'production', 'craype'} -@rfm.required_version('>=2.14') @rfm.parameterized_test(['craype-accel-nvidia35'], ['craype-accel-nvidia60']) class NvidiaResolveTest(LibSciResolveBaseTest): def __init__(self, module_name): @@ -65,7 +64,6 @@ def set_sanity(self): ]) -@rfm.required_version('>=2.14') @rfm.simple_test class MKLResolveTest(LibSciResolveBaseTest): def __init__(self): diff --git a/cscs-checks/libraries/io/hdf5_compile_run.py b/cscs-checks/libraries/io/hdf5_compile_run.py index 366b8c09e5..e70d01c45b 100644 --- a/cscs-checks/libraries/io/hdf5_compile_run.py +++ b/cscs-checks/libraries/io/hdf5_compile_run.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.parameterized_test(*([lang, linkage] for lang in ['c', 'f90'] for linkage in ['static', 'dynamic'])) class HDF5Test(rfm.RegressionTest): diff --git a/cscs-checks/libraries/io/netcdf_compile_run.py b/cscs-checks/libraries/io/netcdf_compile_run.py index 3f18b78bc5..985f89f9e1 100644 --- a/cscs-checks/libraries/io/netcdf_compile_run.py +++ b/cscs-checks/libraries/io/netcdf_compile_run.py @@ -9,7 +9,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.parameterized_test(*([lang, linkage] for lang in ['cpp', 'c', 'f90'] for linkage in ['dynamic', 'static'])) class NetCDFTest(rfm.RegressionTest): diff --git a/cscs-checks/libraries/magma/magma_checks.py b/cscs-checks/libraries/magma/magma_checks.py index ddddd0cbd2..d445311fef 100644 --- a/cscs-checks/libraries/magma/magma_checks.py +++ b/cscs-checks/libraries/magma/magma_checks.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16') @rfm.parameterized_test(['cblas_z'], ['zgemm'], ['zsymmetrize'], ['ztranspose']) class MagmaCheck(rfm.RegressionTest): diff --git a/cscs-checks/libraries/math/scalapack_compile_run.py b/cscs-checks/libraries/math/scalapack_compile_run.py index cf9f9c4588..63f14ab2f7 100644 --- a/cscs-checks/libraries/math/scalapack_compile_run.py +++ b/cscs-checks/libraries/math/scalapack_compile_run.py @@ -29,7 +29,6 @@ def __init__(self, linkage): self.tags = {'production', 'external-resources'} -@rfm.required_version('>=2.14') @rfm.parameterized_test(['static'], ['dynamic']) class ScaLAPACKSanity(ScaLAPACKTest): def __init__(self, linkage): diff --git a/cscs-checks/libraries/math/trilinos_compile_run.py b/cscs-checks/libraries/math/trilinos_compile_run.py index adef7d2770..2285085bd4 100644 --- a/cscs-checks/libraries/math/trilinos_compile_run.py +++ b/cscs-checks/libraries/math/trilinos_compile_run.py @@ -8,7 +8,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.parameterized_test(['static'], ['dynamic']) class TrilinosTest(rfm.RegressionTest): def __init__(self, linkage): @@ -21,7 +20,7 @@ def __init__(self, linkage): self.linkage = linkage self.build_system = 'SingleSource' - self.build_system.ldflags = ['-%s' % linkage, '-lparmetis'] + self.build_system.ldflags = [f'-{linkage}', f'-lparmetis'] self.build_system.cppflags = ['-DHAVE_MPI', '-DEPETRA_MPI'] self.prgenv_flags = { 'PrgEnv-cray': ['-fopenmp', '-O2', '-ffast-math', '-std=c++11', diff --git a/cscs-checks/libraries/petsc/petsc_helloworld.py b/cscs-checks/libraries/petsc/petsc_helloworld.py index 566a041e58..308d731065 100644 --- a/cscs-checks/libraries/petsc/petsc_helloworld.py +++ b/cscs-checks/libraries/petsc/petsc_helloworld.py @@ -7,12 +7,11 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.parameterized_test(['dynamic'], ['static']) class PetscPoisson2DCheck(rfm.RegressionTest): def __init__(self, linkage): - self.descr = ('Compile/run PETSc 2D Poisson example with cray-petsc ' - '(%s linking)') % linkage + self.descr = (f'Compile/run PETSc 2D Poisson example with cray-petsc ' + f'({linkage} linking)') self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc'] self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu', 'PrgEnv-intel'] diff --git a/cscs-checks/mch/gpu_direct_acc.py b/cscs-checks/mch/gpu_direct_acc.py index 46310b57ae..eda9953edd 100644 --- a/cscs-checks/mch/gpu_direct_acc.py +++ b/cscs-checks/mch/gpu_direct_acc.py @@ -8,7 +8,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.simple_test class GpuDirectAccCheck(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/mch/gpu_direct_cuda.py b/cscs-checks/mch/gpu_direct_cuda.py index dbd1673542..dea86e3f85 100644 --- a/cscs-checks/mch/gpu_direct_cuda.py +++ b/cscs-checks/mch/gpu_direct_cuda.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.simple_test class GpuDirectCudaCheck(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py b/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py index 8382849e43..fb175d3d62 100644 --- a/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py +++ b/cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class DGEMMTest(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/microbenchmarks/cpu/fft/fftw_benchmark.py b/cscs-checks/microbenchmarks/cpu/fft/fftw_benchmark.py index 7c0272ff45..f1bcbfaa68 100644 --- a/cscs-checks/microbenchmarks/cpu/fft/fftw_benchmark.py +++ b/cscs-checks/microbenchmarks/cpu/fft/fftw_benchmark.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16-dev0') @rfm.parameterized_test(['nompi'], ['mpi']) class FFTWTest(rfm.RegressionTest): def __init__(self, exec_mode): diff --git a/cscs-checks/microbenchmarks/cpu/latency/latency.py b/cscs-checks/microbenchmarks/cpu/latency/latency.py index 010a508482..fa02138a9b 100644 --- a/cscs-checks/microbenchmarks/cpu/latency/latency.py +++ b/cscs-checks/microbenchmarks/cpu/latency/latency.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class CPULatencyTest(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/microbenchmarks/cpu/likwid/likwid.py b/cscs-checks/microbenchmarks/cpu/likwid/likwid.py index 9aade2ede0..621bdf33b0 100644 --- a/cscs-checks/microbenchmarks/cpu/likwid/likwid.py +++ b/cscs-checks/microbenchmarks/cpu/likwid/likwid.py @@ -54,7 +54,6 @@ def __init__(self): } -@rfm.required_version('>=2.16-dev0') @rfm.parameterized_test(*[[l, k] for l in ['L1', 'L2', 'L3'] for k in ['load_avx', 'store_avx']], ['memory', 'load_avx'], @@ -63,7 +62,7 @@ class CPUBandwidth(MemBandwidthTest): def __init__(self, mem_level, kernel_name): super().__init__() - self.descr = 'CPU <- %s %s benchmark' % (mem_level, kernel_name) + self.descr = f'CPU <- {mem_level} {kernel_name} benchmark' self.valid_systems = ['daint:mc', 'daint:gpu', 'dom:gpu', 'dom:mc'] # the kernel to run in likwid @@ -108,26 +107,24 @@ def set_exec_opts(self): self.data_size = self.system_cache_sizes[partname][self.mem_level] self.num_cpus_per_task = self.system_num_cpus[partname] numa_domains = self.system_numa_domains[partname] - num_cpu_domain = self.num_cpus_per_task / (len(numa_domains) * - self.num_tasks_per_core) + num_cpu_domain = self.num_cpus_per_task // (len(numa_domains) * + self.num_tasks_per_core) # result for daint:mc: '-w S0:100MB:18:1:2 -w S1:100MB:18:1:2' # format: -w domain:data_size:nthreads:chunk_size:stride # chunk_size and stride affect which cpus from are selected - workgroups = ['-w %s:%s:%d:1:2' % - (dom, self.data_size, num_cpu_domain) + workgroups = [f'-w {dom}:{self.data_size}:{num_cpu_domain:d}:1:2' for dom in numa_domains] - self.executable_opts = ['-t %s' % self.kernel_name] + workgroups + self.executable_opts = [f'-t {self.kernel_name}'] + workgroups -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class CPUBandwidthCrossSocket(MemBandwidthTest): def __init__(self): super().__init__() - self.descr = ("CPU S0 <- main memory S1 read " + - "CPU S1 <- main memory S0 read") + self.descr = ('CPU S0 <- main memory S1 read ' + 'CPU S1 <- main memory S0 read') self.valid_systems = ['daint:mc', 'dom:mc'] self.kernel_name = 'load_avx' @@ -146,15 +143,14 @@ def set_exec_opts(self): self.num_cpus_per_task = self.system_num_cpus[partname] numa_domains = self.system_numa_domains[partname] - num_cpu_domain = (self.num_cpus_per_task / + num_cpu_domain = (self.num_cpus_per_task // (len(numa_domains) * self.num_tasks_per_core)) # daint:mc: '-w S0:100MB:18:1:2-0:S1 -w S1:100MB:18:1:2-0:S0' # format: # -w domain:data_size:nthreads:chunk_size:stride-stream_nr:mem_domain # chunk_size and stride affect which cpus from are selected - workgroups = ['-w %s:100MB:%d:1:2-0:%s' % - (dom_cpu, num_cpu_domain, dom_mem) + workgroups = [f'-w {dom_cpu}:100MB:{num_cpu_domain:d}:1:2-0:{dom_mem}' for dom_cpu, dom_mem in zip(numa_domains[:2], reversed(numa_domains[:2]))] diff --git a/cscs-checks/microbenchmarks/cpu/stream/stream.py b/cscs-checks/microbenchmarks/cpu/stream/stream.py index a5adac837f..eb2b609582 100644 --- a/cscs-checks/microbenchmarks/cpu/stream/stream.py +++ b/cscs-checks/microbenchmarks/cpu/stream/stream.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.simple_test class StreamTest(rfm.RegressionTest): '''This test checks the stream test: diff --git a/cscs-checks/microbenchmarks/cpu/strided_bandwidth/strides.py b/cscs-checks/microbenchmarks/cpu/strided_bandwidth/strides.py index 0bd826a8e8..09f47d33be 100644 --- a/cscs-checks/microbenchmarks/cpu/strided_bandwidth/strides.py +++ b/cscs-checks/microbenchmarks/cpu/strided_bandwidth/strides.py @@ -44,7 +44,6 @@ def num_tasks_assigned(self): return self.job.num_tasks -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class StridedBandwidthTest(StridedBase): def __init__(self): @@ -73,10 +72,9 @@ def set_exec_opts(self): self.num_cpus = self.system_num_cpus[self.current_partition.fullname] # 8-byte stride, using the full cacheline - self.executable_opts = ['100000000', '1', '%s' % self.num_cpus] + self.executable_opts = ['100000000', '1', f'{self.num_cpus}'] -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class StridedBandwidthTest64(StridedBase): def __init__(self): @@ -108,7 +106,6 @@ def set_exec_opts(self): self.executable_opts = ['100000000', '8', '%s' % self.num_cpus] -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class StridedBandwidthTest128(StridedBase): def __init__(self): diff --git a/cscs-checks/microbenchmarks/gpu/kernel_latency/kernel_latency.py b/cscs-checks/microbenchmarks/gpu/kernel_latency/kernel_latency.py index d11fb667de..9b1ab23646 100644 --- a/cscs-checks/microbenchmarks/gpu/kernel_latency/kernel_latency.py +++ b/cscs-checks/microbenchmarks/gpu/kernel_latency/kernel_latency.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16-dev0') @rfm.parameterized_test(['sync'], ['async']) class KernelLatencyTest(rfm.RegressionTest): def __init__(self, kernel_version): diff --git a/cscs-checks/microbenchmarks/gpu/shmem/shmem.py b/cscs-checks/microbenchmarks/gpu/shmem/shmem.py index 354ee92a17..f64a0402b1 100644 --- a/cscs-checks/microbenchmarks/gpu/shmem/shmem.py +++ b/cscs-checks/microbenchmarks/gpu/shmem/shmem.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class GPUShmemTest(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/microbenchmarks/gpu/spec-accel/spec.py b/cscs-checks/microbenchmarks/gpu/spec-accel/spec.py index 17cd9626dd..497c67a5c9 100644 --- a/cscs-checks/microbenchmarks/gpu/spec-accel/spec.py +++ b/cscs-checks/microbenchmarks/gpu/spec-accel/spec.py @@ -24,8 +24,8 @@ def __init__(self, prg_envs): app_source = os.path.join(self.current_system.resourcesdir, 'SPEC_ACCELv1.2') - self.prebuild_cmds = ['cp -r %s/* .' % app_source, - './install.sh -d . -f'] + self.prebuild_cmds = [f'cp -r {app_source}/* .', + f'./install.sh -d . -f'] # I just want prebuild_cmds, but no action for the build_system # is not supported, so I find it something useless to do @@ -49,13 +49,13 @@ def __init__(self, prg_envs): outfile = sn.getitem(sn.glob('result/ACCEL.*.log'), 0) self.sanity_patterns_ = { env: sn.all([sn.assert_found( - r'Success.*%s' % bn, outfile) for bn in self.benchmarks[env]]) + rf'Success.*{bn}', outfile) for bn in self.benchmarks[env]]) for env in self.valid_prog_environs } self.perf_patterns_ = { env: {bench_name: sn.avg(sn.extractall( - r'Success.*%s.*runtime=(?P[0-9.]+)' % bench_name, + rf'Success.*{bench_name}.*runtime=(?P[0-9.]+)', outfile, 'rt', float)) for bench_name in self.benchmarks[env]} for env in self.valid_prog_environs @@ -67,14 +67,14 @@ def __init__(self, prg_envs): @rfm.run_after('setup') def setup_per_env(self): envname = self.current_environ.name - self.prerun_cmds = ['source ./shrc', 'mv %s config' % - self.configs[envname]] + self.prerun_cmds = [ + f'source ./shrc', + f'mv {self.configs[envname]} config' + ] self.executable_opts = [ - '--config=%s' % - self.configs[envname], - '--platform NVIDIA', - '--tune=base', - '--device GPU'] + self.benchmarks[envname] + f'--config={self.configs[envname]}', '--platform NVIDIA', + '--tune=base', '--device GPU' + ] + self.benchmarks[envname] self.reference = { 'dom:gpu': self.refs[envname], 'daint:gpu': self.refs[envname] @@ -88,7 +88,6 @@ def setup_per_env(self): self.job.launcher = getlauncher('local')() -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class SpecAccelCheckOpenCL(SpecAccelCheckBase): def __init__(self): @@ -125,7 +124,6 @@ def __init__(self): super().__init__(valid_prog_environs) -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class SpecAccelCheckOpenACC(SpecAccelCheckBase): def __init__(self): diff --git a/cscs-checks/microbenchmarks/mpi/halo_exchange/halo_cell_exchange.py b/cscs-checks/microbenchmarks/mpi/halo_exchange/halo_cell_exchange.py index af71d7aaa7..59fdf9ff14 100644 --- a/cscs-checks/microbenchmarks/mpi/halo_exchange/halo_cell_exchange.py +++ b/cscs-checks/microbenchmarks/mpi/halo_exchange/halo_cell_exchange.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16-dev0') @rfm.simple_test class HaloCellExchangeTest(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/microbenchmarks/mpi/osu/osu_tests.py b/cscs-checks/microbenchmarks/mpi/osu/osu_tests.py index e29c5b589d..e21e1629a9 100644 --- a/cscs-checks/microbenchmarks/mpi/osu/osu_tests.py +++ b/cscs-checks/microbenchmarks/mpi/osu/osu_tests.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.16') @rfm.parameterized_test(['production']) class AlltoallTest(rfm.RegressionTest): def __init__(self, variant): @@ -73,7 +72,6 @@ def __init__(self): self.tags = {'diagnostic', 'ops', 'benchmark', 'craype'} -@rfm.required_version('>=2.16') @rfm.parameterized_test(['small'], ['large']) class AllreduceTest(rfm.RegressionTest): def __init__(self, variant): @@ -156,7 +154,6 @@ def __init__(self): } -@rfm.required_version('>=2.16') @rfm.simple_test class P2PCPUBandwidthTest(P2PBaseTest): def __init__(self): @@ -192,7 +189,6 @@ def __init__(self): } -@rfm.required_version('>=2.16') @rfm.simple_test class P2PCPULatencyTest(P2PBaseTest): def __init__(self): @@ -229,7 +225,6 @@ def __init__(self): } -@rfm.required_version('>=2.16') @rfm.simple_test class G2GBandwidthTest(P2PBaseTest): def __init__(self): @@ -267,7 +262,6 @@ def __init__(self): self.build_system.cppflags = ['-D_ENABLE_CUDA_'] -@rfm.required_version('>=2.16') @rfm.simple_test class G2GLatencyTest(P2PBaseTest): def __init__(self): diff --git a/cscs-checks/prgenv/helloworld.py b/cscs-checks/prgenv/helloworld.py index e65b3f98d5..ce22af0d4d 100644 --- a/cscs-checks/prgenv/helloworld.py +++ b/cscs-checks/prgenv/helloworld.py @@ -105,7 +105,6 @@ def compile_timer_end(self): self.compilation_time_seconds = elapsed.total_seconds() -@rfm.required_version('>=2.14') @rfm.parameterized_test(*([lang, linkage] for lang in ['cpp', 'c', 'f90'] for linkage in ['dynamic', 'static'])) @@ -130,14 +129,13 @@ def __init__(self, lang, linkage): self.num_tasks_per_node = 1 self.num_cpus_per_task = 1 if (self.current_system.name in ['arolla', 'tsa'] and - linkage == 'dynamic'): + linkage == 'dynamic'): self.valid_prog_environs += ['PrgEnv-pgi-nompi', 'PrgEnv-pgi-nompi-nocuda', 'PrgEnv-gnu-nompi', 'PrgEnv-gnu-nompi-nocuda'] -@rfm.required_version('>=2.14') @rfm.parameterized_test(*([lang, linkage] for lang in ['cpp', 'c', 'f90'] for linkage in ['dynamic', 'static'])) @@ -159,7 +157,7 @@ def __init__(self, lang, linkage): self.num_tasks_per_node = 1 self.num_cpus_per_task = 4 if (self.current_system.name in ['arolla', 'tsa'] and - linkage == 'dynamic'): + linkage == 'dynamic'): self.valid_prog_environs += ['PrgEnv-pgi-nompi', 'PrgEnv-pgi-nompi-nocuda', 'PrgEnv-gnu-nompi', @@ -172,7 +170,6 @@ def __init__(self, lang, linkage): } -@rfm.required_version('>=2.14') @rfm.parameterized_test(*([lang, linkage] for lang in ['cpp', 'c', 'f90'] for linkage in ['dynamic', 'static'])) @@ -198,7 +195,6 @@ def __init__(self, lang, linkage): self.num_cpus_per_task = 1 -@rfm.required_version('>=2.14') @rfm.parameterized_test(*([lang, linkage] for lang in ['cpp', 'c', 'f90'] for linkage in ['dynamic', 'static'])) diff --git a/cscs-checks/prgenv/mpi.py b/cscs-checks/prgenv/mpi.py index 9015a401d6..0210b43228 100644 --- a/cscs-checks/prgenv/mpi.py +++ b/cscs-checks/prgenv/mpi.py @@ -9,7 +9,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.parameterized_test(['single'], ['funneled'], ['serialized'], ['multiple']) class MpiInitTest(rfm.RegressionTest): '''This test checks the value returned by calling MPI_Init_thread. @@ -39,7 +38,7 @@ def __init__(self, required_thread): self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc', 'eiger:mc'] self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu', 'PrgEnv-pgi', - 'PrgEnv-intel', 'PrgEnv-aocc'] + 'PrgEnv-intel'] self.build_system = 'SingleSource' self.sourcesdir = 'src/mpi_thread' self.sourcepath = 'mpi_init_thread.cpp' diff --git a/cscs-checks/prgenv/openacc_checks.py b/cscs-checks/prgenv/openacc_checks.py index a45d5a0196..c4598822d2 100644 --- a/cscs-checks/prgenv/openacc_checks.py +++ b/cscs-checks/prgenv/openacc_checks.py @@ -8,7 +8,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.parameterized_test(['mpi'], ['nompi']) class OpenACCFortranCheck(rfm.RegressionTest): def __init__(self, variant): diff --git a/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py b/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py index 08d0e14c8c..251cd25a8c 100644 --- a/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py +++ b/cscs-checks/tools/profiling_and_debugging/cuda_gdb.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.simple_test class CudaGdbCheck(rfm.RegressionTest): def __init__(self): diff --git a/cscs-checks/tools/profiling_and_debugging/nvprof.py b/cscs-checks/tools/profiling_and_debugging/nvprof.py index 80011033a4..e192cbe4df 100644 --- a/cscs-checks/tools/profiling_and_debugging/nvprof.py +++ b/cscs-checks/tools/profiling_and_debugging/nvprof.py @@ -7,7 +7,6 @@ import reframe.utility.sanity as sn -@rfm.required_version('>=2.14') @rfm.simple_test class NvprofCheck(rfm.RegressionTest): def __init__(self): @@ -39,8 +38,8 @@ def __init__(self): # cuda/10.1 self.postrun_cmds = ['cat /etc/modprobe.d/nvidia.conf'] self.sanity_patterns = sn.all([ - sn.assert_found('Profiling application: %s' % - self.target_executable, self.stderr), + sn.assert_found(f'Profiling application: {self.target_executable}', + self.stderr), sn.assert_found('[CUDA memcpy HtoD]', self.stderr), sn.assert_found('[CUDA memcpy DtoH]', self.stderr), sn.assert_found(r'\s+100(\s+\S+){3}\s+jacobi_kernel', self.stderr),