From 728d1431d65171518633f63c6b714d22f77647ed Mon Sep 17 00:00:00 2001 From: Rafael Sarmiento Date: Fri, 9 Nov 2018 10:33:56 +0100 Subject: [PATCH 1/3] first commit --- cscs-checks/apps/namd/namd_check.py | 109 +++++++++++----------------- 1 file changed, 44 insertions(+), 65 deletions(-) diff --git a/cscs-checks/apps/namd/namd_check.py b/cscs-checks/apps/namd/namd_check.py index 926e3fbcd6..7f847c64a9 100644 --- a/cscs-checks/apps/namd/namd_check.py +++ b/cscs-checks/apps/namd/namd_check.py @@ -1,10 +1,10 @@ import os +import reframe as rfm import reframe.utility.sanity as sn -from reframe.core.pipeline import RunOnlyRegressionTest -class NamdBaseCheck(RunOnlyRegressionTest): +class NamdBaseCheck(rfm.RunOnlyRegressionTest): def __init__(self, variant, **kwargs): super().__init__('namd_%s_check' % variant, os.path.dirname(__file__), **kwargs) @@ -57,6 +57,7 @@ def __init__(self, variant, **kwargs): } +@rfm.parameterized_test(['maint'], ['prod']) class NamdGPUCheck(NamdBaseCheck): def __init__(self, version, **kwargs): super().__init__('gpu_%s' % version, **kwargs) @@ -64,74 +65,52 @@ def __init__(self, version, **kwargs): self.executable_opts = '+idlepoll +ppn 23 stmv.namd'.split() self.num_cpus_per_task = 24 self.num_gpus_per_node = 1 + if version == 'prod': + self.tags |= {'production'} + self.reference = { + 'dom:gpu': { + 'days_ns': (0.18, None, 0.05), + }, + 'daint:gpu': { + 'days_ns': (0.11, None, 0.05), + }, + } + else: + self.tags |= {'maintenance'} + self.reference = { + 'dom:gpu': { + 'days_ns': (0.18, None, 0.05), + }, + 'daint:gpu': { + 'days_ns': (0.11, None, 0.05), + }, + } -class NamdGPUProdCheck(NamdGPUCheck): - def __init__(self, **kwargs): - super().__init__('prod', **kwargs) - self.tags |= {'production'} - self.reference = { - 'dom:gpu': { - 'days_ns': (0.16, None, 0.05), - }, - 'daint:gpu': { - 'days_ns': (0.07, None, 0.05), - }, - } - - -class NamdGPUMaintCheck(NamdGPUCheck): - def __init__(self, **kwargs): - super().__init__('maint', **kwargs) - self.tags |= {'maintenance'} - self.reference = { - 'dom:gpu': { - 'days_ns': (0.16, None, 0.05), - }, - 'daint:gpu': { - 'days_ns': (0.07, None, 0.05), - }, - } - - +@rfm.parameterized_test(['maint'], ['prod']) class NamdCPUCheck(NamdBaseCheck): def __init__(self, version, **kwargs): super().__init__('cpu_%s' % version, **kwargs) self.valid_systems = ['daint:mc', 'dom:mc'] self.executable_opts = '+idlepoll +ppn 71 stmv.namd'.split() self.num_cpus_per_task = 72 - - -class NamdCPUProdCheck(NamdCPUCheck): - def __init__(self, **kwargs): - super().__init__('prod', **kwargs) - self.tags |= {'production'} - self.reference = { - 'dom:mc': { - 'days_ns': (0.49, None, 0.05), - }, - 'daint:mc': { - 'days_ns': (0.27, None, 0.05), - }, - } - - -class NamdCPUMaintCheck(NamdCPUCheck): - def __init__(self, **kwargs): - super().__init__('maint', **kwargs) - self.tags |= {'maintenance'} - self.reference = { - 'dom:mc': { - 'days_ns': (0.49, None, 0.05), - }, - 'daint:mc': { - 'days_ns': (0.27, None, 0.05), - }, - } - - -def _get_checks(**kwargs): - return [NamdCPUProdCheck(**kwargs), - NamdCPUMaintCheck(**kwargs), - NamdGPUProdCheck(**kwargs), - NamdGPUMaintCheck(**kwargs)] + if version == 'prod': + self.tags |= {'production'} + self.reference = { + 'dom:mc': { + 'days_ns': (0.57, None, 0.05), + }, + 'daint:mc': { + 'days_ns': (0.38, None, 0.05), + }, + } + else: + self.tags |= {'maintenance'} + self.reference = { + 'dom:mc': { + 'days_ns': (0.57, None, 0.05), + }, + 'daint:mc': { + 'days_ns': (0.37, None, 0.05), + }, + } From 6e4440315cc37c439c97d816ff694a8f2c90a1b2 Mon Sep 17 00:00:00 2001 From: rafael Date: Tue, 13 Nov 2018 10:57:23 +0100 Subject: [PATCH 2/3] new resources organization and fix description --- cscs-checks/apps/namd/namd_check.py | 54 +++++++++++------------------ 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/cscs-checks/apps/namd/namd_check.py b/cscs-checks/apps/namd/namd_check.py index 7f847c64a9..a7c8f85e3d 100644 --- a/cscs-checks/apps/namd/namd_check.py +++ b/cscs-checks/apps/namd/namd_check.py @@ -8,7 +8,7 @@ class NamdBaseCheck(rfm.RunOnlyRegressionTest): def __init__(self, variant, **kwargs): super().__init__('namd_%s_check' % variant, os.path.dirname(__file__), **kwargs) - self.descr = 'NAMD 2.11 check (%s)' % variant + self.descr = 'NAMD (%s) check' % variant self.valid_prog_environs = ['PrgEnv-intel'] @@ -16,7 +16,7 @@ def __init__(self, variant, **kwargs): # Reset sources dir relative to the SCS apps prefix self.sourcesdir = os.path.join(self.current_system.resourcesdir, - 'NAMD') + 'NAMD', 'prod') self.executable = 'namd2' self.use_multithreading = True @@ -67,24 +67,17 @@ def __init__(self, version, **kwargs): self.num_gpus_per_node = 1 if version == 'prod': self.tags |= {'production'} - self.reference = { - 'dom:gpu': { - 'days_ns': (0.18, None, 0.05), - }, - 'daint:gpu': { - 'days_ns': (0.11, None, 0.05), - }, - } else: self.tags |= {'maintenance'} - self.reference = { - 'dom:gpu': { - 'days_ns': (0.18, None, 0.05), - }, - 'daint:gpu': { - 'days_ns': (0.11, None, 0.05), - }, - } + + self.reference = { + 'dom:gpu': { + 'days_ns': (0.18, None, 0.05), + }, + 'daint:gpu': { + 'days_ns': (0.11, None, 0.05), + }, + } @rfm.parameterized_test(['maint'], ['prod']) @@ -96,21 +89,14 @@ def __init__(self, version, **kwargs): self.num_cpus_per_task = 72 if version == 'prod': self.tags |= {'production'} - self.reference = { - 'dom:mc': { - 'days_ns': (0.57, None, 0.05), - }, - 'daint:mc': { - 'days_ns': (0.38, None, 0.05), - }, - } else: self.tags |= {'maintenance'} - self.reference = { - 'dom:mc': { - 'days_ns': (0.57, None, 0.05), - }, - 'daint:mc': { - 'days_ns': (0.37, None, 0.05), - }, - } + + self.reference = { + 'dom:mc': { + 'days_ns': (0.57, None, 0.05), + }, + 'daint:mc': { + 'days_ns': (0.38, None, 0.05), + }, + } From 0041723d7909bfa064c6f5395561baacbd8f9e6d Mon Sep 17 00:00:00 2001 From: rafael Date: Fri, 16 Nov 2018 10:26:46 +0100 Subject: [PATCH 3/3] fix comments --- cscs-checks/apps/namd/namd_check.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cscs-checks/apps/namd/namd_check.py b/cscs-checks/apps/namd/namd_check.py index a7c8f85e3d..278af610a4 100644 --- a/cscs-checks/apps/namd/namd_check.py +++ b/cscs-checks/apps/namd/namd_check.py @@ -5,10 +5,10 @@ class NamdBaseCheck(rfm.RunOnlyRegressionTest): - def __init__(self, variant, **kwargs): - super().__init__('namd_%s_check' % variant, - os.path.dirname(__file__), **kwargs) - self.descr = 'NAMD (%s) check' % variant + def __init__(self, version, variant): + super().__init__() + self.name = 'namd_%s_%s_check' % (version, variant) + self.descr = 'NAMD check (%s, %s)' % (version, variant) self.valid_prog_environs = ['PrgEnv-intel'] @@ -59,13 +59,13 @@ def __init__(self, variant, **kwargs): @rfm.parameterized_test(['maint'], ['prod']) class NamdGPUCheck(NamdBaseCheck): - def __init__(self, version, **kwargs): - super().__init__('gpu_%s' % version, **kwargs) + def __init__(self, variant): + super().__init__('gpu', variant) self.valid_systems = ['daint:gpu', 'dom:gpu'] self.executable_opts = '+idlepoll +ppn 23 stmv.namd'.split() self.num_cpus_per_task = 24 self.num_gpus_per_node = 1 - if version == 'prod': + if variant == 'prod': self.tags |= {'production'} else: self.tags |= {'maintenance'} @@ -82,12 +82,12 @@ def __init__(self, version, **kwargs): @rfm.parameterized_test(['maint'], ['prod']) class NamdCPUCheck(NamdBaseCheck): - def __init__(self, version, **kwargs): - super().__init__('cpu_%s' % version, **kwargs) + def __init__(self, variant): + super().__init__('cpu', variant) self.valid_systems = ['daint:mc', 'dom:mc'] self.executable_opts = '+idlepoll +ppn 71 stmv.namd'.split() self.num_cpus_per_task = 72 - if version == 'prod': + if variant == 'prod': self.tags |= {'production'} else: self.tags |= {'maintenance'}