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:
|
permissions:
|
||||||
read: world
|
read: world
|
||||||
write: user
|
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("cray-pmi")
|
||||||
depends_on("libfabric")
|
depends_on("libfabric")
|
||||||
|
|
||||||
|
requires("platform=linux", msg="Cray MPICH is only available on Cray")
|
||||||
|
|
||||||
# cray-mpich 8.1.7: features MPI compiler wrappers
|
# cray-mpich 8.1.7: features MPI compiler wrappers
|
||||||
variant("wrappers", default=True, when="@8.1.7:", description="enable MPI wrappers")
|
variant("wrappers", default=True, when="@8.1.7:", description="enable MPI wrappers")
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ class CrayMvapich2(Package):
|
|||||||
|
|
||||||
provides("mpi@3")
|
provides("mpi@3")
|
||||||
|
|
||||||
|
requires("platform=linux", msg="Cray MVAPICH2 is only available on Cray")
|
||||||
|
|
||||||
def setup_run_environment(self, env):
|
def setup_run_environment(self, env):
|
||||||
if spack_cc is None:
|
if spack_cc is None:
|
||||||
return
|
return
|
||||||
|
@ -22,6 +22,8 @@ class FujitsuMpi(Package):
|
|||||||
msg="currently only supports Fujitsu, Clang, or GCC compilers",
|
msg="currently only supports Fujitsu, Clang, or GCC compilers",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
requires("platform=linux")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
raise InstallError("Fujitsu MPI is not installable; it is vendor supplied")
|
raise InstallError("Fujitsu MPI is not installable; it is vendor supplied")
|
||||||
|
|
||||||
|
@ -19,8 +19,10 @@ class HpcxMpi(Package):
|
|||||||
|
|
||||||
provides("mpi")
|
provides("mpi")
|
||||||
|
|
||||||
|
requires("platform=linux")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
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):
|
def setup_dependent_package(self, module, dependent_spec):
|
||||||
# This works for AOCC (AMD), Intel and GNU.
|
# This works for AOCC (AMD), Intel and GNU.
|
||||||
|
@ -33,6 +33,8 @@ class Msmpi(Package):
|
|||||||
|
|
||||||
patch("ifort_compat.patch")
|
patch("ifort_compat.patch")
|
||||||
|
|
||||||
|
requires("platform=windows")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def determine_version(cls, exe):
|
def determine_version(cls, exe):
|
||||||
# MSMPI is typically MS only, don't detect on other platforms
|
# MSMPI is typically MS only, don't detect on other platforms
|
||||||
|
@ -20,7 +20,7 @@ class SpectrumMpi(BundlePackage):
|
|||||||
|
|
||||||
provides("mpi")
|
provides("mpi")
|
||||||
|
|
||||||
conflicts("platform=windows")
|
requires("platform=linux")
|
||||||
|
|
||||||
executables = ["^ompi_info$"]
|
executables = ["^ompi_info$"]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user