From 515b5daf522f486b8216756df9949dbaf288423f Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 3 Mar 2021 10:29:36 +0100 Subject: [PATCH 1/8] Update NAMD check for Pilatus --- cscs-checks/apps/namd/namd_check.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cscs-checks/apps/namd/namd_check.py b/cscs-checks/apps/namd/namd_check.py index 725bfcd3a5..b0916b434f 100644 --- a/cscs-checks/apps/namd/namd_check.py +++ b/cscs-checks/apps/namd/namd_check.py @@ -12,7 +12,10 @@ class NamdBaseCheck(rfm.RunOnlyRegressionTest): def __init__(self, arch, scale, variant): self.descr = 'NAMD check (%s, %s)' % (arch, variant) - self.valid_prog_environs = ['builtin'] + 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 From 717df31a9234f6acee6bff74a14c279390192475 Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 3 Mar 2021 10:47:57 +0100 Subject: [PATCH 2/8] Update GROMACS check for Pilatus --- cscs-checks/apps/gromacs/gromacs_check.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/cscs-checks/apps/gromacs/gromacs_check.py b/cscs-checks/apps/gromacs/gromacs_check.py index 879ea4624e..8bb728e6b5 100644 --- a/cscs-checks/apps/gromacs/gromacs_check.py +++ b/cscs-checks/apps/gromacs/gromacs_check.py @@ -12,7 +12,10 @@ class GromacsBaseCheck(rfm.RunOnlyRegressionTest): def __init__(self, output_file): - self.valid_prog_environs = ['builtin'] + if self.current_system.name == 'pilatus': + self.valid_prog_environs = ['cpeGNU'] + else: + self.valid_prog_environs = ['builtin'] self.executable = 'gmx_mpi' # Reset sources dir relative to the SCS apps prefix @@ -99,7 +102,7 @@ def __init__(self, scale, variant): class GromacsCPUCheck(GromacsBaseCheck): def __init__(self, scale, variant): super().__init__('md.log') - self.valid_systems = ['daint:mc', 'eiger:mc'] + self.valid_systems = ['daint:mc', 'eiger:mc', 'pilatus:mc'] self.descr = 'GROMACS CPU check' self.executable_opts = ['mdrun', '-dlb yes', '-ntomp 1', '-npme -1', '-nb cpu', '-s herflat.tpr'] @@ -109,14 +112,14 @@ def __init__(self, scale, variant): if (self.current_system.name in ['daint', 'dom']): self.num_tasks = 216 self.num_tasks_per_node = 36 - elif (self.current_system.name in ['eiger']): + elif (self.current_system.name in ['eiger', 'pilatus']): self.num_tasks = 768 self.num_tasks_per_node = 128 else: if (self.current_system.name in ['daint', 'dom']): self.num_tasks = 576 self.num_tasks_per_node = 36 - elif (self.current_system.name in ['eiger']): + elif (self.current_system.name in ['eiger', 'pilatus']): self.num_tasks = 2048 self.num_tasks_per_node = 128 @@ -125,11 +128,13 @@ def __init__(self, scale, variant): 'small': { 'dom:mc': {'perf': (40.0, -0.05, None, 'ns/day')}, 'daint:mc': {'perf': (38.8, -0.10, None, 'ns/day')}, - 'eiger:mc': {'perf': (103.00, -0.10, None, 'ns/day')} + 'eiger:mc': {'perf': (103.00, -0.10, None, 'ns/day')}, + 'pilatus:mc': {'perf': (103.00, -0.10, None, 'ns/day')} }, 'large': { 'daint:mc': {'perf': (68.0, -0.20, None, 'ns/day')}, - 'eiger:mc': {'perf': (146.00, -0.20, None, 'ns/day')} + 'eiger:mc': {'perf': (146.00, -0.20, None, 'ns/day')}, + 'pilatus:mc': {'perf': (146.00, -0.20, None, 'ns/day')} } }, } From 8aa01717e60b71a7d9058b19257f7ba29bf264b0 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 4 Mar 2021 12:19:01 +0100 Subject: [PATCH 3/8] QuantumESPRESSO check updated for Pilatus --- .../quantumespresso/quantumespresso_check.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/cscs-checks/apps/quantumespresso/quantumespresso_check.py b/cscs-checks/apps/quantumespresso/quantumespresso_check.py index 83f77289c5..f329f03e21 100644 --- a/cscs-checks/apps/quantumespresso/quantumespresso_check.py +++ b/cscs-checks/apps/quantumespresso/quantumespresso_check.py @@ -9,7 +9,11 @@ class QuantumESPRESSOCheck(rfm.RunOnlyRegressionTest): def __init__(self): - self.valid_prog_environs = ['builtin'] + if self.current_system.name == 'pilatus': + self.valid_prog_environs = ['cpeGNU'] + else: + self.valid_prog_environs = ['builtin'] + self.modules = ['QuantumESPRESSO'] self.executable = 'pw.x' self.executable_opts = ['-in', 'ausurf.in'] @@ -40,14 +44,14 @@ class QuantumESPRESSOCpuCheck(QuantumESPRESSOCheck): def __init__(self, scale, variant): super().__init__() self.descr = f'QuantumESPRESSO CPU check (version: {scale}, {variant})' - self.valid_systems = ['daint:mc', 'eiger:mc'] + self.valid_systems = ['daint:mc', 'eiger:mc', 'pilatus:mc'] if scale == 'small': self.valid_systems += ['dom:mc'] energy_reference = -11427.09017218 if self.current_system.name in ['daint', 'dom']: self.num_tasks = 216 self.num_tasks_per_node = 36 - elif self.current_system.name == 'eiger': + elif self.current_system.name in ['eiger', 'pilatus']: self.num_tasks = 96 self.num_tasks_per_node = 16 self.num_cpus_per_task = 16 @@ -64,7 +68,7 @@ def __init__(self, scale, variant): if self.current_system.name in ['daint']: self.num_tasks = 576 self.num_tasks_per_node = 36 - elif self.current_system.name in ['eiger']: + elif self.current_system.name in ['eiger', 'pilatus']: self.num_tasks = 256 self.num_tasks_per_node = 16 self.num_cpus_per_task = 16 @@ -92,22 +96,26 @@ def __init__(self, scale, variant): 'small': { 'dom:mc': {'time': (115.0, None, 0.05, 's')}, 'daint:mc': {'time': (115.0, None, 0.10, 's')}, - 'eiger:mc': {'time': (66.0, None, 0.10, 's')} + 'eiger:mc': {'time': (66.0, None, 0.10, 's')}, + 'pilatus:mc': {'time': (66.0, None, 0.10, 's')} }, 'large': { 'daint:mc': {'time': (115.0, None, 0.10, 's')}, - 'eiger:mc': {'time': (53.0, None, 0.10, 's')} + 'eiger:mc': {'time': (53.0, None, 0.10, 's')}, + 'pilatus:mc': {'time': (53.0, None, 0.10, 's')} } }, 'prod': { 'small': { 'dom:mc': {'time': (115.0, None, 0.05, 's')}, 'daint:mc': {'time': (115.0, None, 0.10, 's')}, - 'eiger:mc': {'time': (66.0, None, 0.10, 's')} + 'eiger:mc': {'time': (66.0, None, 0.10, 's')}, + 'pilatus:mc': {'time': (66.0, None, 0.10, 's')} }, 'large': { 'daint:mc': {'time': (115.0, None, 0.10, 's')}, - 'eiger:mc': {'time': (53.0, None, 0.10, 's')} + 'eiger:mc': {'time': (53.0, None, 0.10, 's')}, + 'pilatus:mc': {'time': (53.0, None, 0.10, 's')} } } } From f1f6792befb91673dfdc47be66bffe576812d923 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 4 Mar 2021 13:01:31 +0100 Subject: [PATCH 4/8] GROMACS check updated for Pilatus --- cscs-checks/apps/gromacs/gromacs_check.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cscs-checks/apps/gromacs/gromacs_check.py b/cscs-checks/apps/gromacs/gromacs_check.py index 8bb728e6b5..93275c47cf 100644 --- a/cscs-checks/apps/gromacs/gromacs_check.py +++ b/cscs-checks/apps/gromacs/gromacs_check.py @@ -16,6 +16,7 @@ def __init__(self, output_file): self.valid_prog_environs = ['cpeGNU'] else: self.valid_prog_environs = ['builtin'] + self.executable = 'gmx_mpi' # Reset sources dir relative to the SCS apps prefix From 3a75ffdf8adc5cc92614359fe23b462167f6490d Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 4 Mar 2021 19:35:32 +0100 Subject: [PATCH 5/8] LAMMPS check updated for Pilatus --- cscs-checks/apps/lammps/lammps_check.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/cscs-checks/apps/lammps/lammps_check.py b/cscs-checks/apps/lammps/lammps_check.py index 0de666c94d..a17ec03f41 100644 --- a/cscs-checks/apps/lammps/lammps_check.py +++ b/cscs-checks/apps/lammps/lammps_check.py @@ -11,7 +11,10 @@ class LAMMPSBaseCheck(rfm.RunOnlyRegressionTest): def __init__(self): - self.valid_prog_environs = ['builtin'] + if self.current_system.name == 'pilatus': + self.valid_prog_environs = ['cpeGNU'] + else: + self.valid_prog_environs = ['builtin'] self.modules = ['LAMMPS'] # Reset sources dir relative to the SCS apps prefix @@ -92,9 +95,14 @@ def __init__(self, scale, variant): class LAMMPSCPUCheck(LAMMPSBaseCheck): def __init__(self, scale, variant): super().__init__() - self.valid_systems = ['daint:mc', 'eiger:mc'] - self.executable = 'lmp_omp' - self.executable_opts = ['-sf omp', '-pk omp 1', '-in in.lj.cpu'] + self.valid_systems = ['daint:mc', 'eiger:mc', 'pilatus:mc'] + if self.current_system.name == 'pilatus': + self.executable = 'lmp_mpi' + self.executable_opts = ['-in in.lj.cpu'] + else: + self.executable = 'lmp_omp' + self.executable_opts = ['-sf omp', '-pk omp 1', '-in in.lj.cpu'] + self.scale = scale if scale == 'small': self.valid_systems += ['dom:mc'] @@ -113,11 +121,13 @@ def __init__(self, scale, variant): 'small': { 'dom:mc': {'perf': (4394, -0.05, None, 'timesteps/s')}, 'daint:mc': {'perf': (3824, -0.10, None, 'timesteps/s')}, - 'eiger:mc': {'perf': (5300, -0.05, None, 'timesteps/s')} + 'eiger:mc': {'perf': (5300, -0.05, None, 'timesteps/s')}, + 'pilatus:mc': {'perf': (5300, -0.05, None, 'timesteps/s')} }, 'large': { 'daint:mc': {'perf': (5310, -0.65, None, 'timesteps/s')}, - 'eiger:mc': {'perf': (7100, -0.05, None, 'timesteps/s')} + 'eiger:mc': {'perf': (7100, -0.05, None, 'timesteps/s')}, + 'pilatus:mc': {'perf': (7100, -0.05, None, 'timesteps/s')} } }, } From 5dc9998b61825c3dfec92172027831933acb5284 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 4 Mar 2021 19:59:32 +0100 Subject: [PATCH 6/8] CP2K check updated for Pilatus --- cscs-checks/apps/cp2k/cp2k_check.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/cscs-checks/apps/cp2k/cp2k_check.py b/cscs-checks/apps/cp2k/cp2k_check.py index 79262d62a8..557e42dd71 100644 --- a/cscs-checks/apps/cp2k/cp2k_check.py +++ b/cscs-checks/apps/cp2k/cp2k_check.py @@ -9,7 +9,11 @@ class Cp2kCheck(rfm.RunOnlyRegressionTest): def __init__(self): - self.valid_prog_environs = ['builtin'] + if self.current_system.name == 'pilatus': + self.valid_prog_environs = ['cpeGNU'] + else: + self.valid_prog_environs = ['builtin'] + self.modules = ['CP2K'] self.executable = 'cp2k.psmp' self.executable_opts = ['H2O-256.inp'] @@ -51,13 +55,13 @@ class Cp2kCpuCheck(Cp2kCheck): def __init__(self, scale, variant): super().__init__() self.descr = 'CP2K CPU check (version: %s, %s)' % (scale, variant) - self.valid_systems = ['daint:mc', 'eiger:mc'] + self.valid_systems = ['daint:mc', 'eiger:mc', 'pilatus:mc'] if scale == 'small': self.valid_systems += ['dom:mc'] if self.current_system.name in ['daint', 'dom']: self.num_tasks = 216 self.num_tasks_per_node = 36 - elif self.current_system.name == 'eiger': + elif self.current_system.name in ['eiger', 'pilatus']: self.num_tasks = 96 self.num_tasks_per_node = 16 self.num_cpus_per_task = 16 @@ -74,7 +78,7 @@ def __init__(self, scale, variant): if self.current_system.name in ['daint', 'dom']: self.num_tasks = 576 self.num_tasks_per_node = 36 - elif self.current_system.name in ['eiger']: + elif self.current_system.name in ['eiger', 'pilatus']: self.num_tasks = 256 self.num_tasks_per_node = 16 self.num_cpus_per_task = 16 @@ -92,22 +96,26 @@ def __init__(self, scale, variant): 'small': { 'dom:mc': {'time': (202.2, None, 0.05, 's')}, 'daint:mc': {'time': (180.9, None, 0.08, 's')}, - 'eiger:mc': {'time': (70.0, None, 0.08, 's')} + 'eiger:mc': {'time': (70.0, None, 0.08, 's')}, + 'pilatus:mc': {'time': (70.0, None, 0.08, 's')} }, 'large': { 'daint:mc': {'time': (141.0, None, 0.05, 's')}, - 'eiger:mc': {'time': (46.0, None, 0.05, 's')} + 'eiger:mc': {'time': (46.0, None, 0.05, 's')}, + 'pilatus:mc': {'time': (46.0, None, 0.05, 's')} } }, 'prod': { 'small': { 'dom:mc': {'time': (202.2, None, 0.05, 's')}, 'daint:mc': {'time': (180.9, None, 0.08, 's')}, - 'eiger:mc': {'time': (70.0, None, 0.08, 's')} + 'eiger:mc': {'time': (70.0, None, 0.08, 's')}, + 'pilatus:mc': {'time': (70.0, None, 0.08, 's')} }, 'large': { 'daint:mc': {'time': (113.0, None, 0.05, 's')}, - 'eiger:mc': {'time': (46.0, None, 0.05, 's')} + 'eiger:mc': {'time': (46.0, None, 0.05, 's')}, + 'pilatus:mc': {'time': (46.0, None, 0.05, 's')} } } } From c2352b432b79570250bede68e924333bcdd95a17 Mon Sep 17 00:00:00 2001 From: Luca Date: Fri, 5 Mar 2021 09:33:43 +0100 Subject: [PATCH 7/8] Adjust reference performance on Eiger and Pilatus --- cscs-checks/apps/lammps/lammps_check.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cscs-checks/apps/lammps/lammps_check.py b/cscs-checks/apps/lammps/lammps_check.py index a17ec03f41..c1d20bfbaf 100644 --- a/cscs-checks/apps/lammps/lammps_check.py +++ b/cscs-checks/apps/lammps/lammps_check.py @@ -96,7 +96,7 @@ class LAMMPSCPUCheck(LAMMPSBaseCheck): def __init__(self, scale, variant): super().__init__() self.valid_systems = ['daint:mc', 'eiger:mc', 'pilatus:mc'] - if self.current_system.name == 'pilatus': + if self.current_system.name in ['eiger', 'pilatus']: self.executable = 'lmp_mpi' self.executable_opts = ['-in in.lj.cpu'] else: @@ -121,13 +121,13 @@ def __init__(self, scale, variant): 'small': { 'dom:mc': {'perf': (4394, -0.05, None, 'timesteps/s')}, 'daint:mc': {'perf': (3824, -0.10, None, 'timesteps/s')}, - 'eiger:mc': {'perf': (5300, -0.05, None, 'timesteps/s')}, - 'pilatus:mc': {'perf': (5300, -0.05, None, 'timesteps/s')} + 'eiger:mc': {'perf': (4500, -0.10, None, 'timesteps/s')}, + 'pilatus:mc': {'perf': (5000, -0.10, None, 'timesteps/s')} }, 'large': { 'daint:mc': {'perf': (5310, -0.65, None, 'timesteps/s')}, - 'eiger:mc': {'perf': (7100, -0.05, None, 'timesteps/s')}, - 'pilatus:mc': {'perf': (7100, -0.05, None, 'timesteps/s')} + 'eiger:mc': {'perf': (6500, -0.10, None, 'timesteps/s')}, + 'pilatus:mc': {'perf': (7500, -0.10, None, 'timesteps/s')} } }, } From aee276527218df16322891abff2f0c9b0d69de7f Mon Sep 17 00:00:00 2001 From: Luca Date: Fri, 5 Mar 2021 09:35:22 +0100 Subject: [PATCH 8/8] Remove Line 102:14: W291 trailing whitespace for pep8speaks --- cscs-checks/apps/lammps/lammps_check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cscs-checks/apps/lammps/lammps_check.py b/cscs-checks/apps/lammps/lammps_check.py index c1d20bfbaf..81a59b4815 100644 --- a/cscs-checks/apps/lammps/lammps_check.py +++ b/cscs-checks/apps/lammps/lammps_check.py @@ -99,7 +99,7 @@ def __init__(self, scale, variant): if self.current_system.name in ['eiger', 'pilatus']: self.executable = 'lmp_mpi' self.executable_opts = ['-in in.lj.cpu'] - else: + else: self.executable = 'lmp_omp' self.executable_opts = ['-sf omp', '-pk omp 1', '-in in.lj.cpu']