|
1 | 1 | import os |
2 | 2 |
|
| 3 | +import reframe as rfm |
3 | 4 | import reframe.utility.sanity as sn |
4 | | -from reframe.core.pipeline import RunOnlyRegressionTest |
5 | 5 |
|
6 | 6 |
|
7 | | -class NamdBaseCheck(RunOnlyRegressionTest): |
| 7 | +class NamdBaseCheck(rfm.RunOnlyRegressionTest): |
8 | 8 | def __init__(self, variant, **kwargs): |
9 | 9 | super().__init__('namd_%s_check' % variant, |
10 | 10 | os.path.dirname(__file__), **kwargs) |
@@ -57,81 +57,60 @@ def __init__(self, variant, **kwargs): |
57 | 57 | } |
58 | 58 |
|
59 | 59 |
|
| 60 | +@rfm.parameterized_test(['maint'], ['prod']) |
60 | 61 | class NamdGPUCheck(NamdBaseCheck): |
61 | 62 | def __init__(self, version, **kwargs): |
62 | 63 | super().__init__('gpu_%s' % version, **kwargs) |
63 | 64 | self.valid_systems = ['daint:gpu', 'dom:gpu'] |
64 | 65 | self.executable_opts = '+idlepoll +ppn 23 stmv.namd'.split() |
65 | 66 | self.num_cpus_per_task = 24 |
66 | 67 | self.num_gpus_per_node = 1 |
| 68 | + if version == 'prod': |
| 69 | + self.tags |= {'production'} |
| 70 | + self.reference = { |
| 71 | + 'dom:gpu': { |
| 72 | + 'days_ns': (0.18, None, 0.05), |
| 73 | + }, |
| 74 | + 'daint:gpu': { |
| 75 | + 'days_ns': (0.11, None, 0.05), |
| 76 | + }, |
| 77 | + } |
| 78 | + else: |
| 79 | + self.tags |= {'maintenance'} |
| 80 | + self.reference = { |
| 81 | + 'dom:gpu': { |
| 82 | + 'days_ns': (0.18, None, 0.05), |
| 83 | + }, |
| 84 | + 'daint:gpu': { |
| 85 | + 'days_ns': (0.11, None, 0.05), |
| 86 | + }, |
| 87 | + } |
67 | 88 |
|
68 | 89 |
|
69 | | -class NamdGPUProdCheck(NamdGPUCheck): |
70 | | - def __init__(self, **kwargs): |
71 | | - super().__init__('prod', **kwargs) |
72 | | - self.tags |= {'production'} |
73 | | - self.reference = { |
74 | | - 'dom:gpu': { |
75 | | - 'days_ns': (0.16, None, 0.05), |
76 | | - }, |
77 | | - 'daint:gpu': { |
78 | | - 'days_ns': (0.07, None, 0.05), |
79 | | - }, |
80 | | - } |
81 | | - |
82 | | - |
83 | | -class NamdGPUMaintCheck(NamdGPUCheck): |
84 | | - def __init__(self, **kwargs): |
85 | | - super().__init__('maint', **kwargs) |
86 | | - self.tags |= {'maintenance'} |
87 | | - self.reference = { |
88 | | - 'dom:gpu': { |
89 | | - 'days_ns': (0.16, None, 0.05), |
90 | | - }, |
91 | | - 'daint:gpu': { |
92 | | - 'days_ns': (0.07, None, 0.05), |
93 | | - }, |
94 | | - } |
95 | | - |
96 | | - |
| 90 | +@rfm.parameterized_test(['maint'], ['prod']) |
97 | 91 | class NamdCPUCheck(NamdBaseCheck): |
98 | 92 | def __init__(self, version, **kwargs): |
99 | 93 | super().__init__('cpu_%s' % version, **kwargs) |
100 | 94 | self.valid_systems = ['daint:mc', 'dom:mc'] |
101 | 95 | self.executable_opts = '+idlepoll +ppn 71 stmv.namd'.split() |
102 | 96 | self.num_cpus_per_task = 72 |
103 | | - |
104 | | - |
105 | | -class NamdCPUProdCheck(NamdCPUCheck): |
106 | | - def __init__(self, **kwargs): |
107 | | - super().__init__('prod', **kwargs) |
108 | | - self.tags |= {'production'} |
109 | | - self.reference = { |
110 | | - 'dom:mc': { |
111 | | - 'days_ns': (0.49, None, 0.05), |
112 | | - }, |
113 | | - 'daint:mc': { |
114 | | - 'days_ns': (0.27, None, 0.05), |
115 | | - }, |
116 | | - } |
117 | | - |
118 | | - |
119 | | -class NamdCPUMaintCheck(NamdCPUCheck): |
120 | | - def __init__(self, **kwargs): |
121 | | - super().__init__('maint', **kwargs) |
122 | | - self.tags |= {'maintenance'} |
123 | | - self.reference = { |
124 | | - 'dom:mc': { |
125 | | - 'days_ns': (0.49, None, 0.05), |
126 | | - }, |
127 | | - 'daint:mc': { |
128 | | - 'days_ns': (0.27, None, 0.05), |
129 | | - }, |
130 | | - } |
131 | | - |
132 | | - |
133 | | -def _get_checks(**kwargs): |
134 | | - return [NamdCPUProdCheck(**kwargs), |
135 | | - NamdCPUMaintCheck(**kwargs), |
136 | | - NamdGPUProdCheck(**kwargs), |
137 | | - NamdGPUMaintCheck(**kwargs)] |
| 97 | + if version == 'prod': |
| 98 | + self.tags |= {'production'} |
| 99 | + self.reference = { |
| 100 | + 'dom:mc': { |
| 101 | + 'days_ns': (0.57, None, 0.05), |
| 102 | + }, |
| 103 | + 'daint:mc': { |
| 104 | + 'days_ns': (0.38, None, 0.05), |
| 105 | + }, |
| 106 | + } |
| 107 | + else: |
| 108 | + self.tags |= {'maintenance'} |
| 109 | + self.reference = { |
| 110 | + 'dom:mc': { |
| 111 | + 'days_ns': (0.57, None, 0.05), |
| 112 | + }, |
| 113 | + 'daint:mc': { |
| 114 | + 'days_ns': (0.37, None, 0.05), |
| 115 | + }, |
| 116 | + } |
0 commit comments