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:
Massimiliano Culpo 2024-08-30 11:16:35 +02:00 committed by GitHub
parent c283fce487
commit 1c1970e727
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 22 additions and 2 deletions

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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")

View File

@ -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.

View File

@ -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

View File

@ -20,7 +20,7 @@ class SpectrumMpi(BundlePackage):
provides("mpi")
conflicts("platform=windows")
requires("platform=linux")
executables = ["^ompi_info$"]