Put some more constraint on a few mpi providers (#46132)
This should help not selecting, by default, some niche implementation that are supposed to be externals. Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
parent
c283fce487
commit
1c1970e727
@ -72,3 +72,13 @@ packages:
|
||||
permissions:
|
||||
read: world
|
||||
write: user
|
||||
cray-mpich:
|
||||
buildable: false
|
||||
cray-mvapich2:
|
||||
buildable: false
|
||||
fujitsu-mpi:
|
||||
buildable: false
|
||||
hpcx-mpi:
|
||||
buildable: false
|
||||
spectrum-mpi:
|
||||
buildable: false
|
||||
|
@ -32,6 +32,8 @@ class CrayMpich(Package):
|
||||
depends_on("cray-pmi")
|
||||
depends_on("libfabric")
|
||||
|
||||
requires("platform=linux", msg="Cray MPICH is only available on Cray")
|
||||
|
||||
# cray-mpich 8.1.7: features MPI compiler wrappers
|
||||
variant("wrappers", default=True, when="@8.1.7:", description="enable MPI wrappers")
|
||||
|
||||
|
@ -26,6 +26,8 @@ class CrayMvapich2(Package):
|
||||
|
||||
provides("mpi@3")
|
||||
|
||||
requires("platform=linux", msg="Cray MVAPICH2 is only available on Cray")
|
||||
|
||||
def setup_run_environment(self, env):
|
||||
if spack_cc is None:
|
||||
return
|
||||
|
@ -22,6 +22,8 @@ class FujitsuMpi(Package):
|
||||
msg="currently only supports Fujitsu, Clang, or GCC compilers",
|
||||
)
|
||||
|
||||
requires("platform=linux")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
raise InstallError("Fujitsu MPI is not installable; it is vendor supplied")
|
||||
|
||||
|
@ -19,8 +19,10 @@ class HpcxMpi(Package):
|
||||
|
||||
provides("mpi")
|
||||
|
||||
requires("platform=linux")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
raise InstallError("HPC-X MPI is not buildable, it is for external " "specs only.")
|
||||
raise InstallError("HPC-X MPI is not buildable, it is for external specs only.")
|
||||
|
||||
def setup_dependent_package(self, module, dependent_spec):
|
||||
# This works for AOCC (AMD), Intel and GNU.
|
||||
|
@ -33,6 +33,8 @@ class Msmpi(Package):
|
||||
|
||||
patch("ifort_compat.patch")
|
||||
|
||||
requires("platform=windows")
|
||||
|
||||
@classmethod
|
||||
def determine_version(cls, exe):
|
||||
# MSMPI is typically MS only, don't detect on other platforms
|
||||
|
@ -20,7 +20,7 @@ class SpectrumMpi(BundlePackage):
|
||||
|
||||
provides("mpi")
|
||||
|
||||
conflicts("platform=windows")
|
||||
requires("platform=linux")
|
||||
|
||||
executables = ["^ompi_info$"]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user