Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
6626057
Merge branch 'master' into 19.04
lucamar Aug 19, 2019
2a6f042
Merge branch 'master' of github.com:eth-cscs/reframe into 19.04
Aug 21, 2019
facab3c
Merge branch 'master' of github.com:eth-cscs/reframe into 19.04
Aug 29, 2019
9c2ea38
Merge branch '19.04' of github.com:lucamar/reframe into 19.04
Aug 29, 2019
c672693
Removing modules system
Aug 29, 2019
506d82f
Inserting modules system back
Aug 29, 2019
5f5371b
Fixing pattern for sanity check
Aug 29, 2019
d4d880b
Merge branch 'master' into 19.04
lucamar Aug 29, 2019
8a57b2d
Mergin master and fixing cscs.py
Sep 4, 2019
b75b467
Mergin master
Sep 4, 2019
0e16ca6
Merge branch '19.04' of https://github.com/lucamar/reframe into 19.04
Sep 4, 2019
74faa69
Removing blank line
Sep 18, 2019
f909fbe
Merge pull request #5 from lucamar/update-cuda-checks
lucamar Sep 18, 2019
407fdb3
Merge branch 'master' of github.com:lucamar/reframe into 19.04
Sep 20, 2019
76afc83
Merge branch 'master' of github.com:eth-cscs/reframe into 19.04
Sep 20, 2019
737ea99
Merge branch 'master' of github.com:eth-cscs/reframe
Sep 20, 2019
506bb07
Merge branch 'master' of github.com:eth-cscs/reframe
Sep 30, 2019
8dbb70f
Merge branch 'master' of github.com:eth-cscs/reframe into 19.04
Sep 30, 2019
5e4db7b
Merge branch 'master' of github.com:eth-cscs/reframe
Oct 4, 2019
db3f6bd
Merge branch 'master' of github.com:lucamar/reframe into 19.04
Oct 4, 2019
f5cf970
ReFrame configuration for Arolla
Oct 4, 2019
122fc0f
Merge branch 'master' of github.com:eth-cscs/reframe into arolla-18.12
Oct 7, 2019
86d02c9
Merge branch 'master' of github.com:eth-cscs/reframe
Oct 7, 2019
f4beb4f
Merge branch 'master' of github.com:eth-cscs/reframe
Oct 8, 2019
bac5430
Merge branch 'master' of github.com:eth-cscs/reframe
Oct 15, 2019
b6c9513
Merge branch 'master' of github.com:eth-cscs/reframe into arolla-18.12
Oct 16, 2019
6012f47
Updating from master branch and adding OpenMPI for PGI 18.10
Oct 21, 2019
1f8001d
Adding cuda_stress_test on Arolla
Oct 21, 2019
1b7f5d7
Adding gpu_direct_acc on Arolla
Oct 21, 2019
f889ebb
Adding gpu_direct_cuda on Arolla
Oct 21, 2019
aaeb4cd
Update checks
Nov 14, 2019
76ab501
ReFrame configuration for Tsa
Nov 15, 2019
4ef2c6c
AutomaticArrays on Tsa
Nov 15, 2019
f0795cc
Merge branch 'master' of github.com:eth-cscs/reframe into tsa-19.04
Nov 27, 2019
de39496
Update settings
Dec 17, 2019
1ef01fa
Merge branch 'master' of github.com:eth-cscs/reframe into tsa-19.04
Dec 17, 2019
7123786
Update configuration on Tsa
Dec 17, 2019
efcaab6
Updating checks for latest PrgEnv setup on Tsa
Dec 17, 2019
a2d8a10
Merge branch 'master' of github.com:eth-cscs/reframe into tsa-19.04
Dec 18, 2019
deceb8f
Merge branch 'master' of github.com:eth-cscs/reframe
Dec 18, 2019
1c94eb5
Merge after fixing conflict
Jan 7, 2020
192a578
Adapting config file
Jan 16, 2020
6c3c4a4
Fixing config and adding helloworld
Jan 17, 2020
e24a10c
Merge branch 'master' of github.com:eth-cscs/reframe into tsa-19.04
Jan 17, 2020
e7bd62a
OpenACC checks
Jan 17, 2020
26e388c
Updating checks to include arolla
Jan 21, 2020
9699ccb
Fixing Arolla environments
Jan 21, 2020
05e5088
Fixing typo in arolla name
Jan 21, 2020
9cc8549
Changing tasks for collectives checks
Jan 21, 2020
338a364
Reverting test to run on two nodes
Jan 21, 2020
74a8fab
Merge branch 'master' into tsa-19.04
lucamar Jan 24, 2020
f8b0d6e
Update automatic_arrays_acc.py
lucamar Jan 24, 2020
7994f2e
Update collectives_halo.py
lucamar Jan 24, 2020
7bbe786
Update openacc_cuda_mpi_cppstd.py
lucamar Jan 24, 2020
72b59d8
Update helloworld.py
lucamar Jan 24, 2020
2670d87
Update openacc_checks.py
lucamar Jan 24, 2020
aa423b7
Merge branch 'master' into tsa-19.04
lucamar Jan 28, 2020
792825e
Merge branch 'master' of github.com:eth-cscs/reframe
Feb 4, 2020
f891f42
Change location of and-operator in helloworld
kraushm Feb 4, 2020
aea197b
Merge pull request #6 from kraushm/tsa-19.04
lucamar Feb 4, 2020
cb3b2a7
Add parentheses
kraushm Feb 4, 2020
93386ba
Merge pull request #7 from kraushm/tsa-19.04
lucamar Feb 4, 2020
edb1bb3
Adding cuda and slurm checks
Feb 5, 2020
774921f
Adding cuda and slurm checks
Feb 5, 2020
c8ced78
Adding cuda checks
Feb 5, 2020
0f1b0ad
Adding cuda_gdb test
Feb 5, 2020
bd714a5
Adding ddt and nvprof checks
Feb 5, 2020
d2a280d
Merge branch 'master' into tsa-19.04
lucamar Feb 5, 2020
80b27aa
Adding flexible check mpi
Feb 5, 2020
b92593b
Minor update of helloworld
Feb 5, 2020
10ea4de
NetCDF tests
Feb 5, 2020
37d20ca
Adding halo exchange
Feb 5, 2020
dd7ce1f
Adding alloc_speed
Feb 5, 2020
a181bd1
Adding dgemm
Feb 5, 2020
e1616c1
Adding gpu burn
Feb 5, 2020
2d7f261
Adding OSU benchmarks
Feb 5, 2020
f4c5114
NCO and CDO
Feb 5, 2020
c4a3aef
Merge branch 'master' of github.com:eth-cscs/reframe into tsa-19.04
Feb 6, 2020
6c7bfcb
Adding stream
Feb 6, 2020
142eb16
Adding kernel latency
Feb 6, 2020
f8c2deb
Minor fix
Feb 6, 2020
d2b103d
Loading netcdf-fortran to fix a check
Feb 6, 2020
f87c604
Fixing PEP 8 format
Feb 6, 2020
893b411
Adding Tsa to cscs-ci.py
Feb 6, 2020
3612bfc
Adding environments of Kesch adn Tsa to cscs-ci.py
Feb 7, 2020
aec64d5
Merge branch 'master' of github.com:eth-cscs/reframe
Feb 11, 2020
c4b91e3
Update nvprof.py
lucamar Feb 13, 2020
ed619d9
Update ddt.py
lucamar Feb 13, 2020
7a6027c
Update cuda_checks.py
lucamar Feb 13, 2020
42a48d6
Update cuda_checks.py
lucamar Feb 13, 2020
f14f49c
Update multi_gpu.py
lucamar Feb 13, 2020
07b9f7a
Update netcdf_compile_run.py
lucamar Feb 13, 2020
eae471a
Update automatic_arrays_acc.py
lucamar Feb 13, 2020
aee8196
Update cuda_checks.py
lucamar Feb 13, 2020
b20f64c
Update cuda_checks.py
lucamar Feb 13, 2020
10e66a2
Update collectives_halo.py
lucamar Feb 13, 2020
a301013
Update gpu_direct_acc.py
lucamar Feb 13, 2020
3d278c2
Update cuda_gdb.py
lucamar Feb 13, 2020
7d6fb61
Update cuda_stress_test.py
lucamar Feb 13, 2020
e769f97
Update openacc_cuda_mpi_cppstd.py
lucamar Feb 13, 2020
146d08b
Removing leone and monch from cscs.py
Feb 13, 2020
e39d741
Removing environments for Kesch and Tsa from cscs-ci.py
Feb 13, 2020
ad1c7aa
Format adjusted in cuda_checks.py
Feb 13, 2020
79cd40f
Format adjusted in gpu_direct_cuda.py
Feb 13, 2020
4cc1e23
Format adjusted in openacc_cuda_mpi_cppstd.py
Feb 13, 2020
6de6be0
Content adjusted in alloc_speed.py
Feb 13, 2020
ccf2922
Startin reference numbers for Arolla and Tsa in gpu_burn_test.py
Feb 13, 2020
b41e764
Removed * reference numbers from kernel_latency.py
Feb 13, 2020
59cb741
Removed * reference numbers from halo_cell_exchange.py
Feb 13, 2020
efc07a0
Removed * reference numbers from ose_tests.py
Feb 13, 2020
2a4a717
Removed * reference numbers from stream.py
Feb 13, 2020
09d18e8
Removed super() from mpi.py
Feb 13, 2020
8a75a95
Removed **kwargs from helloworld.py
Feb 13, 2020
e51caf0
Adjusted format in cdo.py
Feb 13, 2020
4adef54
Adjusted format in nco.py
Feb 13, 2020
12d6f9a
Removing reference values for arolla and tsa from cscs-checks/cuda/mu…
Feb 13, 2020
31e1f65
Null reference values for Arolla and Tsa in cscs-checks/cuda/multi_gp…
Feb 13, 2020
5ecdc45
Dummy reference values to avoid sanity failure for Arolla and Tsa in …
Feb 13, 2020
bd68fb2
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
08c111b
Removed additional programming environments from config/cscs-ci.py
Feb 13, 2020
9521145
Removed reference values for Arolla and Tsa from cscs-checks/mch/coll…
Feb 13, 2020
0e93ba9
Removed reference values for Arolla and Tsa from cscs-checks/mch/cuda…
Feb 13, 2020
e6fd735
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
3dcec07
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
0aa014a
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
2ab87fd
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
bf54819
Removed reference values for Arolla and Tsa from cscs-checks/mch/auto…
Feb 13, 2020
1a74d70
Removed reference values for Arolla and Tsa from cscs-checks/mch/coll…
Feb 13, 2020
98895ac
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
5390966
Removed reference values for Arolla and Tsa from cscs-checks/microben…
Feb 13, 2020
f6d6576
Update multi_gpu.py
lucamar Feb 13, 2020
2c30d67
Update collectives_halo.py
lucamar Feb 13, 2020
a4662a3
Update cuda_stress_test.py
lucamar Feb 13, 2020
9159cf6
Update stream.py
lucamar Feb 13, 2020
352b8a1
Update mpi.py
lucamar Feb 13, 2020
5fe8be5
Minor code style fixes
Feb 13, 2020
84cd8fe
Fix CI runner for Tsa
Feb 13, 2020
5f037d3
Install pytest on Tsa in CI
Feb 13, 2020
2675d73
Merge branch 'master' into tsa-19.04
Feb 14, 2020
8ac839c
Fixing CDO check on Kesch
Feb 14, 2020
2aeb5bc
Fix CDO merge and info tests
omlins Feb 14, 2020
170a5c1
Merge branch 'master' of github.com:eth-cscs/reframe into tsa-19.04
Feb 14, 2020
b46513f
Setting max_jobs for Tsa compute nodes
Feb 14, 2020
aee57ae
Merge branch 'tsa-19.04' into tsa-19.04-cdo
lucamar Feb 14, 2020
49d31ed
Merge pull request #8 from omlins/tsa-19.04-cdo
lucamar Feb 14, 2020
fc6a96f
Merge branch 'master' into tsa-19.04
lucamar Feb 14, 2020
da9cb34
Merge branch 'tsa-19.04' of github.com:lucamar/reframe into tsa-19.04
Feb 14, 2020
034d60b
Fix load module cuda and adjust expected values for sync test
Feb 14, 2020
448bf90
Minor coding style fixes
Feb 14, 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
1 change: 1 addition & 0 deletions config/cscs-ci.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ class ReframeSettings:
'access': ['--partition=cn-regression'],
'environs': ['builtin-gcc'],
'descr': 'Tsa compute nodes',
'max_jobs': 10,
'resources': {
'_rfm_gpu': ['--gres=gpu:{num_gpus_per_node}'],
}
Expand Down
136 changes: 113 additions & 23 deletions config/cscs.py
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,70 @@ class ReframeSettings:
}
},

'arolla': {
'descr': 'Arolla MCH',
'hostnames': [r'arolla-\w+\d+'],
'modules_system': 'tmod',
'resourcesdir': '/apps/common/UES/reframe/resources',
'partitions': {
'login': {
'scheduler': 'local',
'environs': ['PrgEnv-pgi', 'PrgEnv-pgi-nompi',
'PrgEnv-gnu', 'PrgEnv-gnu-nompi'],
'descr': 'Arolla login nodes',
},
'pn': {
'scheduler': 'nativeslurm',
'access': ['--partition=pn-regression'],
'environs': ['PrgEnv-pgi', 'PrgEnv-pgi-nompi',
'PrgEnv-gnu', 'PrgEnv-gnu-nompi'],
'descr': 'Arolla post-processing nodes',
},
'cn': {
'scheduler': 'nativeslurm',
'access': ['--partition=cn-regression'],
'environs': ['PrgEnv-gnu', 'PrgEnv-gnu-nompi',
'PrgEnv-pgi', 'PrgEnv-pgi-nompi'],
'descr': 'Arolla compute nodes',
'resources': {
'_rfm_gpu': ['--gres=gpu:{num_gpus_per_node}'],
}
}
}
},

'tsa': {
'descr': 'Tsa MCH',
'hostnames': [r'tsa-\w+\d+'],
'modules_system': 'tmod',
'resourcesdir': '/apps/common/UES/reframe/resources',
'partitions': {
'login': {
'scheduler': 'local',
'environs': ['PrgEnv-pgi', 'PrgEnv-pgi-nompi',
'PrgEnv-gnu', 'PrgEnv-gnu-nompi'],
'descr': 'Tsa login nodes',
},
'pn': {
'scheduler': 'nativeslurm',
'access': ['--partition=pn-regression'],
'environs': ['PrgEnv-pgi', 'PrgEnv-pgi-nompi',
'PrgEnv-gnu', 'PrgEnv-gnu-nompi'],
'descr': 'Tsa post-processing nodes',
},
'cn': {
'scheduler': 'nativeslurm',
'access': ['--partition=cn-regression'],
'environs': ['PrgEnv-gnu', 'PrgEnv-gnu-nompi',
'PrgEnv-pgi', 'PrgEnv-pgi-nompi'],
'descr': 'Tsa compute nodes',
'resources': {
'_rfm_gpu': ['--gres=gpu:{num_gpus_per_node}'],
}
}
}
},

'generic': {
'descr': 'Generic example system',
'partitions': {
Expand Down Expand Up @@ -378,41 +442,67 @@ class ReframeSettings:
'cxx': 'g++',
'ftn': 'gfortran',
},
'PrgEnv-cray-c2sm': {
'modules': ['c2sm-rcm/1.00.00-kesch',
'c2sm/cray-env/base'],
},
'PrgEnv-cray-c2sm-gpu': {
'modules': ['c2sm-rcm/1.00.00-kesch',
'c2sm/cray-env/gpu'],
},

'arolla': {
'PrgEnv-pgi-nompi': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-pgi/19.9'],
'cc': 'pgcc',
'cxx': 'pgc++',
'ftn': 'pgf90',
},
'PrgEnv-pgi-c2sm': {
'modules': ['c2sm-rcm/1.00.00-kesch',
'c2sm/pgi-env/base'],
'PrgEnv-pgi': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-pgi/19.9'],
'cc': 'mpicc',
'cxx': 'mpicxx',
'ftn': 'mpif90',
'ftn': 'mpifort',
},
'PrgEnv-pgi-c2sm-gpu': {
'modules': ['c2sm-rcm/1.00.00-kesch',
'c2sm/pgi-env/gpu'],
'PrgEnv-gnu': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-gnu/19.2'],
'cc': 'mpicc',
'cxx': 'mpicxx',
'ftn': 'mpif90',
'ftn': 'mpifort',
},
'PrgEnv-gnu-nompi': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-gnu/19.2'],
'cc': 'gcc',
'cxx': 'g++',
'ftn': 'gfortran',
},
},

'tsa': {
'PrgEnv-pgi-nompi': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-pgi/19.9'],
'cc': 'pgcc',
'cxx': 'pgc++',
'ftn': 'pgf90',
},
'PrgEnv-gnu-c2sm': {
'modules': ['c2sm-rcm/1.00.00-kesch',
'c2sm/gnu-env/base'],
'PrgEnv-pgi': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-pgi/19.9'],
'cc': 'mpicc',
'cxx': 'mpicxx',
'ftn': 'mpif90',
'ftn': 'mpifort',
},
'PrgEnv-gnu-c2sm-gpu': {
'modules': ['c2sm-rcm/1.00.00-kesch',
'c2sm/gnu-env/gpu'],
'PrgEnv-gnu': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-gnu/19.2'],
'cc': 'mpicc',
'cxx': 'mpicxx',
'ftn': 'mpif90',
'ftn': 'mpifort',
},
'PrgEnv-gnu-nompi': {
'type': 'ProgEnvironment',
'modules': ['PrgEnv-gnu/19.2'],
'cc': 'gcc',
'cxx': 'g++',
'ftn': 'gfortran',
},
},

Expand Down
14 changes: 13 additions & 1 deletion cscs-checks/cuda/cuda_checks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,22 @@

class CudaCheck(rfm.RegressionTest):
def __init__(self):
self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn', 'tiger:gpu']
self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn', 'tiger:gpu',
'arolla:cn', 'tsa:cn']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu']
if self.current_system.name == 'kesch':
self.valid_prog_environs += ['PrgEnv-cray-nompi',
'PrgEnv-gnu-nompi']
elif self.current_system.name in ['arolla', 'tsa']:
self.valid_prog_environs += ['PrgEnv-gnu-nompi']

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

if self.current_system.name == 'kesch':
self.modules = ['cudatoolkit/8.0.61']
elif self.current_system.name in ['arolla', 'tsa']:
self.modules = ['cuda/10.1.243']
else:
self.modules = ['craype-accel-nvidia60']

Expand All @@ -23,6 +29,9 @@ def __init__(self):
if self.current_system.name == 'kesch':
self.exclusive_access = True
self.nvidia_sm = '37'
elif self.current_system.name in ['arolla', 'tsa']:
self.exclusive_access = True
self.nvidia_sm = '70'

self.maintainers = ['AJ', 'SK']
self.tags = {'production', 'craype', 'external-resources'}
Expand Down Expand Up @@ -87,6 +96,9 @@ def __init__(self):
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu']
self.variables = {'G2G': '0'}
self.num_gpus_per_node = 2
elif self.current_system.name in ['arolla', 'tsa']:
self.valid_prog_environs = ['PrgEnv-gnu']
self.num_gpus_per_node = 2
else:
self.variables = {'CRAY_CUDA_MPS': '1'}

Expand Down
23 changes: 18 additions & 5 deletions cscs-checks/cuda/multi_gpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
@rfm.simple_test
class GpuBandwidthCheck(rfm.RegressionTest):
def __init__(self):
super().__init__()
self.valid_systems = ['kesch:cn', 'daint:gpu', 'dom:gpu', 'tiger:gpu']
self.valid_systems = ['kesch:cn', 'daint:gpu', 'dom:gpu', 'tiger:gpu',
'arolla:cn', 'tsa:cn']
self.valid_prog_environs = ['PrgEnv-gnu']
if self.current_system.name == 'kesch':
if self.current_system.name in ['arolla', 'kesch', 'tsa']:
self.valid_prog_environs = ['PrgEnv-gnu-nompi']
self.exclusive_access = True

Expand All @@ -24,6 +24,8 @@ def __init__(self):
nvidia_sm = '60'
if self.current_system.name == 'kesch':
nvidia_sm = '37'
elif self.current_system.name in ['arolla', 'tsa']:
nvidia_sm = '70'

self.build_system.cxxflags = ['-I.', '-m64', '-arch=sm_%s' % nvidia_sm]
self.sourcepath = 'bandwidthtestflex.cu'
Expand All @@ -41,15 +43,23 @@ def __init__(self):
if self.current_system.name in ['daint', 'dom', 'tiger']:
self.modules = ['craype-accel-nvidia60']
self.num_gpus_per_node = 1
else:
self.modules = ['craype-accel-nvidia35']
elif self.current_system.name == 'kesch':
self.modules = ['cudatoolkit/8.0.61']
self.num_gpus_per_node = 8
elif self.current_system.name in ['arolla', 'tsa']:
self.modules = ['cuda/10.1.243']
self.num_gpus_per_node = 8

# perf_patterns and reference will be set by the sanity check function
self.sanity_patterns = self.do_sanity_check()
self.perf_patterns = {}
self.reference = {}
self.__bwref = {
# FIXME: reference values for Arolla and Tsa need to be updated
# (sanity check fails if they are not defined)
'arolla:cn:h2d': (7583, -0.1, None, 'MB/s'),
'arolla:cn:d2h': (7584, -0.1, None, 'MB/s'),
'arolla:cn:d2d': (137408, -0.1, None, 'MB/s'),
'daint:gpu:h2d': (11881, -0.1, None, 'MB/s'),
'daint:gpu:d2h': (12571, -0.1, None, 'MB/s'),
'daint:gpu:d2d': (499000, -0.1, None, 'MB/s'),
Expand All @@ -62,6 +72,9 @@ def __init__(self):
'tiger:gpu:h2d': (0, None, None, 'MB/s'),
'tiger:gpu:d2h': (0, None, None, 'MB/s'),
'tiger:gpu:d2d': (0, None, None, 'MB/s'),
'tsa:cn:h2d': (7583, -0.1, None, 'MB/s'),
'tsa:cn:d2h': (7584, -0.1, None, 'MB/s'),
'tsa:cn:d2d': (137408, -0.1, None, 'MB/s'),
}
self.tags = {'diagnostic', 'benchmark', 'mch',
'craype', 'external-resources'}
Expand Down
22 changes: 21 additions & 1 deletion cscs-checks/libraries/io/netcdf_compile_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ def __init__(self, lang, linkage):
self.linkage = linkage
self.descr = lang_names[lang] + ' NetCDF ' + linkage.capitalize()
self.valid_systems = ['daint:gpu', 'daint:mc',
'dom:gpu', 'dom:mc', 'kesch:cn', 'tiger:gpu']
'dom:gpu', 'dom:mc', 'kesch:cn', 'tiger:gpu',
'arolla:cn', 'tsa:cn']
if self.current_system.name in ['daint', 'dom', 'tiger']:
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
'PrgEnv-intel', 'PrgEnv-pgi']
Expand All @@ -30,6 +31,9 @@ def __init__(self, lang, linkage):

if lang != 'f90':
self.valid_prog_environs += ['PrgEnv-cray-nompi']
elif self.current_system.name in ['arolla', 'tsa']:
self.exclusive_access = True
self.valid_prog_environs = ['PrgEnv-gnu-nompi', 'PrgEnv-pgi-nompi']

self.sourcesdir = os.path.join(self.current_system.resourcesdir,
'netcdf')
Expand Down Expand Up @@ -81,6 +85,22 @@ def setflags(self):
'-I$EBROOTNETCDFMINCPLUSPLUS/include',
'-I$EBROOTNETCDFMINFORTRAN/include'
]
elif self.current_system.name in ['arolla', 'tsa']:
self.modules = ['netcdf', 'netcdf-c++', 'netcdf-fortran']
self.build_system.cppflags = [
'-I$EBROOTNETCDF/include',
'-I$EBROOTNETCDFMINCPLUSPLUS/include',
'-I$EBROOTNETCDFMINFORTRAN/include'
]
self.build_system.ldflags = [
'-L$EBROOTNETCDF/lib',
'-L$EBROOTNETCDFMINCPLUSPLUS/lib',
'-L$EBROOTNETCDFMINFORTRAN/lib',
'-L$EBROOTNETCDF/lib64',
'-L$EBROOTNETCDFMINCPLUSPLUS/lib64',
'-L$EBROOTNETCDFMINFORTRAN/lib64',
'-lnetcdf', '-lnetcdf_c++4', '-lnetcdff'
]
else:
self.build_system.ldflags = ['-%s' % self.linkage]

Expand Down
15 changes: 11 additions & 4 deletions cscs-checks/mch/automatic_arrays_acc.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
@rfm.simple_test
class AutomaticArraysCheck(rfm.RegressionTest):
def __init__(self):
super().__init__()
self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn', 'tiger:gpu']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-pgi']
self.valid_systems = ['daint:gpu', 'dom:gpu', 'kesch:cn', 'tiger:gpu',
'arolla:cn', 'tsa:cn']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-cce', 'PrgEnv-pgi']
if self.current_system.name in ['daint', 'dom', 'tiger']:
self.modules = ['craype-accel-nvidia60']
elif self.current_system.name == 'kesch':
Expand All @@ -19,6 +19,9 @@ def __init__(self):
'CRAY_ACCEL_TARGET': 'nvidia35',
'MV2_USE_CUDA': '1'
}
elif self.current_system.name in ['arolla', 'tsa']:
self.exclusive_access = True

# This tets requires an MPI compiler, although it uses a single task
self.num_tasks = 1
self.num_gpus_per_node = 1
Expand All @@ -31,7 +34,6 @@ def __init__(self):
'time': sn.extractsingle(r'Timing:\s+(?P<time>\S+)',
self.stdout, 'time', float)
}

self.arrays_reference = {
'PrgEnv-cray': {
'daint:gpu': {'time': (5.7E-05, None, 0.15)},
Expand All @@ -52,11 +54,16 @@ def setup(self, partition, environ, **job_opts):
if environ.name.startswith('PrgEnv-cray'):
envname = 'PrgEnv-cray'
self.build_system.fflags += ['-hacc', '-hnoomp']
elif environ.name.startswith('PrgEnv-cce'):
envname = 'PrgEnv-cce'
self.build_system.fflags += ['-hacc', '-hnoomp']
elif environ.name.startswith('PrgEnv-pgi'):
envname = 'PrgEnv-pgi'
self.build_system.fflags += ['-acc']
if self.current_system.name == 'kesch':
self.build_system.fflags += ['-ta=tesla,cc35']
elif self.current_system.name in ['arolla', 'tsa']:
self.build_system.fflags += ['-ta=tesla,cc70']
elif self.current_system.name in ['daint', 'dom', 'tiger']:
self.build_system.fflags += ['-ta=tesla,cc60', '-Mnorpath']
else:
Expand Down
Loading