Remove "classic" Intel packages (#45188)

This commit is contained in:
Massimiliano Culpo 2025-03-27 10:13:33 +01:00 committed by GitHub
parent 199133fca4
commit 4894668ece
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
65 changed files with 198 additions and 1706 deletions

View File

@ -311,4 +311,4 @@ def ld_flags(self):
#: Tuple of Intel math libraries, exported to packages
INTEL_MATH_LIBRARIES = ("intel-mkl", "intel-oneapi-mkl", "intel-parallel-studio")
INTEL_MATH_LIBRARIES = ("intel-oneapi-mkl",)

View File

@ -572,7 +572,7 @@ def edit(self, spec, prefix):
class IntelPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for licensed Intel software"""
base_class_name = "IntelPackage"
base_class_name = "IntelOneApiPackage"
body_def = """\
# FIXME: Override `setup_environment` if necessary."""

View File

@ -62,7 +62,7 @@
(
["-t", "intel", "/test-intel"],
"test-intel",
[r"TestIntel(IntelPackage)", r"setup_environment"],
[r"TestIntel(IntelOneApiPackage)", r"setup_environment"],
),
(
["-t", "makefile", "/test-makefile"],

View File

@ -24,8 +24,6 @@ def test_it_just_runs(pkg):
(
("mpi",),
[
"intel-mpi",
"intel-parallel-studio",
"mpich",
"mpilander",
"mvapich2",

View File

@ -209,7 +209,7 @@ def configure_args(self):
linalg = spec["lapack"].libs + spec["blas"].libs
# linalg_flavor is selected using the virtual lapack provider
is_using_intel_libraries = spec["lapack"].name in INTEL_MATH_LIBRARIES
is_using_intel_libraries = spec["lapack"].name == "intel-oneapi-mkl"
# These *must* be elifs, otherwise spack's lapack provider is ignored
# linalg_flavor ends up as "custom", which is not supported by abinit@9.10.3:

View File

@ -86,7 +86,7 @@ def cmake_args(self):
]
args.append(self.define("CUDA_architecture_build_targets", arch_list))
if self.spec["blas"].name in INTEL_MATH_LIBRARIES:
if self.spec.satisfies("^[virtuals=blas] intel-oneapi-mkl"):
if self.version >= Version("3.8.0"):
args.append(self.define("AF_COMPUTE_LIBRARY", "Intel-MKL"))
else:

View File

@ -52,7 +52,7 @@ def edit(self, spec, prefix):
if spec["blas"].name == "openblas":
env["OPENBLAS"] = "1"
elif spec["blas"].name in INTEL_MATH_LIBRARIES:
elif spec.satisfies("^[virtuals=blas] intel-oneapi-mkl"):
env["MKL"] = "1"
env["MKL_BASE"] = spec["mkl"].prefix.mkl
else:

View File

@ -26,7 +26,7 @@ class Batchedblas(MakefilePackage):
def edit(self, spec, prefix):
CCFLAGS = [self.compiler.openmp_flag, "-I./", "-O3"]
BLAS = ["-lm", spec["blas"].libs.ld_flags]
if spec["blas"].name not in INTEL_MATH_LIBRARIES:
if not spec.satisfies("^[virtuals=blas] intel-oneapi-mkl"):
CCFLAGS.append("-D_CBLAS_")
if spec.satisfies("%intel"):
CCFLAGS.extend(["-Os"])

View File

@ -69,7 +69,8 @@ class Beatnik(CMakePackage, CudaPackage, ROCmPackage):
conflicts("mpich ~cuda", when="+cuda")
conflicts("mpich ~rocm", when="+rocm")
conflicts("openmpi ~cuda", when="+cuda")
conflicts("^intel-mpi") # Heffte won't build with intel MPI because of needed C++ MPI support
# Heffte won't build with intel MPI because of needed C++ MPI support
conflicts("^intel-oneapi-mpi")
conflicts("^spectrum-mpi", when="^cuda@11.3:") # cuda-aware spectrum is broken with cuda 11.3:
# Propagate CUDA and AMD GPU targets to cabana

View File

@ -78,12 +78,7 @@ class Berkeleygw(MakefilePackage):
depends_on("cray-fftw+openmp", when="^[virtuals=fftw-api] cray-fftw")
depends_on("fftw+openmp", when="^[virtuals=fftw-api] fftw")
depends_on("fujitsu-fftw+openmp", when="^[virtuals=fftw-api] fujitsu-fftw")
depends_on("intel-mkl threads=openmp", when="^[virtuals=fftw-api] intel-mkl")
depends_on("intel-oneapi-mkl threads=openmp", when="^[virtuals=fftw-api] intel-oneapi-mkl")
depends_on(
"intel-parallel-studio threads=openmp",
when="^[virtuals=fftw-api] intel-parallel-studio",
)
with when("~openmp"):
depends_on("acfl threads=none", when="^[virtuals=fftw-api] acfl")
@ -92,11 +87,7 @@ class Berkeleygw(MakefilePackage):
depends_on("cray-fftw~openmp", when="^[virtuals=fftw-api] cray-fftw")
depends_on("fftw~openmp", when="^[virtuals=fftw-api] fftw")
depends_on("fujitsu-fftw~openmp", when="^[virtuals=fftw-api] fujitsu-fftw")
depends_on("intel-mkl threads=none", when="^[virtuals=fftw-api] intel-mkl")
depends_on("intel-oneapi-mkl threads=none", when="^[virtuals=fftw-api] intel-oneapi-mkl")
depends_on(
"intel-parallel-studio threads=none", when="^[virtuals=fftw-api] intel-parallel-studio"
)
# in order to run the installed python scripts
depends_on("python", type=("build", "run"), when="+python")

View File

@ -89,17 +89,20 @@ def cosma_blas_cmake_arg(self):
query_to_cmake_arg = [
("+cuda", "CUDA"),
("+rocm", "ROCM"),
("^intel-mkl", "MKL"),
("^intel-oneapi-mkl", "MKL"),
("^cray-libsci", "CRAY_LIBSCI"),
("^netlib-lapack", "CUSTOM"),
("^openblas", "OPENBLAS"),
("^fujitsu-ssl2", "SSL2"),
("^[virtuals=blas] intel-oneapi-mkl", "MKL"),
("^[virtuals=blas] cray-libsci", "CRAY_LIBSCI"),
("^[virtuals=blas] netlib-lapack", "CUSTOM"),
("^[virtuals=blas] openblas", "OPENBLAS"),
("^[virtuals=blas] fujitsu-ssl2", "SSL2"),
]
if self.version >= Version("2.4.0"):
query_to_cmake_arg.extend(
[("^blis", "BLIS"), ("^amdblis", "BLIS"), ("^atlas", "ATLAS")]
[
("^[virtuals=blas] blis", "BLIS"),
("^[virtuals=blas] amdblis", "BLIS"),
("^[virtuals=blas] atlas", "ATLAS"),
]
)
for query, cmake_arg in query_to_cmake_arg:
@ -113,7 +116,7 @@ def cosma_scalapack_cmake_arg(self):
if spec.satisfies("~scalapack"):
return "OFF"
elif spec.satisfies("^intel-mkl") or spec.satisfies("^intel-oneapi-mkl"):
elif spec.satisfies("^[virtuals=scalapack] intel-oneapi-mkl"):
return "MKL"
elif spec.satisfies("^cray-libsci"):
return "CRAY_LIBSCI"

View File

@ -58,9 +58,9 @@ def costa_scalapack_cmake_arg(self):
if spec.satisfies("~scalapack"):
return "OFF"
elif spec.satisfies("^intel-mkl") or spec.satisfies("^intel-oneapi-mkl"):
elif spec.satisfies("^[virtuals=scalapack] intel-oneapi-mkl"):
return "MKL"
elif spec.satisfies("^cray-libsci"):
elif spec.satisfies("^[virtuals=scalapack] cray-libsci"):
return "CRAY_LIBSCI"
return "CUSTOM"

View File

@ -495,7 +495,7 @@ def edit(self, pkg, spec, prefix):
}
dflags = ["-DNDEBUG"] if spec.satisfies("@:2023.2") else []
if fftw.name in ("intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"):
if fftw.name == "intel-oneapi-mkl":
cppflags = ["-D__FFTW3_MKL", "-I{0}".format(fftw_header_dir)]
else:
cppflags = ["-D__FFTW3", "-I{0}".format(fftw_header_dir)]
@ -705,7 +705,7 @@ def edit(self, pkg, spec, prefix):
if spec.satisfies("platform=darwin"):
cppflags.extend(["-D__NO_STATM_ACCESS"])
if spec["blas"].name in ("intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"):
if spec["blas"].name == "intel-oneapi-mkl":
cppflags += ["-D__MKL"]
elif spec["blas"].name == "accelerate":
cppflags += ["-D__ACCELERATE"]
@ -725,8 +725,6 @@ def edit(self, pkg, spec, prefix):
else:
mpi = spec["mpi:cxx"].libs
# while intel-mkl has a mpi variant and adds the scalapack
# libs to its libs, intel-oneapi-mkl does not.
if spec["scalapack"].name == "intel-oneapi-mkl":
mpi_impl = "openmpi" if spec["mpi"].name in ["openmpi", "hpcx-mpi"] else "intelmpi"
scalapack = [
@ -1098,7 +1096,7 @@ def cmake_args(self):
lapack = spec["lapack"]
blas = spec["blas"]
if blas.name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]:
if blas.name == "intel-oneapi-mkl":
args += ["-DCP2K_BLAS_VENDOR=MKL"]
if sys.platform == "darwin":
args += [

View File

@ -43,7 +43,7 @@ def url_for_version(self, version):
def configure_args(self):
config_args = []
if self.spec["fftw-api"].name in INTEL_MATH_LIBRARIES:
if self.spec.satisfies("^[virtuals=fftw-api] intel-oneapi-mkl"):
config_args.extend(
[
"--enable-mkl",

View File

@ -388,12 +388,16 @@ class Dealii(CMakePackage, CudaPackage):
# Check that the combination of variants makes sense
# 64-bit BLAS:
for _package in ["openblas", "intel-mkl", "intel-parallel-studio+mkl"]:
conflicts(
"^{0}+ilp64".format(_package),
when="@:8.5.1",
msg="64bit BLAS is only supported from 9.0.0",
)
conflicts(
"^[virtuals=lapack] openblas+ilp64",
when="@:8.5.1",
msg="64bit BLAS is only supported from 9.0.0",
)
conflicts(
"^[virtuals=lapack] intel-oneapi-mkl+ilp64",
when="@:8.5.1",
msg="64bit BLAS is only supported from 9.0.0",
)
# MPI requirements:
for _package in [
@ -505,10 +509,8 @@ def cmake_args(self):
# 64 bit indices
options.append(self.define_from_variant("DEAL_II_WITH_64BIT_INDICES", "int64"))
if (
spec.satisfies("^openblas+ilp64")
or spec.satisfies("^intel-mkl+ilp64")
or spec.satisfies("^intel-parallel-studio+mkl+ilp64")
if spec.satisfies("^[virtuals=lapack] openblas+ilp64") or spec.satisfies(
"^[virtuals=lapack] intel-oneapi-mkl+ilp64"
):
options.append(self.define("LAPACK_WITH_64BIT_BLAS_INDICES", True))
@ -570,20 +572,9 @@ def cmake_args(self):
options.append(self.define_from_variant("DEAL_II_WITH_TBB", "threads"))
else:
options.append(self.define_from_variant("DEAL_II_WITH_THREADS", "threads"))
if spec.satisfies("+threads"):
if spec.satisfies("^intel-parallel-studio+tbb"):
# deal.II/cmake will have hard time picking up TBB from Intel.
tbb_ver = ".".join(("%s" % spec["tbb"].version).split(".")[1:])
options.extend(
[
self.define("TBB_FOUND", True),
self.define("TBB_VERSION", tbb_ver),
self.define("TBB_INCLUDE_DIRS", ";".join(spec["tbb"].headers.directories)),
self.define("TBB_LIBRARIES", spec["tbb"].libs.joined(";")),
]
)
else:
options.append(self.define("TBB_DIR", spec["tbb"].prefix))
options.append(self.define("TBB_DIR", spec["tbb"].prefix))
# Optional dependencies for which library names are the same as CMake
# variables:

View File

@ -182,71 +182,41 @@ def cmake_args(self):
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
# BLAS/LAPACK
if spec.version <= Version("0.4") and spec["lapack"].name in INTEL_MATH_LIBRARIES:
if spec.version <= Version("0.4") and spec.satisfies(
"^[virtuals=lapack] intel-oneapi-mkl"
):
mkl_provider = spec["lapack"].name
vmap = {
"intel-oneapi-mkl": {
"threading": {
"none": "sequential",
"openmp": "gnu_thread",
"tbb": "tbb_thread",
},
"mpi": {"intel-mpi": "intelmpi", "mpich": "mpich", "openmpi": "openmpi"},
},
"intel-mkl": {
"threading": {"none": "seq", "openmp": "omp", "tbb": "tbb"},
"mpi": {"intel-mpi": "mpich", "mpich": "mpich", "openmpi": "ompi"},
},
"threading": {"none": "sequential", "openmp": "gnu_thread", "tbb": "tbb_thread"},
"mpi": {"intel-oneapi-mpi": "intelmpi", "mpich": "mpich", "openmpi": "openmpi"},
}
if mkl_provider not in vmap.keys():
raise RuntimeError(
f"dla-future does not support {mkl_provider} as lapack provider"
)
mkl_mapper = vmap[mkl_provider]
mkl_threads = mkl_mapper["threading"][spec[mkl_provider].variants["threads"].value]
if mkl_provider == "intel-oneapi-mkl":
args += [
self.define("DLAF_WITH_MKL", True),
self.define("MKL_INTERFACE", "lp64"),
self.define("MKL_THREADING", mkl_threads),
]
elif mkl_provider == "intel-mkl":
args += [
(
self.define("DLAF_WITH_MKL", True)
if spec.version <= Version("0.3")
else self.define("DLAF_WITH_MKL_LEGACY", True)
),
self.define("MKL_LAPACK_TARGET", f"mkl::mkl_intel_32bit_{mkl_threads}_dyn"),
]
mkl_threads = vmap["threading"][spec["intel-oneapi-mkl"].variants["threads"].value]
args += [
self.define("DLAF_WITH_MKL", True),
self.define("MKL_INTERFACE", "lp64"),
self.define("MKL_THREADING", mkl_threads),
]
if spec.satisfies("+scalapack"):
try:
mpi_provider = spec["mpi"].name
if mpi_provider in ["mpich", "cray-mpich", "mvapich", "mvapich2"]:
mkl_mpi = mkl_mapper["mpi"]["mpich"]
mkl_mpi = vmap["mpi"]["mpich"]
else:
mkl_mpi = mkl_mapper["mpi"][mpi_provider]
mkl_mpi = vmap["mpi"][mpi_provider]
except KeyError:
raise RuntimeError(
f"dla-future does not support {spec['mpi'].name} as mpi provider with "
f"the selected scalapack provider {mkl_provider}"
)
if mkl_provider == "intel-oneapi-mkl":
args.append(self.define("MKL_MPI", mkl_mpi))
elif mkl_provider == "intel-mkl":
args.append(
self.define(
"MKL_SCALAPACK_TARGET",
f"mkl::scalapack_{mkl_mpi}_intel_32bit_{mkl_threads}_dyn",
)
)
args.append(self.define("MKL_MPI", mkl_mpi))
else:
args.append(self.define("DLAF_WITH_MKL", spec["lapack"].name in INTEL_MATH_LIBRARIES))
args.append(
self.define("DLAF_WITH_MKL", spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"))
)
add_dlaf_prefix = lambda x: x if spec.satisfies("@:0.6") else "DLAF_" + x
args.append(
self.define(

View File

@ -63,7 +63,6 @@ class Dyninst(CMakePackage):
# package layout. Need to use tbb provided config instead.
conflicts("^intel-tbb@2021.1:")
conflicts("^intel-oneapi-tbb@2021.1:")
conflicts("^intel-parallel-studio")
depends_on("tbb")
requires("^[virtuals=tbb] intel-tbb@2019.9:", when="@13.0.0:")

View File

@ -81,11 +81,7 @@ class Elk(MakefilePackage):
depends_on("mkl", when="linalg=mkl")
with when("linalg=mkl +openmp"):
depends_on("intel-mkl threads=openmp", when="^[virtuals=mkl] intel-mkl")
depends_on("intel-oneapi-mkl threads=openmp", when="^[virtuals=mkl] intel-oneapi-mkl")
depends_on(
"intel-parallel-studio threads=openmp", when="^[virtuals=mkl] intel-parallel-studio"
)
depends_on("openblas", when="linalg=openblas")
depends_on("openblas threads=openmp", when="linalg=openblas +openmp")
@ -200,8 +196,6 @@ def edit(self, spec, prefix):
config["SRC_FFT"] += " cfftifc_mkl.f90"
cp = which("cp")
mkl_prefix = spec["mkl"].prefix
if spec.satisfies("^intel-mkl"):
mkl_prefix = mkl_prefix.mkl
cp(
join_path(mkl_prefix.include, "mkl_dfti.f90"),
join_path(self.build_directory, "src"),

View File

@ -69,7 +69,7 @@ def cmake_args(self):
else:
args.append("-DWITH_MPI=OFF")
if self.spec.satisfies("^intel-mkl"):
if self.spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"):
args.append("-DWITH_MKL:BOOL=TRUE")
if spec.satisfies("+openmp"):

View File

@ -93,14 +93,9 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage):
# https://gitlab.mpcdf.mpg.de/elpa/elpa/-/blob/master/documentation/PERFORMANCE_TUNING.md?ref_type=heads#builds-with-openmp-enabled
with when("+openmp"):
requires("^openblas threads=openmp", when="^[virtuals=blas,lapack] openblas")
requires("^intel-mkl threads=openmp", when="^[virtuals=blas,lapack] intel-mkl")
requires(
"^intel-oneapi-mkl threads=openmp", when="^[virtuals=blas,lapack] intel-oneapi-mkl"
)
requires(
"^intel-parallel-studio threads=openmp",
when="^[virtuals=blas,lapack] intel-parallel-studio",
)
# fails to build due to broken type-bound procedures in OMP parallel regions
conflicts(

View File

@ -343,11 +343,7 @@ def setup_build_environment(self, env):
"^[virtuals=mpi] hpcx-mpi"
):
env.set("ESMF_COMM", "openmpi")
elif (
spec.satisfies("^[virtuals=mpi] intel-parallel-studio+mpi")
or spec.satisfies("^[virtuals=mpi] intel-mpi")
or spec.satisfies("^[virtuals=mpi] intel-oneapi-mpi")
):
elif spec.satisfies("^[virtuals=mpi] intel-oneapi-mpi"):
env.set("ESMF_COMM", "intelmpi")
elif spec.satisfies("^[virtuals=mpi] mpt"):
# MPT is the HPE (SGI) variant of mpich

View File

@ -30,21 +30,15 @@ class Exabayes(AutotoolsPackage):
# GCC 7.1.0 is used.
conflicts("%gcc@:4.5.4, 7.1.0:", when="@:1.5.0")
conflicts("%clang@:3.1")
conflicts("^intel-mpi", when="+mpi")
conflicts("^intel-parallel-studio+mpi", when="+mpi")
conflicts("^intel-oneapi-mpi", when="+mpi")
conflicts("^mvapich2", when="+mpi")
conflicts("^spectrum-mpi", when="+mpi")
def configure_args(self):
args = []
if self.spec.satisfies("+mpi"):
args.append("--enable-mpi")
else:
args.append("--disable-mpi")
return args
return self.enable_or_disable("mpi")
def flag_handler(self, name, flags):
if name.lower() == "cxxflags":
# manual cites need for c++11
flags.append(self.compiler.cxx11_flag)
return (flags, None, None)
return flags, None, None

View File

@ -42,11 +42,8 @@ class Exciting(MakefilePackage):
depends_on("mkl", when="+mkl")
depends_on("mpi", when="+mpi")
depends_on("scalapack", when="+scalapack")
# conflicts('%gcc@10:', msg='exciting cannot be built with GCC 10')
requires("%intel", when="^mkl", msg="Intel MKL only works with the Intel compiler")
requires("%intel", when="^intel-mkl", msg="Intel MKL only works with the Intel compiler")
requires("%intel", when="^intel-mpi", msg="Intel MPI only works with the Intel compiler")
conflicts("%intel")
def patch(self):
"""Fix bad logic in m_makespectrum.f90 for the Oxygen release"""

View File

@ -44,10 +44,7 @@ class Fds(MakefilePackage):
)
requires(
"^intel-mkl",
"^intel-oneapi-mkl",
policy="one_of",
msg="FDS builds require either Intel MKL or Intel oneAPI MKL library",
"^intel-oneapi-mkl", policy="one_of", msg="FDS builds require Intel oneAPI MKL library"
)
requires(
@ -56,12 +53,6 @@ class Fds(MakefilePackage):
msg="OpenMPI can only be used with GNU Fortran on Linux platform",
)
requires(
"^intel-mpi^intel-mkl",
when="platform=linux %intel",
msg="Intel MPI and Intel MKL can only be used with Intel Fortran on Linux platform",
)
requires(
"^intel-oneapi-mpi^intel-oneapi-mkl",
when="platform=linux %oneapi",
@ -85,7 +76,7 @@ def edit(self, spec, prefix):
@property
def build_targets(self):
spec = self.spec
mpi_mapping = {"openmpi": "ompi", "intel-oneapi-mpi": "impi", "intel-mpi": "impi"}
mpi_mapping = {"openmpi": "ompi", "intel-oneapi-mpi": "impi"}
compiler_mapping = {"gcc": "gnu", "oneapi": "intel", "intel": "intel"}
platform_mapping = {"linux": "linux", "darwin": "osx"}
mpi_prefix = mpi_mapping[spec["mpi"].name]

View File

@ -142,7 +142,7 @@ class Gaudi(CMakePackage, CudaPackage):
# ROOT does not like being exposed to LLVM symbols.
# The Intel VTune dependency is taken aside because it requires a license
depends_on("intel-parallel-studio -mpi +vtune", when="+vtune")
depends_on("intel-oneapi-vtune", when="+vtune")
def patch(self):
# ensure an empty pytest.ini is present to prevent finding one

View File

@ -41,7 +41,7 @@ class Gearshifft(CMakePackage):
depends_on("clfft@2.12.0:", when="+clfft")
depends_on("fftw@3.3.4:~mpi~openmp", when="+fftw~openmp")
depends_on("fftw@3.3.4:~mpi+openmp", when="+fftw+openmp")
depends_on("intel-mkl threads=openmp", when="+mkl")
depends_on("intel-oneapi-mkl threads=openmp", when="+mkl")
depends_on("rocfft", when="+rocfft")
def cmake_args(self):

View File

@ -75,24 +75,25 @@ def configure_args(self):
spec = self.spec
args = ["--with-gmp", "--with-mpfr"]
if spec.satisfies("^intel-mkl"):
if spec.satisfies("+fftw") or spec.satisfies("+lapack"):
args.append("--enable-mkl")
if spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl") or spec.satisfies(
"^[virtuals=fftw-api] intel-oneapi-mkl"
):
args.append("--enable-mkl")
else:
if spec.satisfies("+fftw"):
args.append("--with-fftw={0}".format(self.spec["fftw-api"].prefix))
args.append(f"--with-fftw={self.spec['fftw-api'].prefix}")
if spec.satisfies("+lapack"):
args.append("--enable-lapack={0}".format(self.spec["lapack"].prefix))
args.append(f"--enable-lapack={self.spec['lapack'].prefix}")
# lapack is searched only as `-llapack`, so anything else
# wouldn't be found, causing an error.
args.append("LIBS={0}".format(self.spec["lapack"].libs.ld_flags))
args.append(f"LIBS={self.spec['lapack'].libs.ld_flags}")
if "comms=none" not in spec:
# The build system can easily get very confused about MPI support
# and what linker to use. In many case it'd end up building the
# code with support for MPI but without using `mpicxx` or linking to
# `-lmpi`, wreaking havoc. Forcing `CXX` to be mpicxx should help.
args.extend(["CC={0}".format(spec["mpi"].mpicc), "CXX={0}".format(spec["mpi"].mpicxx)])
args.extend([f"CC={spec['mpi'].mpicc}", f"CXX={spec['mpi'].mpicxx}"])
args += self.enable_or_disable("timers")
args += self.enable_or_disable("chroma")
@ -119,11 +120,11 @@ def configure_args(self):
args.extend(
[
"--enable-simd=GEN",
"--enable-gen-simd-width={0}".format(spec.variants["gen-simd-width"].value),
f"--enable-gen-simd-width={spec.variants['gen-simd-width'].value}",
]
)
args.append("--enable-comms={0}".format(spec.variants["comms"].value))
args.append("--enable-rng={0}".format(spec.variants["rng"].value))
args.append(f"--enable-comms={spec.variants['comms'].value}")
args.append(f"--enable-rng={spec.variants['rng'].value}")
return args

View File

@ -529,9 +529,8 @@ class Gromacs(CMakePackage, CudaPackage):
)
# If the Intel suite is used for Lapack, it must be used for fftw and vice-versa
for _intel_pkg in INTEL_MATH_LIBRARIES:
requires(f"^[virtuals=fftw-api] {_intel_pkg}", when=f"^[virtuals=lapack] {_intel_pkg}")
requires(f"^[virtuals=lapack] {_intel_pkg}", when=f"^[virtuals=fftw-api] {_intel_pkg}")
requires("^[virtuals=fftw-api] intel-oneapi-mkl", when="^[virtuals=lapack] intel-oneapi-mkl")
requires("^[virtuals=lapack] intel-oneapi-mkl", when="^[virtuals=fftw-api] intel-oneapi-mkl")
patch("gmxDetectCpu-cmake-3.14.patch", when="@2018:2019.3^cmake@3.14.0:")
patch("gmxDetectSimd-cmake-3.14.patch", when="@5.0:2017^cmake@3.14.0:")
@ -911,9 +910,8 @@ def cmake_args(self):
)
options.append(f"-DNVSHMEM_ROOT={nvshmem_root}")
if self.spec["lapack"].name in INTEL_MATH_LIBRARIES:
# fftw-api@3 is provided by intel-mkl or intel-parallel-studio
# we use the mkl interface of gromacs
if self.spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"):
# fftw-api@3 is provided by intel-oneapi-mkl
options.append("-DGMX_FFT_LIBRARY=mkl")
if self.spec.satisfies("@:2022"):
options.append(

View File

@ -37,14 +37,11 @@ class Gsibec(CMakePackage):
depends_on("lapack", type=("build", "run"))
depends_on("ecbuild", type=("build"))
depends_on("jedi-cmake", type=("build"))
depends_on("sp", type=("build"))
depends_on("ecbuild", type="build")
depends_on("jedi-cmake", type="build")
depends_on("sp", type="build")
def cmake_args(self):
args = []
mkl_providers = ["intel-mkl", "intel-oneapi-mkl", "intel-parallel-studio"]
args.append(self.define("ENABLE_MKL", self.spec["lapack"].name in mkl_providers))
return args
return [
self.define("ENABLE_MKL", self.spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"))
]

View File

@ -120,9 +120,8 @@ def edit(self, spec, prefix):
lin_alg_libs.append(join_path(spec["fftw-api"].prefix.lib, "libsfftw_mpi.so"))
lin_alg_libs.append(join_path(spec["fftw-api"].prefix.lib, "libsfftw.so"))
elif (
self.spec.variants["fft"].value == "mkl"
and spec["fftw-api"].name in INTEL_MATH_LIBRARIES
elif self.spec.variants["fft"].value == "mkl" and spec.satisfies(
"^[virtuals=fftw-api] intel-oneapi-mkl"
):
mklroot = env["MKLROOT"]
self.config["@LAINC@"] += f" -I{join_path(mklroot, 'include/fftw')}"
@ -159,8 +158,6 @@ def edit(self, spec, prefix):
# Compiler flags for CPU architecture optimizations
if spec.satisfies("%intel"):
# with intel-parallel-studio+mpi the '-march' arguments
# are not passed to icc
arch_opt = optimization_flags(self.compiler, spec.target)
self.config["@CCFLAGS@"] = f"-O3 -restrict -ansi-alias -ip {arch_opt}"
self.config["@CCNOOPT@"] = "-restrict"

View File

@ -126,11 +126,7 @@ def configure_args(self):
if self.spec.satisfies("+openmp"):
cflags.append(self.compiler.openmp_flag)
if (
self.spec.satisfies("^intel-mkl")
or self.spec.satisfies("^intel-oneapi-mkl")
or self.spec.satisfies("^intel-parallel-studio+mkl")
):
if self.spec.satisfies("^intel-oneapi-mkl"):
ldflags.append(self.spec["blas"].libs.ld_flags)
if self.spec.satisfies("%aocc"):

View File

@ -1,187 +0,0 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import sys
from spack.package import *
@IntelOneApiPackage.update_description
class IntelMkl(IntelPackage):
"""Intel Math Kernel Library. This package has been replaced by
intel-oneapi-mkl.
"""
maintainers("rscohn2")
homepage = "https://software.intel.com/en-us/intel-mkl"
version(
"2020.4.304",
sha256="2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/l_mkl_2020.4.304.tgz",
deprecated=True,
)
version(
"2020.3.279",
sha256="2b8e434ecc9462491130ba25a053927fd1a2eca05e12acb5936b08c486857a04",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16903/l_mkl_2020.3.279.tgz",
deprecated=True,
)
version(
"2020.2.254",
sha256="ed00a267af362a6c14212bd259ab1673d64337e077263033edeef8ac72c10223",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16849/l_mkl_2020.2.254.tgz",
deprecated=True,
)
version(
"2020.1.217",
sha256="082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/l_mkl_2020.1.217.tgz",
deprecated=True,
)
version(
"2020.0.166",
sha256="f6d92deb3ff10b11ba3df26b2c62bb4f0f7ae43e21905a91d553e58f0f5a8ae0",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16232/l_mkl_2020.0.166.tgz",
deprecated=True,
)
version(
"2019.5.281",
sha256="9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/l_mkl_2019.5.281.tgz",
deprecated=True,
)
version(
"2019.4.243",
sha256="fcac7b0369665d93f0c4dd98afe2816aeba5410e2b760655fe55fc477f8f33d0",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15540/l_mkl_2019.4.243.tgz",
deprecated=True,
)
version(
"2019.3.199",
sha256="06de2b54f4812e7c39a118536259c942029fe1d6d8918ad9df558a83c4162b8f",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15275/l_mkl_2019.3.199.tgz",
deprecated=True,
)
version(
"2019.2.187",
sha256="2bf004e6b5adb4f956993d6c20ea6ce289bb630314dd501db7f2dd5b9978ed1d",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15095/l_mkl_2019.2.187.tgz",
deprecated=True,
)
version(
"2019.1.144",
sha256="5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/l_mkl_2019.1.144.tgz",
deprecated=True,
)
version(
"2019.0.117",
sha256="4e1fe2c705cfc47050064c0d6c4dee1a8c6740ac1c4f64dde9c7511c4989c7ad",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13575/l_mkl_2019.0.117.tgz",
deprecated=True,
)
version(
"2018.4.274",
sha256="18eb3cde3e6a61a88f25afff25df762a560013f650aaf363f7d3d516a0d04881",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13725/l_mkl_2018.4.274.tgz",
deprecated=True,
)
version(
"2018.3.222",
sha256="108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13005/l_mkl_2018.3.222.tgz",
deprecated=True,
)
version(
"2018.2.199",
sha256="e28d12173bef9e615b0ded2f95f59a42b3e9ad0afa713a79f8801da2bfb31936",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12725/l_mkl_2018.2.199.tgz",
deprecated=True,
)
version(
"2018.1.163",
sha256="f6dc263fc6f3c350979740a13de1b1e8745d9ba0d0f067ece503483b9189c2ca",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12414/l_mkl_2018.1.163.tgz",
deprecated=True,
)
version(
"2018.0.128",
sha256="c368baa40ca88057292512534d7fad59fa24aef06da038ea0248e7cd1e280cec",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12070/l_mkl_2018.0.128.tgz",
deprecated=True,
)
version(
"2017.4.239",
sha256="dcac591ed1e95bd72357fd778edba215a7eab9c6993236373231cc16c200c92a",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12147/l_mkl_2017.4.239.tgz",
deprecated=True,
)
version(
"2017.3.196",
sha256="fd7295870fa164d6138c9818304f25f2bb263c814a6c6539c9fe4e104055f1ca",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11544/l_mkl_2017.3.196.tgz",
deprecated=True,
)
version(
"2017.2.174",
sha256="0b8a3fd6bc254c3c3d9d51acf047468c7f32bf0baff22aa1e064d16d9fea389f",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11306/l_mkl_2017.2.174.tgz",
deprecated=True,
)
version(
"2017.1.132",
sha256="8c6bbeac99326d59ef3afdc2a95308c317067efdaae50240d2f4a61f37622e69",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11024/l_mkl_2017.1.132.tgz",
deprecated=True,
)
version(
"2017.0.098",
sha256="f2233e8e011f461d9c15a853edf7ed0ae8849aa665a1ec765c1ff196fd70c4d9",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9662/l_mkl_2017.0.098.tgz",
deprecated=True,
)
# built from parallel_studio_xe_2016.3.x
version(
"11.3.3.210",
sha256="ff858f0951fd698e9fb30147ea25a8a810c57f0126c8457b3b0cdf625ea43372",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9068/l_mkl_11.3.3.210.tgz",
deprecated=True,
)
# built from parallel_studio_xe_2016.2.062
version(
"11.3.2.181",
sha256="bac04a07a1fe2ae4996a67d1439ee90c54f31305e8663d1ccfce043bed84fc27",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8711/l_mkl_11.3.2.181.tgz",
deprecated=True,
)
depends_on("cpio", type="build")
conflicts("target=ppc64:", msg="intel-mkl is only available for x86_64")
conflicts("target=ppc64le:", msg="intel-mkl is only available for x86_64")
conflicts("target=aarch64:", msg="intel-mkl is only available for x86_64")
variant("shared", default=True, description="Builds shared library")
variant("ilp64", default=False, description="64 bit integers")
variant(
"threads",
default="none",
description="Multithreading support",
values=("openmp", "tbb", "none"),
multi=False,
)
provides("blas", "lapack")
provides("lapack@3.9.0", when="@2020.4")
provides("lapack@3.7.0", when="@11.3")
provides("scalapack")
provides("mkl")
provides("fftw-api@3", when="@2017:")
if sys.platform == "darwin":
# there is no libmkl_gnu_thread on macOS
conflicts("threads=openmp", when="%gcc")

View File

@ -36,15 +36,11 @@ class IntelMpiBenchmarks(MakefilePackage):
version("2019.2", sha256="0bc2224a913073aaa5958f6ae08341e5fcd39cedc6722a09bfd4a3d7591a340b")
version("2019.1", sha256="fe0d065b9936b6943ea83cb3d00aede43b17565285c6b1791fee8e340853ef79")
version("2019.0", sha256="1c7d44aa7fd86ca84ac7cae1a69a8426243048d6294582337f1de7b4ffe68d37")
version("2018.1", sha256="718a4eb155f18cf15a736f6496332407b5837cf1f19831723d4cfe5266c43507")
version("2018.0", sha256="2e60a9894a686a95791be2227bc569bf81ca3875421b5307df7d83f885b1de88")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("mpi", when="@2019:")
depends_on("intel-mpi", when="@2018")
depends_on("gmake", type="build", when="@2018")
conflicts(
"^openmpi",

View File

@ -1,174 +0,0 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
@IntelOneApiPackage.update_description
class IntelMpi(IntelPackage):
"""Intel MPI. This package has been deprecated. Use intel-oneapi-mpi instead."""
maintainers("rscohn2")
homepage = "https://software.intel.com/en-us/intel-mpi-library"
version(
"2019.10.317",
sha256="28e1b615e63d2170a99feedc75e3b0c5a7e1a07dcdaf0a4181831b07817a5346",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17534/l_mpi_2019.10.317.tgz",
deprecated=True,
)
version(
"2019.9.304",
sha256="618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17263/l_mpi_2019.9.304.tgz",
deprecated=True,
)
version(
"2019.8.254",
sha256="fa163b4b79bd1b7509980c3e7ad81b354fc281a92f9cf2469bf4d323899567c0",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16814/l_mpi_2019.8.254.tgz",
deprecated=True,
)
version(
"2019.7.217",
sha256="90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16546/l_mpi_2019.7.217.tgz",
deprecated=True,
)
version(
"2019.6.166",
sha256="119be69f1117c93a9e5e9b8b4643918e55d2a55a78ad9567f77d16cdaf18cd6e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16120/l_mpi_2019.6.166.tgz",
deprecated=True,
)
version(
"2019.5.281",
sha256="9c59da051f1325b221e5bc4d8b689152e85d019f143069fa39e17989306811f4",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15838/l_mpi_2019.5.281.tgz",
deprecated=True,
)
version(
"2019.4.243",
sha256="233a8660b92ecffd89fedd09f408da6ee140f97338c293146c9c080a154c5fcd",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15553/l_mpi_2019.4.243.tgz",
deprecated=True,
)
version(
"2019.3.199",
sha256="5304346c863f64de797250eeb14f51c5cfc8212ff20813b124f20e7666286990",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15260/l_mpi_2019.3.199.tgz",
deprecated=True,
)
version(
"2019.2.187",
sha256="6a3305933b5ef9e3f7de969e394c91620f3fa4bb815a4f439577739d04778b20",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15040/l_mpi_2019.2.187.tgz",
deprecated=True,
)
version(
"2019.1.144",
sha256="dac86a5db6b86503313742b17535856a432955604f7103cb4549a9bfc256c3cd",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14879/l_mpi_2019.1.144.tgz",
deprecated=True,
)
version(
"2019.0.117",
sha256="dfb403f49c1af61b337aa952b71289c7548c3a79c32c57865eab0ea0f0e1bc08",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13584/l_mpi_2019.0.117.tgz",
deprecated=True,
)
version(
"2018.4.274",
sha256="a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13741/l_mpi_2018.4.274.tgz",
deprecated=True,
)
version(
"2018.3.222",
sha256="5021d14b344fc794e89f146e4d53d70184d7048610895d7a6a1e8ac0cf258999",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13112/l_mpi_2018.3.222.tgz",
deprecated=True,
)
version(
"2018.2.199",
sha256="0927f1bff90d10974433ba2892e3fd38e6fee5232ab056a9f9decf565e814460",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12748/l_mpi_2018.2.199.tgz",
deprecated=True,
)
version(
"2018.1.163",
sha256="130b11571c3f71af00a722fa8641db5a1552ac343d770a8304216d8f5d00e75c",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12414/l_mpi_2018.1.163.tgz",
deprecated=True,
)
version(
"2018.0.128",
sha256="debaf2cf80df06db9633dfab6aa82213b84a665a55ee2b0178403906b5090209",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12120/l_mpi_2018.0.128.tgz",
deprecated=True,
)
version(
"2017.4.239",
sha256="5a1048d284dce8bc75b45789471c83c94b3c59f8f159cab43d783fc44302510b",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12209/l_mpi_2017.4.239.tgz",
deprecated=True,
)
version(
"2017.3.196",
sha256="dad9efbc5bbd3fd27cce7e1e2507ad77f342d5ecc929747ae141c890e7fb87f0",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11595/l_mpi_2017.3.196.tgz",
deprecated=True,
)
version(
"2017.2.174",
sha256="106a4b362c13ddc6978715e50f5f81c58c1a4c70cd2d20a99e94947b7e733b88",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11334/l_mpi_2017.2.174.tgz",
deprecated=True,
)
version(
"2017.1.132",
sha256="8d30a63674fe05f17b0a908a9f7d54403018bfed2de03c208380b171ab99be82",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11014/l_mpi_2017.1.132.tgz",
deprecated=True,
)
# built from parallel_studio_xe_2016.3.068
version(
"5.1.3.223",
sha256="544f4173b09609beba711fa3ba35567397ff3b8390e4f870a3307f819117dd9b",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9278/l_mpi_p_5.1.3.223.tgz",
deprecated=True,
)
provides("mpi")
variant(
"external-libfabric", default=False, description="Enable external libfabric dependency"
)
depends_on("libfabric", when="+external-libfabric", type=("build", "link", "run"))
depends_on("cpio", type="build")
def setup_dependent_build_environment(self, env, dependent_spec):
# Handle in callback, conveying client's compilers in additional arg.
# CAUTION - DUP code in:
# ../intel-mpi/package.py
# ../intel-parallel-studio/package.py
dependent_module = dependent_spec.package.module
self._setup_dependent_env_callback(
env,
dependent_spec,
compilers_of_client={
"CC": dependent_module.spack_cc,
"CXX": dependent_module.spack_cxx,
"F77": dependent_module.spack_f77,
"F90": dependent_module.spack_fc,
"FC": dependent_module.spack_fc,
},
)
def setup_run_environment(self, env):
super().setup_run_environment(env)
for name, value in self.mpi_compiler_wrappers.items():
env.set(name, value)

View File

@ -186,14 +186,13 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage):
# If a +cluster then mpi_family must be set
with when("+cluster"):
conflicts("mpi_family=none")
requires("mpi_family=mpich", when="^intel-oneapi-mpi")
requires("mpi_family=mpich", when="^intel-mpi")
requires("mpi_family=mpich", when="^mpich")
requires("mpi_family=mpich", when="^mvapich")
requires("mpi_family=mpich", when="^mvapich2")
requires("mpi_family=mpich", when="^cray-mpich")
requires("mpi_family=openmpi", when="^openmpi")
requires("mpi_family=openmpi", when="^hpcx-mpi")
requires("mpi_family=mpich", when="^[virtuals=mpi] intel-oneapi-mpi")
requires("mpi_family=mpich", when="^[virtuals=mpi] mpich")
requires("mpi_family=mpich", when="^[virtuals=mpi] mvapich")
requires("mpi_family=mpich", when="^[virtuals=mpi] mvapich2")
requires("mpi_family=mpich", when="^[virtuals=mpi] cray-mpich")
requires("mpi_family=openmpi", when="^[virtuals=mpi] openmpi")
requires("mpi_family=openmpi", when="^[virtuals=mpi] hpcx-mpi")
provides("fftw-api@3")
provides("scalapack", when="+cluster")

View File

@ -1,690 +0,0 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
@IntelOneApiPackage.update_description
class IntelParallelStudio(IntelPackage):
"""This is an earlier version of Intel parallel software development
tools and has now been replaced by the Intel oneAPI Toolkits.
"""
homepage = "https://software.intel.com/en-us/intel-parallel-studio-xe"
maintainers("rscohn2")
depends_on("patchelf", type="build")
# As of 2016, the product comes in three "editions" that vary by scope.
#
# In Spack, select the edition via the version number in the spec, e.g.:
# intel-parallel-studio@cluster.2018
# NB: When updating the version numbers here, please also update them
# in the 'intel' package.
# Cluster Edition (top tier; all components included)
version(
"cluster.2020.4",
sha256="f36e49da97b6ce24d2d464d73d7ff49d71cff20e1698c20e607919819602a9f5",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17113/parallel_studio_xe_2020_update4_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2020.2",
sha256="4795c44374e8988b91da20ac8f13022d7d773461def4a26ca210a8694f69f133",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16744/parallel_studio_xe_2020_update2_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2020.1",
sha256="fd11d8de72b2bd60474f8bce7b463e4cbb2255969b9eaf24f689575aa2a2abab",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16526/parallel_studio_xe_2020_update1_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2020.0",
sha256="573b1d20707d68ce85b70934cfad15b5ad9cc14124a261c17ddd7717ba842c64",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16225/parallel_studio_xe_2020_cluster_edition.tgz",
deprecated=True,
)
#
version(
"cluster.2019.5",
sha256="c03421de616bd4e640ed25ce4103ec9c5c85768a940a5cb5bd1e97b45be33904",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15809/parallel_studio_xe_2019_update5_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2019.4",
sha256="32aee12de3b5ca14caf7578313c06b205795c67620f4a9606ea45696ee3b3d9e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15533/parallel_studio_xe_2019_update4_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2019.3",
sha256="b5b022366d6d1a98dbb63b60221c62bc951c9819653ad6f5142192e89f78cf63",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15268/parallel_studio_xe_2019_update3_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2019.2",
sha256="8c526bdd95d1da454e5cada00f7a2353089b86d0c9df2088ca7f842fe3ff4cae",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15088/parallel_studio_xe_2019_update2_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2019.1",
sha256="3a1eb39f15615f7a2688426b9835e5e841e0c030f21dcfc899fe23e09bd2c645",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14850/parallel_studio_xe_2019_update1_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2019.0",
sha256="1096dd4139bdd4b3abbda69a17d1e229a606759f793f5b0ba0d39623928ee4a1",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13589/parallel_studio_xe_2019_cluster_edition.tgz",
deprecated=True,
)
#
version(
"cluster.2018.4",
sha256="210a5904a860e11b861720e68416f91fd47a459e4500976853291fa8b0478566",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13717/parallel_studio_xe_2018_update4_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2018.3",
sha256="23c64b88cea5056eaeef7b4ae0f4c6a86485c97f5e41d6c8419cb00aa4929287",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12998/parallel_studio_xe_2018_update3_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2018.2",
sha256="550bc4758f7dd70e75830d329947532ad8b7cbb85225b8ec6db7e78a3f1d6d84",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12717/parallel_studio_xe_2018_update2_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2018.1",
sha256="f7a94e83248d2641eb7ae2c1abf681067203a5b4372619e039861b468744774c",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12374/parallel_studio_xe_2018_update1_cluster_edition.tgz",
deprecated=True,
)
version(
"cluster.2018.0",
sha256="526e5e71c420dc9b557b0bae2a81abb33eedb9b6a28ac94996ccbcf71cf53774",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12058/parallel_studio_xe_2018_cluster_edition.tgz",
deprecated=True,
)
#
version(
"cluster.2017.7",
sha256="133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12856/parallel_studio_xe_2017_update7.tgz",
deprecated=True,
)
version(
"cluster.2017.6",
sha256="d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12534/parallel_studio_xe_2017_update6.tgz",
deprecated=True,
)
version(
"cluster.2017.5",
sha256="36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12138/parallel_studio_xe_2017_update5.tgz",
deprecated=True,
)
version(
"cluster.2017.4",
sha256="27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11537/parallel_studio_xe_2017_update4.tgz",
deprecated=True,
)
version(
"cluster.2017.3",
sha256="856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11460/parallel_studio_xe_2017_update3.tgz",
deprecated=True,
)
version(
"cluster.2017.2",
sha256="83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11298/parallel_studio_xe_2017_update2.tgz",
deprecated=True,
)
version(
"cluster.2017.1",
sha256="c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10973/parallel_studio_xe_2017_update1.tgz",
deprecated=True,
)
version(
"cluster.2017.0",
sha256="f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9651/parallel_studio_xe_2017.tgz",
deprecated=True,
)
#
version(
"cluster.2016.4",
sha256="ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9781/parallel_studio_xe_2016_update4.tgz",
deprecated=True,
)
version(
"cluster.2016.3",
sha256="aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9061/parallel_studio_xe_2016_update3.tgz",
deprecated=True,
)
version(
"cluster.2016.2",
sha256="280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8676/parallel_studio_xe_2016_update2.tgz",
deprecated=True,
)
version(
"cluster.2016.1",
sha256="f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8365/parallel_studio_xe_2016_update1.tgz",
deprecated=True,
)
version(
"cluster.2016.0",
sha256="fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/7997/parallel_studio_xe_2016.tgz",
deprecated=True,
)
#
version(
"cluster.2015.6",
sha256="e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8469/parallel_studio_xe_2015_update6.tgz",
deprecated=True,
)
version(
"cluster.2015.1",
sha256="84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4992/parallel_studio_xe_2015_update1.tgz",
deprecated=True,
)
# Professional Edition (middle tier; excluded: MPI/TAC/Cluster Checker)
#
# NB: Pre-2018 download packages for Professional are the same as for
# Cluster; differences manifest only in the tokens present in the license
# file delivered as part of the purchase.
version(
"professional.2020.4",
sha256="f9679a40c63575191385837f4f1bdafbcfd3736f09ac51d0761248b9ca9cc9e6",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17114/parallel_studio_xe_2020_update4_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2020.2",
sha256="96f9bca551a43e09d9648e8cba357739a759423adb671d1aa5973b7a930370c5",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16756/parallel_studio_xe_2020_update2_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2020.1",
sha256="5b547be92ecf50cb338b3038a565f5609135b27aa98a8b7964879eb2331eb29a",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2020.0",
sha256="e88cad18d28da50ed9cb87b12adccf13efd91bf94731dc33290481306c6f15ac",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16226/parallel_studio_xe_2020_professional_edition.tgz",
deprecated=True,
)
#
version(
"professional.2019.5",
sha256="0ec638330214539361f8632e20759f385a5a78013dcc980ee93743d86d354452",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15810/parallel_studio_xe_2019_update5_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2019.4",
sha256="9b2818ea5739ade100841e99ce79ef7f4049a2513beb2ce20fc94706f1ba0231",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15534/parallel_studio_xe_2019_update4_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2019.3",
sha256="92a8879106d0bdf1ecf4670cd97fbcdc67d78b13bdf484f2c516a533aa7a27f9",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15269/parallel_studio_xe_2019_update3_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2019.2",
sha256="cdb629d74612d135ca197f1f64e6a081e31df68cda92346a29e1223bb06e64ea",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15089/parallel_studio_xe_2019_update2_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2019.1",
sha256="bc83ef5a728903359ae11a2b90ad7dae4ae61194afb28bb5bb419f6a6aea225d",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14825/parallel_studio_xe_2019_update1_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2019.0",
sha256="94b9714e353e5c4f58d38cb236e2f8911cbef31c4b42a148d60c988e926411e2",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13578/parallel_studio_xe_2019_professional_edition.tgz",
deprecated=True,
)
#
version(
"professional.2018.4",
sha256="54ab4320da849108602096fa7a34aa21751068467e0d1584aa8f16352b77d323",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13718/parallel_studio_xe_2018_update4_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2018.3",
sha256="3d8e72ccad31f243e43b72a925ad4a6908e2955682433898640ab783decf9960",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12999/parallel_studio_xe_2018_update3_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2018.2",
sha256="fc577b29fb2c687441d4faea14a6fb6da529fc78fcb778cbface59f40e128e02",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12718/parallel_studio_xe_2018_update2_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2018.1",
sha256="dd3e118069d87eebb614336732323b48172c8c8a653cde673a8ef02f7358e94d",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12375/parallel_studio_xe_2018_update1_professional_edition.tgz",
deprecated=True,
)
version(
"professional.2018.0",
sha256="72308ffa088391ea65726a79d7a73738206fbb1d8ed8563e3d06eab3120fb1a0",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12062/parallel_studio_xe_2018_professional_edition.tgz",
deprecated=True,
)
#
version(
"professional.2017.7",
sha256="133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12856/parallel_studio_xe_2017_update7.tgz",
deprecated=True,
)
version(
"professional.2017.6",
sha256="d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12534/parallel_studio_xe_2017_update6.tgz",
deprecated=True,
)
version(
"professional.2017.5",
sha256="36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12138/parallel_studio_xe_2017_update5.tgz",
deprecated=True,
)
version(
"professional.2017.4",
sha256="27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11537/parallel_studio_xe_2017_update4.tgz",
deprecated=True,
)
version(
"professional.2017.3",
sha256="856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11460/parallel_studio_xe_2017_update3.tgz",
deprecated=True,
)
version(
"professional.2017.2",
sha256="83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11298/parallel_studio_xe_2017_update2.tgz",
deprecated=True,
)
version(
"professional.2017.1",
sha256="c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10973/parallel_studio_xe_2017_update1.tgz",
deprecated=True,
)
version(
"professional.2017.0",
sha256="f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9651/parallel_studio_xe_2017.tgz",
deprecated=True,
)
#
version(
"professional.2016.4",
sha256="ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9781/parallel_studio_xe_2016_update4.tgz",
deprecated=True,
)
version(
"professional.2016.3",
sha256="aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9061/parallel_studio_xe_2016_update3.tgz",
deprecated=True,
)
version(
"professional.2016.2",
sha256="280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8676/parallel_studio_xe_2016_update2.tgz",
deprecated=True,
)
version(
"professional.2016.1",
sha256="f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8365/parallel_studio_xe_2016_update1.tgz",
deprecated=True,
)
version(
"professional.2016.0",
sha256="fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/7997/parallel_studio_xe_2016.tgz",
deprecated=True,
)
#
version(
"professional.2015.6",
sha256="e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8469/parallel_studio_xe_2015_update6.tgz",
deprecated=True,
)
version(
"professional.2015.1",
sha256="84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4992/parallel_studio_xe_2015_update1.tgz",
deprecated=True,
)
# Composer Edition (basic tier; excluded: MPI/..., Advisor/Inspector/Vtune)
version(
"composer.2020.4",
sha256="ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2020.2",
sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2020.1",
sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2020.0",
sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/parallel_studio_xe_2020_composer_edition.tgz",
deprecated=True,
)
#
version(
"composer.2019.5",
sha256="e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2019.4",
sha256="1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2019.3",
sha256="15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2019.2",
sha256="1e0f400be1f458592a8c2e7d55c1b2a4506f68f22bacbf1175af947809a4cd87",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15092/parallel_studio_xe_2019_update2_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2019.1",
sha256="db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2019.0",
sha256="e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13581/parallel_studio_xe_2019_composer_edition.tgz",
deprecated=True,
)
#
version(
"composer.2018.4",
sha256="94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2018.3",
sha256="f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2018.2",
sha256="02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2018.1",
sha256="db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2018.0",
sha256="ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12067/parallel_studio_xe_2018_composer_edition.tgz",
deprecated=True,
)
#
version(
"composer.2017.7",
sha256="661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.6",
sha256="771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.5",
sha256="ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.4",
sha256="4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.3",
sha256="3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.2",
sha256="abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.1",
sha256="bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz",
deprecated=True,
)
version(
"composer.2017.0",
sha256="d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9656/parallel_studio_xe_2017_composer_edition.tgz",
deprecated=True,
)
#
version(
"composer.2016.4",
sha256="17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz",
deprecated=True,
)
version(
"composer.2016.3",
sha256="fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz",
deprecated=True,
)
version(
"composer.2016.2",
sha256="6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz",
deprecated=True,
)
#
# Pre-2016, the only product was "Composer XE"; dir structure is different.
version(
"composer.2015.6",
sha256="b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8432/l_compxe_2015.6.233.tgz",
deprecated=True,
)
version(
"composer.2015.1",
sha256="8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4933/l_compxe_2015.1.133.tgz",
deprecated=True,
)
# Generic Variants
variant("rpath", default=True, description="Add rpath to .cfg files")
variant(
"newdtags", default=False, description="Allow use of --enable-new-dtags in MPI wrappers"
)
variant("shared", default=True, description="Builds shared library")
variant("ilp64", default=False, description="64 bit integers")
variant(
"threads",
default="none",
description="Multithreading support",
values=("openmp", "none"),
multi=False,
)
auto_dispatch_options = IntelPackage.auto_dispatch_options
variant(
"auto_dispatch",
values=any_combination_of(*auto_dispatch_options),
description="Enable generation of multiple auto-dispatch code paths",
)
# Components available in all editions
variant("daal", default=True, description="Install the Intel DAAL libraries")
variant(
"gdb", default=False, description="Install the Intel Debugger for Heterogeneous Compute"
)
variant("ipp", default=True, description="Install the Intel IPP libraries")
variant("mkl", default=True, description="Install the Intel MKL library")
variant("mpi", default=True, description="Install the Intel MPI library")
variant("tbb", default=True, description="Install the Intel TBB libraries")
# Components only available in the Professional and Cluster Editions
variant("advisor", default=False, description="Install the Intel Advisor")
variant("clck", default=False, description="Install the Intel Cluster Checker")
variant("inspector", default=False, description="Install the Intel Inspector")
variant("itac", default=False, description="Install the Intel Trace Analyzer and Collector")
variant("vtune", default=False, description="Install the Intel VTune Amplifier XE")
provides("daal", when="+daal")
provides("ipp", when="+ipp")
provides("mkl", when="+mkl")
provides("blas", "lapack", when="+mkl")
provides("scalapack", when="+mkl")
provides("fftw-api@3", when="+mkl@professional.2017:")
provides("fftw-api@3", when="+mkl@cluster.2017:")
provides("fftw-api@3", when="+mkl@composer.2017:")
provides("mpi", when="+mpi")
provides("tbb", when="+tbb")
conflicts("target=ppc64:", msg="intel-parallel-studio is only available for x86_64")
conflicts("target=ppc64le:", msg="intel-parallel-studio is only available for x86_64")
conflicts("target=aarch64:", msg="intel-parallel-studio is only available for x86_64")
# For TBB, static linkage is not and has never been supported by Intel:
# https://www.threadingbuildingblocks.org/faq/there-version-tbb-provides-statically-linked-libraries
conflicts("+tbb", when="~shared")
conflicts("+advisor", when="@composer.0:composer")
conflicts("+clck", when="@composer.0:composer")
conflicts("+inspector", when="@composer.0:composer")
conflicts("+itac", when="@composer.0:composer")
conflicts("+mpi", when="@composer.0:composer")
conflicts("+vtune", when="@composer.0:composer")
conflicts("+clck", when="@professional.0:professional")
conflicts("+itac", when="@professional.0:professional")
conflicts("+mpi", when="@professional.0:professional")
# The following components are not available before 2016
conflicts("+daal", when="@professional.0:professional.2015.7")
conflicts("+daal", when="@cluster.0:cluster.2015.7")
conflicts("+daal", when="@composer.0:composer.2015.7")
# MacOS does not support some of the auto dispatch settings
conflicts("auto_dispatch=SSE2", "platform=darwin", msg="SSE2 is not supported on MacOS")
conflicts(
"auto_dispatch=SSE3",
"platform=darwin target=x86_64:",
msg="SSE3 is not supported on MacOS x86_64",
)
def setup_dependent_build_environment(self, env, dependent_spec):
# Handle in callback, conveying client's compilers in additional arg.
# CAUTION - DUP code in:
# ../intel-mpi/package.py
# ../intel-parallel-studio/package.py
dependent_module = dependent_spec.package.module
self._setup_dependent_env_callback(
env,
dependent_spec,
compilers_of_client={
"CC": dependent_module.spack_cc,
"CXX": dependent_module.spack_cxx,
"F77": dependent_module.spack_f77,
"F90": dependent_module.spack_fc,
"FC": dependent_module.spack_fc,
},
)
def setup_run_environment(self, env):
super().setup_run_environment(env)
for name, value in self.mpi_compiler_wrappers.items():
env.set(name, value)

View File

@ -1,25 +0,0 @@
paths:
- layout:
- executables:
- "bin/intel64/icc"
script: |
echo "icc (ICC) 18.0.5 20180823"
echo "Copyright (C) 1985-2018 Intel Corporation. All rights reserved."
- executables:
- "bin/intel64/icpc"
script: |
echo "icpc (ICC) 18.0.5 20180823"
echo "Copyright (C) 1985-2018 Intel Corporation. All rights reserved."
- executables:
- "bin/intel64/ifort"
script: |
echo "ifort (IFORT) 18.0.5 20180823"
echo "Copyright (C) 1985-2018 Intel Corporation. All rights reserved."
platforms: ["darwin", "linux"]
results:
- spec: 'intel@18.0.5'
extra_attributes:
compilers:
c: ".*/bin/intel64/icc"
cxx: ".*/bin/intel64/icpc"
fortran: ".*/bin/intel64/ifort"

View File

@ -1,289 +0,0 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import re
import llnl.util.tty as tty
import spack.build_systems.compiler
from spack.package import *
@IntelOneApiPackage.update_description
class Intel(IntelPackage):
"""Intel Compilers. This package has been replaced by
intel-oneapi-compilers.
"""
homepage = "https://software.intel.com/en-us/intel-parallel-studio-xe"
# Robert Cohn
maintainers("rscohn2")
depends_on("patchelf", type="build")
# Same as in ../intel-parallel-studio/package.py, Composer Edition,
# but the version numbering in Spack differs.
version(
"20.0.4",
sha256="ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17117/parallel_studio_xe_2020_update4_composer_edition.tgz",
deprecated=True,
)
version(
"20.0.2",
sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
deprecated=True,
)
version(
"20.0.1",
sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz",
deprecated=True,
)
version(
"20.0.0",
sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/parallel_studio_xe_2020_composer_edition.tgz",
deprecated=True,
)
version(
"19.1.2",
sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
deprecated=True,
)
version(
"19.1.1",
sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz",
deprecated=True,
)
version(
"19.1.0",
sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/parallel_studio_xe_2020_composer_edition.tgz",
deprecated=True,
)
version(
"19.0.5",
sha256="e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz",
deprecated=True,
)
version(
"19.0.4",
sha256="1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz",
deprecated=True,
)
version(
"19.0.3",
sha256="15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz",
deprecated=True,
)
version(
"19.0.1",
sha256="db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz",
deprecated=True,
)
version(
"19.0.0",
sha256="e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13581/parallel_studio_xe_2019_composer_edition.tgz",
deprecated=True,
)
# Version 18.0.5 comes with parallel studio 2018 update 4. See:
# https://software.intel.com/en-us/articles/intel-compiler-and-composer-update-version-numbers-to-compiler-version-number-mapping
version(
"18.0.5",
sha256="94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz",
deprecated=True,
)
version(
"18.0.3",
sha256="f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz",
deprecated=True,
)
version(
"18.0.2",
sha256="02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz",
deprecated=True,
)
version(
"18.0.1",
sha256="db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz",
deprecated=True,
)
version(
"18.0.0",
sha256="ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12067/parallel_studio_xe_2018_composer_edition.tgz",
deprecated=True,
)
#
version(
"17.0.7",
sha256="661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.6",
sha256="771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.5",
sha256="ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.4",
sha256="4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.3",
sha256="3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.2",
sha256="abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.1",
sha256="bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz",
deprecated=True,
)
version(
"17.0.0",
sha256="d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9656/parallel_studio_xe_2017_composer_edition.tgz",
deprecated=True,
)
#
version(
"16.0.4",
sha256="17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz",
deprecated=True,
)
version(
"16.0.3",
sha256="fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz",
deprecated=True,
)
version(
"16.0.2",
sha256="6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz",
deprecated=True,
)
#
# Grandfathered release; different directory structure.
version(
"15.0.6",
sha256="b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8432/l_compxe_2015.6.233.tgz",
deprecated=True,
)
version(
"15.0.1",
sha256="8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9",
url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4933/l_compxe_2015.1.133.tgz",
deprecated=True,
)
variant("rpath", default=True, description="Add rpath to .cfg files")
auto_dispatch_options = IntelPackage.auto_dispatch_options
variant(
"auto_dispatch",
values=any_combination_of(*auto_dispatch_options),
description="Enable generation of multiple auto-dispatch code paths",
)
# MacOS does not support some of the auto dispatch settings
conflicts("auto_dispatch=SSE2", "platform=darwin", msg="SSE2 is not supported on MacOS")
conflicts(
"auto_dispatch=SSE3",
"platform=darwin target=x86_64:",
msg="SSE3 is not supported on MacOS x86_64",
)
executables = ["^icc$", "^icpc$", "^ifort$"]
@classmethod
def determine_version(cls, exe):
version_regex = re.compile(r"\((?:IFORT|ICC)\) ([^ ]+)")
try:
output = spack.build_systems.compiler.compiler_output(
exe, version_argument="--version"
)
match = version_regex.search(output)
if match:
return match.group(1)
except ProcessError:
pass
except Exception as e:
tty.debug(str(e))
return None
@classmethod
def determine_variants(cls, exes, version_str):
compilers = {}
for exe in exes:
if "icc" in exe:
compilers["c"] = exe
if "icpc" in exe:
compilers["cxx"] = exe
if "ifort" in exe:
compilers["fortran"] = exe
return "", {"compilers": compilers}
@property
def cc(self):
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("c", None)
return str(self.spec.prefix.bin.intel64.icc)
@property
def cxx(self):
msg = "cannot retrieve C++ compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("cxx", None)
return str(self.spec.prefix.bin.intel64.icpc)
@property
def fortran(self):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("fortran", None)
return str(self.spec.prefix.bin.intel64.ifort)
# Since the current package is a subset of 'intel-parallel-studio',
# all remaining Spack actions are handled in the package class.

View File

@ -83,7 +83,7 @@ def edit(self, spec, prefix):
vinc += " -DHAVE_LAPACK_CONFIG_H"
vinc += " -DLAPACK_COMPLEX_STRUCTURE"
filter_file("#PLATFORM=lapack", vinc, mf, string=True)
elif ltype == "intel-mkl":
elif ltype == "intel-oneapi-mkl":
vpla = "PLATFORM=mkl"
filter_file("#PLATFORM=lapack", vinc, mf, string=True)

View File

@ -75,7 +75,7 @@ class Itk(CMakePackage):
)
def cmake_args(self):
use_mkl = self.spec["fftw-api"].name in INTEL_MATH_LIBRARIES
use_mkl = self.spec.satisfies("^[virtuals=fftw-api] intel-oneapi-mkl")
args = [
self.define("BUILD_TESTING", False),
self.define("BUILD_SHARED_LIBS", True),

View File

@ -73,9 +73,7 @@ def install(self, spec, prefix):
configure_args.append("--atlas-root=" + spec["blas"].prefix)
if "+pthread" in spec["blas"].variants:
configure_args.append("--threaded-atlas")
elif spec.satisfies("^[virtuals=blas] intel-parallel-studio") or spec.satisfies(
"^[virtuals=blas] intel-mkl"
):
elif spec.satisfies("^[virtuals=blas] intel-oneapi-mkl"):
configure_args.append("--mathlib=MKL")
configure_args.append("--mkl-root=" + spec["blas"].prefix.mkl)
if "+openmp" in spec["blas"].variants:

View File

@ -28,14 +28,13 @@ class Ldak(Package):
depends_on("blas")
depends_on("lapack")
depends_on("openblas threads=openmp", when="^[virtuals=blas] openblas")
depends_on("intel-mkl threads=openmp", when="^[virtuals=blas] intel-mkl")
depends_on("intel-oneapi-mkl threads=openmp", when="^[virtuals=blas] intel-oneapi-mkl")
depends_on("glpk", when="+glpk")
requires("target=x86_64:", when="~glpk", msg="bundled qsopt is only for x86_64")
requires(
"^openblas",
*[f"^{intel_pkg}" for intel_pkg in INTEL_MATH_LIBRARIES],
"^[virtuals=lapack] openblas",
"^[virtuals=lapack] intel-oneapi-mkl",
policy="one_of",
msg="Only mkl or openblas are supported for blas/lapack with ldak",
)

View File

@ -31,8 +31,6 @@ class Ligra(MakefilePackage):
def setup_build_environment(self, env):
if self.spec.satisfies("+openmp"):
env.set("OPENMP", "1")
# when +mkl, MKLROOT will be defined by intel-mkl package,
# triggering a build with mkl support
def setup_run_environment(self, env):
env.prepend_path("PATH", self.prefix.apps)

View File

@ -85,12 +85,11 @@ def edit(self, spec, prefix):
flags["PREFIX"] = prefix
# Set LAPACK and SCALAPACK
if (
spec["scalapack"].name in INTEL_MATH_LIBRARIES
or spec["lapack"].name in INTEL_MATH_LIBRARIES
or spec["blas"].name in INTEL_MATH_LIBRARIES
if spec.satisfies("^[virtuals=scalapack] intel-oneapi-mkl") or spec.satisfies(
"^[virtuals=lapack] intel-oneapi-mkl"
):
flags["LAPACK"] = self._get_mkl_ld_flags(spec)
flags["CPPFLAGS"] = flags.get("CPPFLAGS", "") + " -DHAVE_MKL "
else:
flags["LAPACK"] = spec["lapack"].libs.ld_flags + " " + spec["blas"].libs.ld_flags
if "+scalapack" in spec:
@ -116,13 +115,6 @@ def edit(self, spec, prefix):
if "+scalapack" in spec:
flags["CPPFLAGS"] = flags.get("CPPFLAGS", "") + " -DHAVE_SCALAPACK -DHAVE_MPI "
if (
spec["lapack"].name in INTEL_MATH_LIBRARIES
or spec["scalapack"].name in INTEL_MATH_LIBRARIES
or spec["blas"].name in INTEL_MATH_LIBRARIES
):
flags["CPPFLAGS"] = flags.get("CPPFLAGS", "") + " -DHAVE_MKL "
# Write configuration file
with open("my_machine.arch", "w") as f:
for k, v in flags.items():

View File

@ -236,7 +236,9 @@ def write_makefile_inc(self):
# As of version 5.2.0, MUMPS is able to take advantage
# of the GEMMT BLAS extension. MKL and amdblis are the only
# known BLAS implementation supported.
if self.spec["blas"].name in INTEL_MATH_LIBRARIES and self.spec.satisfies("@5.2.0:"):
if self.spec.satisfies("^[virtuals=blas] intel-oneapi-mkl") and self.spec.satisfies(
"@5.2.0:"
):
optf.append("-DGEMMT_AVAILABLE")
if "@5.2.0: ^amdblis@3.0:" in self.spec:

View File

@ -72,12 +72,7 @@ class Ngspice(AutotoolsPackage):
depends_on("cray-fftw+openmp", when="^[virtuals=fftw-api] cray-fftw")
depends_on("fftw+openmp", when="^[virtuals=fftw-api] fftw")
depends_on("fujitsu-fftw+openmp", when="^[virtuals=fftw-api] fujitsu-fftw")
depends_on("intel-mkl threads=openmp", when="^[virtuals=fftw-api] intel-mkl")
depends_on("intel-oneapi-mkl threads=openmp", when="^[virtuals=fftw-api] intel-oneapi-mkl")
depends_on(
"intel-parallel-studio threads=openmp",
when="^[virtuals=fftw-api] intel-parallel-studio",
)
with when("+fft~openmp"):
depends_on("acfl threads=none", when="^[virtuals=fftw-api] acfl")
@ -86,11 +81,7 @@ class Ngspice(AutotoolsPackage):
depends_on("cray-fftw~openmp", when="^[virtuals=fftw-api] cray-fftw")
depends_on("fftw~openmp", when="^[virtuals=fftw-api] fftw")
depends_on("fujitsu-fftw~openmp", when="^[virtuals=fftw-api] fujitsu-fftw")
depends_on("intel-mkl threads=none", when="^[virtuals=fftw-api] intel-mkl")
depends_on("intel-oneapi-mkl threads=none", when="^[virtuals=fftw-api] intel-oneapi-mkl")
depends_on(
"intel-parallel-studio threads=none", when="^[virtuals=fftw-api] intel-parallel-studio"
)
depends_on("readline", when="+readline build=bin")

View File

@ -44,6 +44,13 @@ class Nlcglib(CMakePackage, CudaPackage, ROCmPackage):
depends_on("mpi")
depends_on("lapack")
requires(
"^[virtuals=lapack] openblas",
"^[virtuals=lapack] intel-oneapi-mkl",
policy="one_of",
msg="Only mkl or openblas are supported for blas/lapack with ldak",
)
depends_on("kokkos~cuda~rocm", when="~cuda~rocm")
depends_on("kokkos+openmp", when="+openmp")
@ -81,13 +88,10 @@ def cmake_args(self):
self.define_from_variant("USE_CUDA", "cuda"),
]
if self.spec["blas"].name in ["intel-mkl", "intel-parallel-studio"]:
options += [self.define("LAPACK_VENDOR", "MKL")]
elif self.spec["blas"].name in ["intel-oneapi-mkl"]:
options += [self.define("LAPACK_VENDOR", "MKLONEAPI")]
if self.spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"):
mkl_mapper = {
"threading": {"none": "sequential", "openmp": "gnu_thread", "tbb": "tbb_thread"},
"mpi": {"intel-mpi": "intelmpi", "mpich": "mpich", "openmpi": "openmpi"},
"mpi": {"intel-oneapi-mpi": "intelmpi", "mpich": "mpich", "openmpi": "openmpi"},
}
mkl_threads = mkl_mapper["threading"][
@ -102,23 +106,20 @@ def cmake_args(self):
options.extend(
[
self.define("LAPACK_VENDOR", "MKLONEAPI"),
self.define("MKL_INTERFACE", "lp64"),
self.define("MKL_THREADING", mkl_threads),
self.define("MKL_MPI", mkl_mpi),
]
)
elif self.spec["blas"].name in ["openblas"]:
options += [self.define("LAPACK_VENDOR", "OpenBLAS")]
else:
raise Exception("blas/lapack must be either openblas or mkl.")
options.append(self.define("LAPACK_VENDOR", "OpenBLAS"))
if "+cuda%gcc" in self.spec:
options += [
self.define(
"CMAKE_CXX_COMPILER", "{0}".format(self["kokkos-nvcc-wrapper"].kokkos_cxx)
)
]
options.append(
self.define("CMAKE_CXX_COMPILER", self["kokkos-nvcc-wrapper"].kokkos_cxx)
)
if "+cuda" in self.spec:
cuda_archs = self.spec.variants["cuda_arch"].value
@ -126,19 +127,23 @@ def cmake_args(self):
cuda_flags = " ".join(
["-gencode arch=compute_{0},code=sm_{0}".format(x) for x in cuda_archs]
)
options += [self.define("CMAKE_CUDA_FLAGS", cuda_flags)]
options.append(self.define("CMAKE_CUDA_FLAGS", cuda_flags))
else:
options += [self.define("CMAKE_CUDA_ARCHITECTURES", cuda_archs)]
options.append(self.define("CMAKE_CUDA_ARCHITECTURES", cuda_archs))
if "^cuda+allow-unsupported-compilers" in self.spec:
options += [self.define("CMAKE_CUDA_FLAGS", "--allow-unsupported-compiler")]
options.append(self.define("CMAKE_CUDA_FLAGS", "--allow-unsupported-compiler"))
if "+rocm" in self.spec:
options.append(self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc))
archs = ",".join(self.spec.variants["amdgpu_target"].value)
options.append("-DHIP_HCC_FLAGS=--amdgpu-target={0}".format(archs))
options.append(
"-DCMAKE_CXX_FLAGS=--amdgpu-target={0} --offload-arch={0}".format(archs)
options.extend(
[
self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc),
self.define("HIP_HCC_FLAGS", f"--amdgpu-target={archs}"),
self.define(
"CMAKE_CXX_FLAGS", f"--amdgpu-target={archs} --offload-arch={archs}"
),
]
)
return options

View File

@ -181,7 +181,7 @@ def configure_args(self):
if "^fftw" in spec:
args.append("--with-fftw-prefix=%s" % spec["fftw"].prefix)
elif spec["fftw-api"].name in INTEL_MATH_LIBRARIES:
elif spec.satisfies("^[virtuals=fftw-api] intel-oneapi-mkl"):
# As of version 10.0, Octopus depends on fftw-api instead
# of FFTW. If FFTW is not in the dependency tree, then
# it ought to be MKL as it is currently the only providers

View File

@ -85,11 +85,11 @@ def cmake_args(self):
args.extend([self.define("PASTIX_WITH_STARPU", "ON")])
args.extend([self.define_from_variant("PASTIX_WITH_CUDA", "cuda")])
if "^intel-mkl" in spec or "^intel-parallel-studio+mkl" in spec:
if spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"):
args.extend([self.define("BLA_VENDOR", "Intel10_64lp_seq")])
elif "^netlib-lapack" in spec:
elif spec.satisfies("^[virtuals=lapack] netlib-lapack"):
args.extend([self.define("BLA_VENDOR", "Generic")])
elif "^openblas" in spec:
elif spec.satisfies("^[virtuals=lapack] openblas"):
args.extend([self.define("BLA_VENDOR", "OpenBLAS")])
if spec.satisfies("+mpi"):

View File

@ -292,9 +292,6 @@ class Petsc(Package, CudaPackage, ROCmPackage):
when="@3.20.2:3.20.4 ^hipsparse@6.0",
)
# 3.8.0 has a build issue with MKL - so list this conflict explicitly
conflicts("^intel-mkl", when="@3.8.0")
# These require +mpi
mpi_msg = "Requires +mpi"
conflicts("+cgns", when="~mpi", msg=mpi_msg)

View File

@ -56,7 +56,6 @@ class PyDevito(PythonPackage):
depends_on("mpi", type=("build", "run"), when="+mpi")
depends_on("intel-parallel-studio", type="run", when="%intel@:2021.1.1")
depends_on("intel-oneapi-compilers", type="run", when="%intel@2021.1.2:")
patch("4.8.1.patch", when="@4.8.1")

View File

@ -289,10 +289,10 @@ def blas_lapack_pkg_config(self) -> Tuple[str, str]:
blas = spec["blas"].libs.names[0]
lapack = spec["lapack"].libs.names[0]
if spec["blas"].name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]:
if spec["blas"].name == "intel-oneapi-mkl":
blas = "mkl-dynamic-lp64-seq"
if spec["lapack"].name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]:
if spec["lapack"].name == "intel-oneapi-mkl":
lapack = "mkl-dynamic-lp64-seq"
if spec["blas"].name in ["blis", "amdblis"]:
@ -389,11 +389,7 @@ def write_library_dirs(f, dirs):
# Tell numpy where to find BLAS/LAPACK libraries
with open("site.cfg", "w") as f:
if (
"^intel-mkl" in spec
or "^intel-parallel-studio+mkl" in spec
or "^intel-oneapi-mkl" in spec
):
if "^intel-oneapi-mkl" in spec:
f.write("[mkl]\n")
# FIXME: as of @1.11.2, numpy does not work with separately
# specified threading and interface layers. A workaround is a
@ -497,11 +493,7 @@ def setup_build_environment(self, env):
# https://github.com/numpy/numpy/pull/13132
# https://numpy.org/doc/1.25/user/building.html#accelerated-blas-lapack-libraries
# https://numpy.org/doc/1.25/user/building.html#blas
if (
spec["blas"].name == "intel-mkl"
or spec["blas"].name == "intel-parallel-studio"
or spec["blas"].name == "intel-oneapi-mkl"
):
if spec["blas"].name == "intel-oneapi-mkl":
blas = "mkl"
elif spec["blas"].name == "blis" or spec["blas"].name == "amdblis":
blas = "blis"
@ -517,11 +509,7 @@ def setup_build_environment(self, env):
env.set("NPY_BLAS_ORDER", blas)
# https://numpy.org/doc/1.25/user/building.html#lapack
if (
spec["lapack"].name == "intel-mkl"
or spec["lapack"].name == "intel-parallel-studio"
or spec["lapack"].name == "intel-oneapi-mkl"
):
if spec["lapack"].name == "intel-oneapi-mkl":
lapack = "mkl"
elif spec["lapack"].name == "openblas":
lapack = "openblas"

View File

@ -27,8 +27,6 @@ class PyTomopy(PythonPackage):
depends_on("cuda", when="@master")
# The shared opencv is not found by during runtest. Not using GOT/PLT is faster too
depends_on("opencv+imgproc~shared@3.4:", when="@master")
# During the runtest, the shared MKL libs aren't found yet:
# depends_on('intel-mkl~shared')
depends_on("cmake@3.17:", type=("build"))
depends_on("ninja", type=("build"))
depends_on("py-setuptools-scm", type=("build"))

View File

@ -662,14 +662,10 @@ def enable_or_disable(variant, keyword="USE", var=None):
elif self.spec["lapack"].name in ["libflame", "amdlibflame"]:
env.set("BLAS", "FLAME")
env.set("WITH_BLAS", "FLAME")
elif self.spec["blas"].name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]:
elif self.spec["blas"].name == "intel-oneapi-mkl":
env.set("BLAS", "MKL")
env.set("WITH_BLAS", "mkl")
# help find MKL
if self.spec["mkl"].name == "intel-oneapi-mkl":
env.set("INTEL_MKL_DIR", self.spec["mkl"].prefix.mkl.latest)
else:
env.set("INTEL_MKL_DIR", self.spec["mkl"].prefix.mkl)
env.set("INTEL_MKL_DIR", self.spec["mkl"].prefix.mkl.latest)
elif self.spec["blas"].name == "openblas":
env.set("BLAS", "OpenBLAS")
env.set("WITH_BLAS", "open")

View File

@ -69,9 +69,9 @@ class QESirius(CMakePackage):
depends_on("hdf5@1.8.16:+fortran+hl~mpi", when="hdf5=serial")
with when("+openmp"):
depends_on("fftw+openmp", when="^[virtuals=fftw-api] fftw")
depends_on("openblas threads=openmp", when="^[virtuals=blas] openblas")
depends_on("intel-mkl threads=openmp", when="^[virtuals=blas] intel-mkl")
requires("^fftw+openmp", when="^[virtuals=fftw-api] fftw")
requires("^openblas threads=openmp", when="^[virtuals=blas] openblas")
requires("^intel-oneapi-mkl threads=openmp", when="^[virtuals=blas] intel-oneapi-mkl")
def cmake_args(self):
args = [
@ -92,7 +92,7 @@ def cmake_args(self):
# Work around spack issue #19970 where spack sets
# rpaths for MKL just during make, but cmake removes
# them during make install.
if self.spec["lapack"].name in INTEL_MATH_LIBRARIES:
if self.spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"):
args.append("-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON")
spec = self.spec
args.append(self.define("BLAS_LIBRARIES", spec["blas"].libs.joined(";")))

View File

@ -8,9 +8,9 @@
class Qmcpack(CMakePackage, CudaPackage):
"""QMCPACK, is a modern high-performance open-source Quantum Monte
Carlo (QMC) simulation code."""
Carlo (QMC) simulation code.
"""
# Package information
homepage = "https://www.qmcpack.org/"
git = "https://github.com/QMCPACK/qmcpack.git"
maintainers("ye-luo")
@ -113,11 +113,8 @@ class Qmcpack(CMakePackage, CudaPackage):
msg="QMCPACK CUDA+SOA variant does not exist prior to v. 3.5.0.",
)
conflicts("^openblas+ilp64", msg="QMCPACK does not support OpenBLAS 64-bit integer variant")
conflicts("^openblas threads=none", msg="QMCPACK does not support OpenBLAS without threading")
conflicts("^openblas threads=pthreads", msg="QMCPACK does not support OpenBLAS with pthreads")
requires("^openblas~ilp64 threads=openmp", when="^[virtuals=blas,lapack] openblas")
requires("^intel-oneapi-mkl ~ilp64", when="^[virtuals=blas,lapack] intel-oneapi-mkl")
conflicts(
"cuda_arch=none",
@ -125,10 +122,6 @@ class Qmcpack(CMakePackage, CudaPackage):
msg="A value for cuda_arch must be specified. Add cuda_arch=XX",
)
# Omitted for now due to concretizer bug
# conflicts('^intel-mkl+ilp64',
# msg='QMCPACK does not support MKL 64-bit integer variant')
# QMCPACK 3.15.0 increased the minimum gcc to 9
conflicts("%gcc@:8", when="@3.15.0:")
@ -164,8 +157,8 @@ class Qmcpack(CMakePackage, CudaPackage):
"QMCPACK releases prior to 3.5.0 require the "
"Intel compiler when linking against Intel MKL"
)
conflicts("%gcc", when="@:3.4.0 ^intel-mkl", msg=mkl_warning)
conflicts("%llvm", when="@:3.4.0 ^intel-mkl", msg=mkl_warning)
conflicts("%gcc", when="@:3.4.0 ^[virtuals=blas,lapack] intel-oneapi-mkl", msg=mkl_warning)
conflicts("%llvm", when="@:3.4.0 ^[virtuals=blas,lapack] intel-oneapi-mkl", msg=mkl_warning)
# Dependencies match those in the QMCPACK manual.
# FIXME: once concretizer can unite unconditional and conditional
@ -378,7 +371,7 @@ def cmake_args(self):
# Next two environment variables were introduced in QMCPACK 3.5.0
# Prior to v3.5.0, these lines should be benign but CMake
# may issue a warning.
if spec["lapack"].name in INTEL_MATH_LIBRARIES:
if spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl"):
args.append("-DENABLE_MKL=1")
args.append("-DMKL_ROOT=%s" % env["MKLROOT"])
else:

View File

@ -80,13 +80,13 @@ class QuantumEspresso(CMakePackage, Package):
# Need OpenMP threaded FFTW and BLAS libraries when configured
# with OpenMP support
with when("+openmp"):
depends_on("fftw+openmp", when="^[virtuals=fftw-api] fftw")
depends_on("amdfftw+openmp", when="^[virtuals=fftw-api] amdfftw")
depends_on("openblas threads=openmp", when="^[virtuals=blas] openblas")
depends_on("amdblis threads=openmp", when="^[virtuals=blas] amdblis")
depends_on("intel-mkl threads=openmp", when="^[virtuals=blas] intel-mkl")
depends_on("armpl-gcc threads=openmp", when="^[virtuals=blas] armpl-gcc")
depends_on("acfl threads=openmp", when="^[virtuals=blas] acfl")
requires("^fftw+openmp", when="^[virtuals=fftw-api] fftw")
requires("^amdfftw+openmp", when="^[virtuals=fftw-api] amdfftw")
requires("^openblas threads=openmp", when="^[virtuals=blas] openblas")
requires("^amdblis threads=openmp", when="^[virtuals=blas] amdblis")
requires("^intel-oneapi-mkl threads=openmp", when="^[virtuals=blas] intel-oneapi-mkl")
requires("^armpl-gcc threads=openmp", when="^[virtuals=blas] armpl-gcc")
requires("^acfl threads=openmp", when="^[virtuals=blas] acfl")
# Add Cuda Fortran support
# depends on NVHPC compiler, not directly on CUDA toolkit
@ -250,9 +250,8 @@ class QuantumEspresso(CMakePackage, Package):
depends_on("m4", type="build")
# If the Intel suite is used for Lapack, it must be used for fftw and vice-versa
for _intel_pkg in INTEL_MATH_LIBRARIES:
requires(f"^[virtuals=fftw-api] {_intel_pkg}", when=f"^[virtuals=lapack] {_intel_pkg}")
requires(f"^[virtuals=lapack] {_intel_pkg}", when=f"^[virtuals=fftw-api] {_intel_pkg}")
requires("^[virtuals=fftw-api] intel-oneapi-mkl", when="^[virtuals=lapack] intel-oneapi-mkl")
requires("^[virtuals=lapack] intel-oneapi-mkl", when="^[virtuals=fftw-api] intel-oneapi-mkl")
# CONFLICTS SECTION
# Omitted for now due to concretizer bug
@ -538,7 +537,7 @@ def install(self, pkg, spec, prefix):
# you need to pass it in the FFTW_INCLUDE and FFT_LIBS directory.
# QE supports an internal FFTW2, but only an external FFTW3 interface.
is_using_intel_libraries = spec["lapack"].name in INTEL_MATH_LIBRARIES
is_using_intel_libraries = spec["lapack"].name == "intel-oneapi-mkl"
if is_using_intel_libraries:
# A seperate FFT library is not needed when linking against MKL
options.append("FFTW_INCLUDE={0}".format(join_path(env["MKLROOT"], "include/fftw")))
@ -586,9 +585,9 @@ def install(self, pkg, spec, prefix):
if "+scalapack" in spec:
if is_using_intel_libraries:
if "^openmpi" in spec:
if "^[virtuals=mpi] openmpi" in spec:
scalapack_option = "yes"
else: # mpich, intel-mpi
else: # mpich
scalapack_option = "intel"
else:
scalapack_option = "yes"

View File

@ -24,8 +24,7 @@ class RRmpi(RPackage):
depends_on("mpi")
# The following MPI types are not supported
conflicts("^[virtuals=mpi] intel-mpi")
conflicts("^[virtuals=mpi] intel-parallel-studio")
conflicts("^[virtuals=mpi] intel-oneapi-mpi")
conflicts("^[virtuals=mpi] mvapich2")
conflicts("^[virtuals=mpi] spectrum-mpi")

View File

@ -177,7 +177,10 @@ def configure_args(self):
# R uses LAPACK in Fortran, which requires libmkl_gf_* when gfortran is used.
# TODO: cleaning this up seem to require both compilers as dependencies and use variants.
if spec["lapack"].name in INTEL_MATH_LIBRARIES and "gfortran" in self.compiler.fc:
if (
spec.satisfies("^[virtuals=lapack] intel-oneapi-mkl")
and "gfortran" in self.compiler.fc
):
xlp64 = "ilp64" if spec["lapack"].satisfies("+ilp64") else "lp64"
blas_flags = blas_flags.replace(f"mkl_intel_{xlp64}", f"mkl_gf_{xlp64}")
lapack_flags = lapack_flags.replace(f"mkl_intel_{xlp64}", f"mkl_gf_{xlp64}")
@ -191,15 +194,13 @@ def configure_args(self):
f"LDFLAGS=-Wl,-rpath,{extra_rpath}",
f"--with-blas={blas_flags}",
f"--with-lapack={lapack_flags}",
# cannot disable docs with a normal configure option
"ac_cv_path_PDFLATEX=",
"ac_cv_path_PDFTEX=",
"ac_cv_path_TEX=",
"ac_cv_path_TEXI2DVI=",
f"--with-libintl-prefix={spec['gettext'].prefix}",
]
config_args.append("--with-libintl-prefix={0}".format(spec["gettext"].prefix))
if "+X" in spec:
config_args.append("--with-cairo")
config_args.append("--with-jpeglib")

View File

@ -41,11 +41,12 @@ class ScineQcmaquis(CMakePackage):
depends_on("hdf5~mpi")
depends_on("lapack")
depends_on("blas")
for _pkg in ["openblas"] + list(INTEL_MATH_LIBRARIES):
with when(f"^[virtuals=blas] {_pkg}"):
depends_on(f"{_pkg}+ilp64 threads=openmp")
requires("^openblas +ilp64 threads=openmp", when="^[virtuals=blas,lapack] openblas")
requires(
"^intel-oneapi-mkl +ilp64 threads=openmp", when="^[virtuals=blas,lapack] intel-oneapi-mkl"
)
depends_on("gsl")
depends_on("boost+program_options+filesystem+system+thread+serialization+chrono @1.56:")

View File

@ -213,15 +213,17 @@ def configure_args(self):
# If autodetection fails for +shmem with one of these available to spack, please add
# a "if spec.satisfies():" clause for said package.
if spec.satisfies("^intel-mpi") or spec.satisfies("^intel-oneapi-mpi"):
if spec.satisfies("^[virtuals=mpi] intel-oneapi-mpi"):
config_args.append("--with-mpi=intel3")
elif (
spec.satisfies("^mpich")
or spec.satisfies("^mvapich2")
or spec.satisfies("^cray-mpich")
spec.satisfies("^[virtuals=mpi] mpich")
or spec.satisfies("^[virtuals=mpi] mvapich2")
or spec.satisfies("^[virtuals=mpi] cray-mpich")
):
config_args.append("--with-mpi=mpich3")
elif spec.satisfies("^openmpi") or spec.satisfies("^hpcx-mpi"):
elif spec.satisfies("^[virtuals=mpi] openmpi") or spec.satisfies(
"^[virtuals=mpi] hpcx-mpi"
):
config_args.append("--with-mpi=openmpi")
elif "~mpi" in spec:
config_args.append("--without-mpi")

View File

@ -202,7 +202,7 @@ class Seissol(CMakePackage, CudaPackage, ROCmPackage):
depends_on("easi ~asagi jit=impalajit,lua", when="~asagi")
depends_on("easi +asagi jit=impalajit,lua", when="+asagi")
depends_on("intel-mkl threads=none", when="gemm_tools_list=MKL")
depends_on("intel-oneapi-mkl threads=none", when="gemm_tools_list=MKL")
depends_on("blis threads=none", when="gemm_tools_list=BLIS")
depends_on("openblas threads=none", when="gemm_tools_list=OpenBLAS")
depends_on("libxsmm@main", when="gemm_tools_list=LIBXSMM_JIT")

View File

@ -31,13 +31,14 @@ class Sionlib(AutotoolsPackage):
def configure_args(self):
args = []
spec = self.spec
if spec.satisfies("^intel-mpi"):
if self.spec.satisfies("^[virtuals=mpi] intel-oneapi-mpi"):
args.append("--mpi=intel2")
elif spec.satisfies("^mpich") or spec.satisfies("^mvapich2"):
elif self.spec.satisfies("^[virtuals=mpi] mpich") or self.spec.satisfies(
"^[virtuals=mpi] mvapich2"
):
args.append("--mpi=mpich2")
elif spec.satisfies("^openmpi"):
elif self.spec.satisfies("^[virtuals=mpi] openmpi"):
args.append("--mpi=openmpi")
return args

View File

@ -153,9 +153,6 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
depends_on("openblas threads=openmp", when="+openmp ^[virtuals=blas,lapack] openblas")
depends_on("amdblis threads=openmp", when="+openmp ^[virtuals=blas] amdblis")
depends_on("blis threads=openmp", when="+openmp ^[virtuals=blas] blis")
depends_on(
"intel-mkl threads=openmp", when="+openmp ^[virtuals=blas,lapack,fftw-api] intel-mkl"
)
depends_on(
"intel-oneapi-mkl threads=openmp",
when="+openmp ^[virtuals=blas,lapack,fftw-api] intel-oneapi-mkl",
@ -165,7 +162,6 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
when="+scalapack ^[virtuals=blas,lapack,fftw-api] intel-oneapi-mkl",
)
conflicts("intel-mkl", when="@7.6.0:")
# MKLConfig.cmake introduced in 2021.3
conflicts("intel-oneapi-mkl@:2021.2", when="^intel-oneapi-mkl")
@ -244,7 +240,7 @@ def cmake_args(self):
if "^cray-libsci" in spec:
args.append(self.define(cm_label + "USE_CRAY_LIBSCI", "ON"))
if spec["blas"].name in INTEL_MATH_LIBRARIES:
if spec.satisfies("^[virtuals=blas] intel-oneapi-mkl"):
args.append(self.define(cm_label + "USE_MKL", "ON"))
if spec.satisfies("@7.6.0:"):
@ -254,7 +250,11 @@ def cmake_args(self):
"openmp": "gnu_thread",
"tbb": "tbb_thread",
},
"mpi": {"intel-mpi": "intelmpi", "mpich": "mpich", "openmpi": "openmpi"},
"mpi": {
"intel-oneapi-mpi": "intelmpi",
"mpich": "mpich",
"openmpi": "openmpi",
},
}
mkl_threads = mkl_mapper["threading"][

View File

@ -145,11 +145,7 @@ class Xyce(CMakePackage):
depends_on("blis libs=static", when="^[virtuals=blas] blis+cblas")
depends_on("blis libs=static", when="^[virtuals=blas] blis+blas")
depends_on("clblast~shared", when="^[virtuals=blas] clblast+netlib")
depends_on("intel-mkl~shared", when="^[virtuals=blas] intel-mkl")
depends_on("intel-oneapi-mkl~shared", when="^[virtuals=blas] intel-oneapi-mkl")
depends_on(
"intel-parallel-studio~shared", when="^[virtuals=blas] intel-parallel-studio+mkl"
)
depends_on("veclibfort~shared", when="^[virtuals=blas] veclibfort")
conflicts("^essl", msg="essl not supported with +pymi_static_tpls")
conflicts("^flexiblas", msg="flexiblas not supported with +pymi_static_tpls")