|
12 | 12 | sys.path.append(str(pathlib.Path(__file__).parent.parent.parent / 'mixins')) |
13 | 13 |
|
14 | 14 | from container_engine import ContainerEngineMixin # noqa: E402 |
| 15 | +from slurm_mpi_pmix import SlurmMpiPmixMixin |
| 16 | +from uenv_slurm_mpi_options import UenvSlurmMpiOptionsMixin |
15 | 17 |
|
16 | 18 |
|
17 | 19 | class XCCLTestsBase(rfm.RunOnlyRegressionTest): |
@@ -88,36 +90,17 @@ def set_perf(self): |
88 | 90 | } |
89 | 91 |
|
90 | 92 |
|
91 | | -class XCCLTestsBaseCE(XCCLTestsBase, ContainerEngineMixin): |
| 93 | +class XCCLTestsBaseCE(XCCLTestsBase, ContainerEngineMixin, SlurmMpiPmixMixin): |
92 | 94 | container_env_table = { |
93 | 95 | 'annotations.com.hooks': { |
94 | 96 | 'aws_ofi_nccl.enabled': 'true' |
95 | 97 | } |
96 | 98 | } |
97 | 99 |
|
98 | | - @run_before('run') |
99 | | - def set_pmix(self): |
100 | | - self.job.launcher.options += ['--mpi=pmix'] |
101 | 100 |
|
102 | | - # Disable MCA components to avoid warnings |
103 | | - self.env_vars.update( |
104 | | - { |
105 | | - 'PMIX_MCA_psec': '^munge', |
106 | | - 'PMIX_MCA_gds': '^shmem2' |
107 | | - } |
108 | | - ) |
109 | | - |
110 | | - |
111 | | -class XCCLTestsBaseUENV(XCCLTestsBase): |
| 101 | +class XCCLTestsBaseUENV(XCCLTestsBase, UenvSlurmMpiOptionsMixin): |
112 | 102 | tags.add('bencher') |
113 | 103 |
|
114 | | - @run_before('run') |
115 | | - def set_pmix(self): |
116 | | - # Some clusters, like clariden, don't use cray_shasta as default. |
117 | | - # cray_shasta is required for cray-mpich, which most uenvs use. This |
118 | | - # will need to be updated when uenvs can have OpenMPI in them. |
119 | | - self.job.launcher.options += ['--mpi=cray_shasta'] |
120 | | - |
121 | 104 |
|
122 | 105 | def _set_xccl_uenv_env_vars(env_vars): |
123 | 106 | env_vars.update( |
|
0 commit comments