|
9 | 9 | from mache.spack.shared import _get_yaml_data |
10 | 10 | from mache.version import __version__ |
11 | 11 |
|
| 12 | +MPI_COMPILERS = { |
| 13 | + 'gnu': {'mpicc': 'mpicc', 'mpicxx': 'mpicxx', 'mpifc': 'mpif90'}, |
| 14 | + 'intel': {'mpicc': 'mpicc', 'mpicxx': 'mpicxx', 'mpifc': 'mpif90'}, |
| 15 | + 'oneapi-ifx': {'mpicc': 'mpicc', 'mpicxx': 'mpicxx', 'mpifc': 'mpif90'}, |
| 16 | + 'impi': {'mpicc': 'mpiicc', 'mpicxx': 'mpiicpc', 'mpifc': 'mpiifort'}, |
| 17 | + 'cray': {'mpicc': 'cc', 'mpicxx': 'CC', 'mpifc': 'ftn'}, |
| 18 | +} |
| 19 | + |
12 | 20 |
|
13 | 21 | def make_spack_env( |
14 | 22 | spack_path, |
@@ -250,29 +258,23 @@ def get_modules_env_vars_and_mpi_compilers( |
250 | 258 | def _get_mpi_compilers(machine, compiler, mpi, cray_compilers): |
251 | 259 | """Get a list of compilers from a yaml file""" |
252 | 260 |
|
253 | | - mpi_compilers = { |
254 | | - 'gnu': {'mpicc': 'mpicc', 'mpicxx': 'mpicxx', 'mpifc': 'mpif90'}, |
255 | | - 'intel': {'mpicc': 'mpicc', 'mpicxx': 'mpicxx', 'mpifc': 'mpif90'}, |
256 | | - 'impi': {'mpicc': 'mpiicc', 'mpicxx': 'mpiicpc', 'mpifc': 'mpiifort'}, |
257 | | - 'cray': {'mpicc': 'cc', 'mpicxx': 'CC', 'mpifc': 'ftn'}, |
258 | | - } |
259 | | - |
260 | 261 | mpi_compiler = None |
261 | 262 | # first, get mpi compilers based on compiler |
262 | | - if compiler in mpi_compilers: |
263 | | - mpi_compiler = mpi_compilers[compiler] |
| 263 | + if compiler in MPI_COMPILERS: |
| 264 | + mpi_compiler = MPI_COMPILERS[compiler] |
264 | 265 |
|
265 | 266 | # next, get mpi compilers based on mpi (higher priority) |
266 | | - if mpi in mpi_compilers: |
267 | | - mpi_compiler = mpi_compilers[mpi] |
| 267 | + if mpi in MPI_COMPILERS: |
| 268 | + mpi_compiler = MPI_COMPILERS[mpi] |
268 | 269 |
|
269 | 270 | # finally, get mpi compilers if this is a cray machine (highest priority) |
270 | 271 | if cray_compilers: |
271 | | - mpi_compiler = mpi_compilers['cray'] |
| 272 | + mpi_compiler = MPI_COMPILERS['cray'] |
272 | 273 |
|
273 | 274 | if mpi_compiler is None: |
274 | 275 | raise ValueError( |
275 | | - f"Couldn't figure out MPI compilers for {machine} {compiler} {mpi}" |
| 276 | + f"Couldn't figure out MPI compiler wrappers for {machine} " |
| 277 | + f'{compiler} {mpi}' |
276 | 278 | ) |
277 | 279 |
|
278 | 280 | return mpi_compiler['mpicc'], mpi_compiler['mpicxx'], mpi_compiler['mpifc'] |
0 commit comments