Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 7 additions & 2 deletions cscs-checks/apps/paraview/paraview_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@
class ParaViewCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'eiger:mc']
self.valid_prog_environs = ['builtin']
'eiger:mc', 'pilatus:mc']

if self.current_system.name == 'pilatus':
self.valid_prog_environs = ['cpeCray']
else:
self.valid_prog_environs = ['builtin']

self.num_tasks = 12
self.num_tasks_per_node = 12
self.modules = ['ParaView']
Expand Down
9 changes: 7 additions & 2 deletions cscs-checks/libraries/boost/boost_python_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,13 @@ class BoostPythonBindingsTest(rfm.RegressionTest):
def __init__(self):
self.descr = f'Test for Boost with Python bindings'
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'eiger:mc']
self.valid_prog_environs = ['builtin']
'eiger:mc', 'pilatus:mc']

if self.current_system.name == 'pilatus':
self.valid_prog_environs = ['cpeGNU']
else:
self.valid_prog_environs = ['builtin']

self.modules = [f'Boost']
self.executable = f'python3 hello.py'
self.sanity_patterns = sn.assert_found('hello, world', self.stdout)
Expand Down
14 changes: 10 additions & 4 deletions cscs-checks/libraries/io/hdf5_compile_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,16 @@ def __init__(self, lang, linkage):
self.descr = lang_names[lang] + ' HDF5 ' + linkage.capitalize()
self.sourcepath = f'h5ex_d_chunk.{lang}'
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
'PrgEnv-intel', 'PrgEnv-pgi']
if linkage == 'dynamic':
self.valid_systems += ['eiger:mc']
self.valid_systems += ['eiger:mc', 'pilatus:mc']

# PrgEnv-intel on Pilatus does not feature cray-hdf5 as of PE 21.02
if self.current_system.name == 'pilatus':
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and eiger ? and PrgEnv-intel ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The exception is only for Pilatus since at present PrgEnv-intel does not feature cray-hdf5 in PE 21.02.
There is no PrgEnv-intel on Eiger at the moment, so this is not defined in the config.py for the system.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can check yourself that the intel compiler is missing in the output of the command module spider cray-hdf5/1.12.0.3:

uan04:~$ module spider cray-hdf5/1.12.0.3
----------------------------------------------------------------------------------------------------------------------------------
  cray-hdf5: cray-hdf5/1.12.0.3
----------------------------------------------------------------------------------------------------------------------------------
    You will need to load all module(s) on any one of the lines below before the "cray-hdf5/1.12.0.3" module is available to load.
      aocc/2.2.0.1
      cce/10.0.4
      cce/11.0.0
      cce/11.0.1
      cce/11.0.2
      cce/11.0.3
      gcc/10.1.0
      gcc/10.2.0
      gcc/9.3.0

self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray',
'PrgEnv-gnu']
else:
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
'PrgEnv-intel', 'PrgEnv-pgi']

self.modules = ['cray-hdf5']
self.keep_files = ['h5dump_out.txt']
Expand Down Expand Up @@ -80,4 +86,4 @@ def __init__(self, lang, linkage):
self.postrun_cmds = ['h5dump h5ex_d_chunk.h5 > h5dump_out.txt']

self.maintainers = ['SO', 'RS']
self.tags = {'production', 'craype'}
self.tags = {'production', 'craype'}
13 changes: 7 additions & 6 deletions cscs-checks/libraries/io/netcdf_compile_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ def __init__(self, lang, linkage):
self.linkage = linkage
self.descr = f'{lang_names[lang]} NetCDF {linkage.capitalize()}'
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'arolla:cn', 'tsa:cn', 'eiger:mc']
if linkage == 'static':
self.valid_systems.remove('eiger:mc')
'arolla:cn', 'tsa:cn']
if linkage == 'dynamic':
self.valid_systems += ['eiger:mc', 'pilatus:mc']

if self.current_system.name in ['daint', 'dom']:
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
Expand All @@ -33,8 +33,9 @@ def __init__(self, lang, linkage):
elif self.current_system.name in ['arolla', 'tsa']:
self.exclusive_access = True
self.valid_prog_environs = ['PrgEnv-gnu-nompi', 'PrgEnv-pgi-nompi']
elif self.current_system.name in ['eiger']:
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu']
elif self.current_system.name in ['eiger', 'pilatus']:
self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray',
'PrgEnv-gnu']
self.modules = ['cray-hdf5', 'cray-netcdf']
else:
self.valid_prog_environs = []
Expand Down Expand Up @@ -68,4 +69,4 @@ def setflags(self):
'-lnetcdf', '-lnetcdf_c++4', '-lnetcdff'
]
else:
self.build_system.ldflags = [f'-{self.linkage}']
self.build_system.ldflags = [f'-{self.linkage}']
8 changes: 4 additions & 4 deletions cscs-checks/libraries/math/scalapack_compile_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ def __init__(self, linkage):
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
'scalapack')
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:mc', 'dom:gpu']
if self.linkage == 'dynamic':
self.valid_systems.append('eiger:mc')
if linkage == 'dynamic':
self.valid_systems += ['eiger:mc', 'pilatus:mc']

self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu',
self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray', 'PrgEnv-gnu',
'PrgEnv-intel']
self.num_tasks = 16
self.num_tasks_per_node = 8
Expand Down Expand Up @@ -63,4 +63,4 @@ def scalapack_sanity(number1, number2, expected_value):
scalapack_sanity(4, 2, 0.4064822185450869),
scalapack_sanity(4, 3, 0.2483911184660867),
scalapack_sanity(4, 4, 0.1701907253504270)
])
])
11 changes: 9 additions & 2 deletions cscs-checks/microbenchmarks/cpu/alloc_speed/alloc_speed.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@ def __init__(self, hugepages):
self.build_system = 'SingleSource'
self.build_system.cxxflags = ['-O3', '-std=c++11']
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'eiger:mc']
'eiger:mc', 'pilatus:mc']
self.valid_prog_environs = ['PrgEnv-gnu']
if hugepages == 'no':
self.valid_systems += ['arolla:cn', 'arolla:pn',
'tsa:cn', 'tsa:pn']
else:
if self.current_system.name in {'dom', 'daint', 'eiger'}:
if self.current_system.name in {'dom', 'daint',
'eiger', 'pilatus'}:
self.modules = ['craype-hugepages%s' % hugepages]

self.sanity_patterns = sn.assert_found('4096 MB', self.stdout)
Expand All @@ -46,6 +47,9 @@ def __init__(self, hugepages):
'eiger:mc': {
'time': (0.12, -0.20, 0.05, 's')
},
'pilatus:mc': {
'time': (0.12, -0.20, 0.05, 's')
},
},
'2M': {
'dom:gpu': {
Expand All @@ -63,6 +67,9 @@ def __init__(self, hugepages):
'eiger:mc': {
'time': (0.06, -0.20, 0.10, 's')
},
'pilatus:mc': {
'time': (0.06, -0.20, 0.10, 's')
},
'*': {
'time': (0, None, None, 's')
}
Expand Down
9 changes: 5 additions & 4 deletions cscs-checks/microbenchmarks/cpu/dgemm/dgemm.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ def __init__(self):
self.perf_patterns = {}
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'arolla:cn', 'arolla:pn', 'tsa:cn', 'tsa:pn',
'eiger:mc']
'eiger:mc', 'pilatus:mc']
if self.current_system.name in ['daint', 'dom']:
self.valid_prog_environs = ['PrgEnv-gnu', 'PrgEnv-intel']
elif self.current_system.name in ['arolla', 'tsa']:
self.valid_prog_environs = ['PrgEnv-gnu-nompi']
elif self.current_system.name in ['eiger']:
elif self.current_system.name in ['eiger', 'pilatus']:
self.valid_prog_environs = ['PrgEnv-gnu']
else:
self.valid_prog_environs = []
Expand All @@ -39,6 +39,7 @@ def __init__(self):
'dom:gpu': (300.0, -0.15, None, 'Gflop/s'),
'dom:mc': (1040.0, -0.15, None, 'Gflop/s'),
'eiger:mc': (3200.0, -0.15, None, 'Gflop/s'),
'pilatus:mc': (3200.0, -0.15, None, 'Gflop/s'),
}
self.maintainers = ['AJ', 'VH']
self.tags = {'benchmark', 'diagnostic', 'craype'}
Expand Down Expand Up @@ -72,7 +73,7 @@ def set_tasks(self):
self.num_cpus_per_task = 16
elif self.current_partition.fullname in ['arolla:pn', 'tsa:pn']:
self.num_cpus_per_task = 40
elif self.current_partition.fullname in ['eiger:mc']:
elif self.current_partition.fullname in ['eiger:mc', 'pilatus:mc']:
self.num_cpus_per_task = 128

if self.num_cpus_per_task:
Expand Down Expand Up @@ -104,4 +105,4 @@ def eval_sanity(self):
r'%s:\s+Avg\. performance\s+:\s+(?P<gflops>\S+)'
r'\sGflop/s' % hostname, self.stdout, 'gflops', float)

return True
return True
10 changes: 9 additions & 1 deletion cscs-checks/microbenchmarks/cpu/simd/vc.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,19 @@ class VcSimdTest(rfm.RegressionTest):

def __init__(self):
self.valid_systems = ['*']
self.valid_prog_environs = ['builtin']
if self.current_system.name in ['eiger', 'pilatus']:
self.valid_prog_environs = ['cpeGNU']
else:
self.valid_prog_environs = ['PrgEnv-gnu']

self.descr = 'finitediff example'
self.build_system = 'SingleSource'
self.testname = 'finitediff'
src_url = 'https://raw.githubusercontent.com/VcDevel/Vc/1.4/examples'
src1 = '%s/tsc.h' % src_url
src2 = '%s/finitediff/main.cpp' % src_url
self.prebuild_cmds = [
'module list',
'wget %s %s' % (src1, src2),
'sed -ie "s-../tsc.h-./tsc.h-" main.cpp',
]
Expand Down Expand Up @@ -77,6 +82,9 @@ def __init__(self):
'eiger:mc': {
'speedup': (1.32, -0.2, 0.2, '')
},
'pilatus:mc': {
'speedup': (1.32, -0.2, 0.2, '')
},
'*': {
'speedup': (1.0, None, None, '')
}
Expand Down
11 changes: 9 additions & 2 deletions cscs-checks/microbenchmarks/cpu/strided_bandwidth/strides.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def __init__(self):
self.sourcepath = 'strides.cpp'
self.build_system = 'SingleSource'
self.valid_systems = ['daint:gpu', 'dom:gpu', 'daint:mc', 'dom:mc',
'eiger:mc']
'eiger:mc', 'pilatus:mc']
self.valid_prog_environs = ['PrgEnv-gnu']
self.num_tasks = 1
self.num_tasks_per_node = 1
Expand All @@ -33,6 +33,7 @@ def __init__(self):
'dom:mc': 72,
'dom:gpu': 24,
'eiger:mc': 128,
'pilatus:mc': 128
}

self.maintainers = ['SK']
Expand Down Expand Up @@ -65,6 +66,9 @@ def __init__(self):
'eiger:mc': {
'bandwidth': (270, -0.1, 0.1, 'GB/s')
},
'pilatus:mc': {
'bandwidth': (270, -0.1, 0.1, 'GB/s')
}
}

@rfm.run_before('run')
Expand Down Expand Up @@ -96,6 +100,9 @@ def __init__(self):
'eiger:mc': {
'bandwidth': (33, -0.1, 0.2, 'GB/s')
},
'pilatus:mc': {
'bandwidth': (33, -0.1, 0.2, 'GB/s')
}
}

@rfm.run_before('run')
Expand Down Expand Up @@ -134,4 +141,4 @@ def set_exec_opts(self):
self.num_cpus = self.system_num_cpus[self.current_partition.fullname]

# 128-byte stride, using 1/8 of every 2nd cacheline
self.executable_opts = ['100000000', '16', '%s' % self.num_cpus]
self.executable_opts = ['100000000', '16', '%s' % self.num_cpus]
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ def __init__(self):
self.build_system = 'SingleSource'
self.build_system.cflags = ['-O2']
self.valid_systems = ['daint:gpu', 'dom:gpu', 'daint:mc', 'dom:mc',
'arolla:cn', 'tsa:cn', 'eiger:mc']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-pgi',
'PrgEnv-gnu']
'arolla:cn', 'tsa:cn', 'eiger:mc', 'pilatus:mc']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu', 'PrgEnv-pgi']
self.num_tasks = 6
self.num_tasks_per_node = 1
self.num_gpus_per_node = 0
Expand Down Expand Up @@ -121,6 +120,17 @@ def __init__(self):
'time_6_10000': (1.04e-05, None, 0.50, 's'),
'time_6_1000000': (3.55e-04, None, 0.50, 's')
},
'pilatus:mc': {
'time_2_10': (3.46e-06, None, 0.50, 's'),
'time_2_10000': (8.51e-06, None, 0.50, 's'),
'time_2_1000000': (2.07e-04, None, 0.50, 's'),
'time_4_10': (4.46e-06, None, 0.50, 's'),
'time_4_10000': (1.08e-05, None, 0.50, 's'),
'time_4_1000000': (3.55e-04, None, 0.50, 's'),
'time_6_10': (4.53e-06, None, 0.50, 's'),
'time_6_10000': (1.04e-05, None, 0.50, 's'),
'time_6_1000000': (3.55e-04, None, 0.50, 's')
},
}

self.maintainers = ['AJ']
Expand All @@ -132,4 +142,4 @@ def pgi_workaround(self):
if self.current_environ.name == 'PrgEnv-pgi':
self.variables = {
'CUDA_HOME': '$CUDATOOLKIT_HOME',
}
}
12 changes: 9 additions & 3 deletions cscs-checks/microbenchmarks/mpi/osu/osu_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ class P2PCPUBandwidthTest(P2PBaseTest):
def __init__(self):
super().__init__()
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'arolla:cn', 'tsa:cn', 'eiger:mc']
'arolla:cn', 'tsa:cn', 'eiger:mc', 'pilatus:mc']
self.executable = './p2p_osu_bw'
self.executable_opts = ['-x', '100', '-i', '1000']
self.reference = {
Expand All @@ -178,6 +178,9 @@ def __init__(self):
'eiger:mc': {
'bw': (12240.0, -0.10, None, 'MB/s')
},
'pilatus:mc': {
'bw': (12240.0, -0.10, None, 'MB/s')
},
# keeping as reference:
# 'monch:compute': {
# 'bw': (6317.84, -0.15, None, 'MB/s')
Expand All @@ -194,7 +197,7 @@ class P2PCPULatencyTest(P2PBaseTest):
def __init__(self):
super().__init__()
self.valid_systems = ['daint:gpu', 'daint:mc', 'dom:gpu', 'dom:mc',
'arolla:cn', 'tsa:cn', 'eiger:mc']
'arolla:cn', 'tsa:cn', 'eiger:mc', 'pilatus:mc']
self.executable_opts = ['-x', '100', '-i', '1000']

self.executable = './p2p_osu_latency'
Expand All @@ -214,6 +217,9 @@ def __init__(self):
'eiger:mc': {
'latency': (2.33, None, 0.15, 'us')
},
'pilatus:mc': {
'latency': (2.33, None, 0.15, 'us')
},
# keeping as reference:
# 'monch:compute': {
# 'latency': (1.27, None, 0.1, 'us')
Expand Down Expand Up @@ -293,4 +299,4 @@ def __init__(self):
self.build_system.ldflags = ['-L$EBROOTCUDA/lib64',
'-lcudart', '-lcuda']

self.build_system.cppflags = ['-D_ENABLE_CUDA_']
self.build_system.cppflags = ['-D_ENABLE_CUDA_']
16 changes: 9 additions & 7 deletions cscs-checks/prgenv/environ_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@ class DefaultPrgEnvCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
self.descr = 'Ensure PrgEnv-cray is loaded by default'
self.valid_prog_environs = ['builtin']
self.valid_systems = ['daint:login', 'dom:login', 'eiger:login']
self.valid_systems = ['daint:login', 'dom:login',
'eiger:login', 'pilatus:login']
self.executable = 'module'
self.maintainers = ['TM', 'CB']
self.tags = {'production', 'craype'}
self.sanity_patterns = sn.assert_found(r'^PrgEnv-cray', self.stderr)

if self.current_system.name == 'eiger':
if self.current_system.name in ['eiger', 'pilatus']:
self.executable_opts = ['list']
prgenv_patt = r'1\) cpe-cray'
else:
Expand All @@ -33,11 +34,12 @@ def __init__(self):
class EnvironmentCheck(rfm.RunOnlyRegressionTest):
def __init__(self):
self.descr = 'Ensure programming environment is loaded correctly'
self.valid_systems = ['daint:login', 'dom:login', 'eiger:login']
self.valid_prog_environs = ['PrgEnv-cray', 'PrgEnv-gnu', 'PrgEnv-pgi',
'PrgEnv-intel', 'PrgEnv-aocc']
self.valid_systems = ['daint:login', 'dom:login',
'eiger:login', 'pilatus:login']
self.valid_prog_environs = ['PrgEnv-aocc', 'PrgEnv-cray', 'PrgEnv-gnu',
'PrgEnv-intel', 'PrgEnv-pgi']
self.executable = 'module'
if self.current_system.name == 'eiger':
if self.current_system.name in ['eiger', 'pilatus']:
self.executable_opts = ['list']
else:
self.executable_opts = ['list', '-t']
Expand All @@ -50,7 +52,7 @@ def set_sanity(self):
# NOTE: On eiger, the first module of each programming environment,
# follows the 'cpe-<name>' pattern where <name> corresponds to the
# 'PrgEnv-<name>' used.
if self.current_system.name == 'eiger':
if self.current_system.name in ['eiger', 'pilatus']:
module_patt = rf'1\) cpe-{self.current_environ.name[7:]}'
else:
module_patt = rf'^{self.current_environ.name}'
Expand Down
Loading