diff --git a/cscs-checks/prgenv/gpu_direct_acc.py b/cscs-checks/prgenv/gpu_direct_acc.py index 7e0ba5224c..e07b6d4d15 100644 --- a/cscs-checks/prgenv/gpu_direct_acc.py +++ b/cscs-checks/prgenv/gpu_direct_acc.py @@ -1,6 +1,6 @@ import reframe as rfm import reframe.utility.sanity as sn -from reframe.core.launchers import LauncherWrapper + @rfm.simple_test class GpuDirectAccCheck(rfm.RegressionTest): @@ -23,10 +23,6 @@ def __init__(self, **kwargs): 'MPICH_RDMA_ENABLED_CUDA': '1', 'MV2_USE_CUDA': '1', 'G2G': '1', - 'X': '$(pkg-config --variable=libdir mvapich2-gdr)' - } - self._pgi_kesch_variables = { - 'LD_PRELOAD': '$X/libmpi.so' } self.num_tasks = 8 self.num_gpus_per_node = 8 @@ -48,7 +44,10 @@ def setup(self, partition, environ, **job_opts): environ.fflags = self._pgi_flags if (self.current_system.name in ['kesch']) and \ - (environ.name.startswith('PrgEnv-pgi')): - self.variables.update(self._pgi_kesch_variables) + (environ.name.startswith('PrgEnv-pgi')): + self.pre_run = [ + 'export LD_PRELOAD=' + '$(pkg-config --variable=libdir mvapich2-gdr)/libmpi.so' + ] super().setup(partition, environ, **job_opts) diff --git a/cscs-checks/prgenv/gpu_direct_cuda.py b/cscs-checks/prgenv/gpu_direct_cuda.py index a767ae8fde..771be65846 100644 --- a/cscs-checks/prgenv/gpu_direct_cuda.py +++ b/cscs-checks/prgenv/gpu_direct_cuda.py @@ -1,6 +1,6 @@ import reframe as rfm import reframe.utility.sanity as sn -from reframe.core.launchers import LauncherWrapper + @rfm.simple_test class GpuDirectCudaCheck(rfm.RegressionTest): @@ -17,33 +17,34 @@ def __init__(self, **kwargs): 'MPICH_RDMA_ENABLED_CUDA': '1', 'MV2_USE_CUDA': '1', 'G2G': '1', - 'X': '$(pkg-config --variable=libdir mvapich2-gdr)', - 'LD_PRELOAD': '$X/libmpi.so' } self.num_tasks = 2 self.num_gpus_per_node = 1 self.sourcepath = 'gpu_direct_cuda.cu' self.num_tasks_per_node = 1 - self.modules = ['cudatoolkit'] result = sn.extractsingle(r'Result :\s+(?P\d+\.?\d*)', - self.stdout, 'result', float) + self.stdout, 'result', float) self.sanity_patterns = sn.assert_reference(result, 1., -1e-5, 1e-5) - - self.launch_options = [] self.maintainers = ['AJ', 'VK'] self.tags = {'production'} + self.pre_run = [ + 'export LD_PRELOAD=' + '$(pkg-config --variable=libdir mvapich2-gdr)/libmpi.so' + ] def compile(self): # Set nvcc flags - nvidia_sm = '60' - cpp_compiler = 'CC' if self.current_system.name == 'kesch': nvidia_sm = '37' cpp_compiler = 'mpicxx' - self.current_environ.cxxflags = ('-ccbin %s -lcublas -lcudart ' - '-arch=sm_%s' % - (cpp_compiler, nvidia_sm)) + else: + nvidia_sm = '60' + cpp_compiler = 'CC' + + self.current_environ.cxxflags = ( + '-ccbin %s -lcublas -lcudart -arch=sm_%s' % + (cpp_compiler, nvidia_sm)) super().compile()