summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/mpich/package.py
diff options
context:
space:
mode:
authorGreg Becker <becker33@llnl.gov>2022-11-04 14:52:11 -0700
committerGitHub <noreply@github.com>2022-11-04 14:52:11 -0700
commit53fbaa5dcded49d4fa04ee307813071873dab4f3 (patch)
tree922ed93c53336d76c2ed2c083b8a7fa0ef5a1d98 /var/spack/repos/builtin/packages/mpich/package.py
parenta88c74dc1795e7aa38c5ac04b7af16d1c7c586f5 (diff)
downloadspack-53fbaa5dcded49d4fa04ee307813071873dab4f3.tar.gz
spack-53fbaa5dcded49d4fa04ee307813071873dab4f3.tar.bz2
spack-53fbaa5dcded49d4fa04ee307813071873dab4f3.tar.xz
spack-53fbaa5dcded49d4fa04ee307813071873dab4f3.zip
Cray support: use linux platform for newer craype versions (#29392)
Newer versions of the CrayPE for EX systems have standalone compiler executables for CCE and compiler wrappers for Cray MPICH. With those, we can treat the cray systems as part of the linux platform rather than having a separate cray platform. This PR: - [x] Changes cray platform detection to ignore EX systems with Craype version 21.10 or later - [x] Changes the cce compiler to be detectable via paths - [x] Changes the spack compiler wrapper to understand the executable names for the standalone cce compiler (`craycc`, `crayCC`, `crayftn`).
Diffstat (limited to 'var/spack/repos/builtin/packages/mpich/package.py')
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index 8692cf0636..8604903f32 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -390,8 +390,7 @@ with '-Wl,-commons,use_dylibs' and without
# their run environments the code to make the compilers available.
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mpich"
- external_modules = self.spec.external_modules
- if external_modules and "cray" in external_modules[0]:
+ if self.spec.satisfies("platform=cray"):
# This is intended to support external MPICH instances registered
# by Spack on Cray machines prior to a879c87; users defining an
# external MPICH entry for Cray should generally refer to the
@@ -420,8 +419,7 @@ with '-Wl,-commons,use_dylibs' and without
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mpich"
- external_modules = spec.external_modules
- if external_modules and "cray" in external_modules[0]:
+ if self.spec.satisfies("platform=cray"):
spec.mpicc = spack_cc
spec.mpicxx = spack_cxx
spec.mpifc = spack_fc