Compare commits
9 Commits
develop-20
...
bugfix/msv
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d6ce6d30b8 | ||
|
|
f0acbe4310 | ||
|
|
f0c676d14a | ||
|
|
13dd198a09 | ||
|
|
3f6c66d701 | ||
|
|
dcd6e61f34 | ||
|
|
ac7b467897 | ||
|
|
c5adb934c2 | ||
|
|
1e70a8d6ad |
@@ -257,6 +257,9 @@ class AmrWind(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on("fftw", when="@2.1: +waves2amr")
|
depends_on("fftw", when="@2.1: +waves2amr")
|
||||||
depends_on("fftw", when="@3.3.1: +fft")
|
depends_on("fftw", when="@3.3.1: +fft")
|
||||||
|
|
||||||
|
depends_on("rocrand", when="+rocm")
|
||||||
|
depends_on("rocprim", when="+rocm")
|
||||||
|
|
||||||
for arch in CudaPackage.cuda_arch_values:
|
for arch in CudaPackage.cuda_arch_values:
|
||||||
depends_on("hypre+cuda cuda_arch=%s" % arch, when="+cuda+hypre cuda_arch=%s" % arch)
|
depends_on("hypre+cuda cuda_arch=%s" % arch, when="+cuda+hypre cuda_arch=%s" % arch)
|
||||||
for arch in ROCmPackage.amdgpu_targets:
|
for arch in ROCmPackage.amdgpu_targets:
|
||||||
|
|||||||
53
var/spack/repos/builtin/packages/bigwhoop/package.py
Normal file
53
var/spack/repos/builtin/packages/bigwhoop/package.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
|
class Bigwhoop(CMakePackage):
|
||||||
|
"""BigWhoop is a lossy compression algorithm for numerical
|
||||||
|
datasets from HPC engineering applications.
|
||||||
|
"""
|
||||||
|
|
||||||
|
homepage = "https://github.com/ptvogler/BigWhoop"
|
||||||
|
url = "https://github.com/ptvogler/BigWhoop/archive/refs/tags/v0.2.0.tar.gz"
|
||||||
|
git = "https://github.com/ptvogler/BigWhoop.git"
|
||||||
|
|
||||||
|
maintainers("ptvogler", "gregorweiss")
|
||||||
|
|
||||||
|
license("BSD-2-Clause", checked_by="ptvogler")
|
||||||
|
|
||||||
|
version("main", branch="main")
|
||||||
|
version("0.2.0", sha256="48e6aeaf9c6d39c18c030397e0cb46c43491cbf64400dda1efb4293696716692")
|
||||||
|
|
||||||
|
depends_on("c", type="build")
|
||||||
|
depends_on("fortran", type="build")
|
||||||
|
|
||||||
|
depends_on("cmake@3.5.1:", type="build")
|
||||||
|
depends_on("python", type="build")
|
||||||
|
|
||||||
|
# Build targets
|
||||||
|
variant("shared", default=True, description="Build shared libraries")
|
||||||
|
variant("utilities", default=False, description="Build bigwhoop utilities")
|
||||||
|
|
||||||
|
# Execution policies
|
||||||
|
variant("openmp", default=True, description="Enable OpenMP execution")
|
||||||
|
|
||||||
|
# Advanced settings
|
||||||
|
variant("profiling", default=False, description="Enable profiling")
|
||||||
|
variant("precision", default="Double", description="Enable double precision")
|
||||||
|
|
||||||
|
# CMake options
|
||||||
|
def cmake_args(self):
|
||||||
|
spec = self.spec
|
||||||
|
|
||||||
|
args = [
|
||||||
|
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
|
||||||
|
self.define_from_variant("BUILD_UTILITIES", "utilities"),
|
||||||
|
self.define_from_variant("BIGWHOOP_WITH_OPENMP", "openmp"),
|
||||||
|
self.define_from_variant("BIGWHOOP_WITH_PROFILING", "profiling"),
|
||||||
|
self.define("BIGWHOOP_PRECISION", spec.variants["precision"].value),
|
||||||
|
]
|
||||||
|
|
||||||
|
return args
|
||||||
@@ -22,6 +22,8 @@ class Libfabric(AutotoolsPackage, CudaPackage):
|
|||||||
license("GPL-2.0-or-later")
|
license("GPL-2.0-or-later")
|
||||||
|
|
||||||
version("main", branch="main")
|
version("main", branch="main")
|
||||||
|
version("2.1.0", sha256="97df312779e2d937246d2f46385b700e0958ed796d6fed7aae77e2d18923e19f")
|
||||||
|
version("2.0.0", sha256="1a8e40f1f331d6ee2e9ace518c0088a78c8a838968f8601c2b77fd012a7bf0f5")
|
||||||
version("1.22.0", sha256="485e6cafa66c9e4f6aa688d2c9526e274c47fda3a783cf1dd8f7c69a07e2d5fe")
|
version("1.22.0", sha256="485e6cafa66c9e4f6aa688d2c9526e274c47fda3a783cf1dd8f7c69a07e2d5fe")
|
||||||
version("1.21.1", sha256="54befa6697352f3179c79c4a79225ae71694f29eefad5d0d5a14b5444ff986dd")
|
version("1.21.1", sha256="54befa6697352f3179c79c4a79225ae71694f29eefad5d0d5a14b5444ff986dd")
|
||||||
version("1.21.0", sha256="0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7")
|
version("1.21.0", sha256="0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7")
|
||||||
@@ -70,6 +72,7 @@ class Libfabric(AutotoolsPackage, CudaPackage):
|
|||||||
"cxi",
|
"cxi",
|
||||||
"efa",
|
"efa",
|
||||||
"gni",
|
"gni",
|
||||||
|
"lnx",
|
||||||
"mlx",
|
"mlx",
|
||||||
"mrail",
|
"mrail",
|
||||||
"opx",
|
"opx",
|
||||||
@@ -138,6 +141,7 @@ class Libfabric(AutotoolsPackage, CudaPackage):
|
|||||||
|
|
||||||
conflicts("@1.9.0", when="platform=darwin", msg="This distribution is missing critical files")
|
conflicts("@1.9.0", when="platform=darwin", msg="This distribution is missing critical files")
|
||||||
conflicts("fabrics=opx", when="@:1.14.99")
|
conflicts("fabrics=opx", when="@:1.14.99")
|
||||||
|
conflicts("fabrics=lnx", when="@:1")
|
||||||
conflicts(
|
conflicts(
|
||||||
"fabrics=opx",
|
"fabrics=opx",
|
||||||
when="@1.20.0",
|
when="@1.20.0",
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ def url_for_version(self, version):
|
|||||||
|
|
||||||
license("GPLv2", checked_by="teaguesterling")
|
license("GPLv2", checked_by="teaguesterling")
|
||||||
|
|
||||||
|
version("43.2", sha256="55a7444ec1fbb95c086d40967388f231b5c0bbc8cffaa086bf9290ae449e51d5")
|
||||||
version("43.0", sha256="905bcdb85847d6b8f8861e56b30cd6dc61eae67ecef4cd994a9f925a26a2c1fe")
|
version("43.0", sha256="905bcdb85847d6b8f8861e56b30cd6dc61eae67ecef4cd994a9f925a26a2c1fe")
|
||||||
version("40.1", sha256="03134fa114ef3fbe34075aa83678f58aa2debe9fcef4ea23c0779e28601d6611")
|
version("40.1", sha256="03134fa114ef3fbe34075aa83678f58aa2debe9fcef4ea23c0779e28601d6611")
|
||||||
version("3.36.0", sha256="bc508150b3ed5d22354b0e6774ad4eee465381ebc0ace45eb0e2d3a4186c925f")
|
version("3.36.0", sha256="bc508150b3ed5d22354b0e6774ad4eee465381ebc0ace45eb0e2d3a4186c925f")
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class Mercury(CMakePackage):
|
|||||||
with when("+ofi"):
|
with when("+ofi"):
|
||||||
depends_on("libfabric@1.5:", when="@:2.0.1")
|
depends_on("libfabric@1.5:", when="@:2.0.1")
|
||||||
depends_on("libfabric@1.7:", when="@2.1.0:")
|
depends_on("libfabric@1.7:", when="@2.1.0:")
|
||||||
|
conflicts("libfabric@2:", when="@:2.4.0")
|
||||||
# openpa dependency is removed in 2.1.0
|
# openpa dependency is removed in 2.1.0
|
||||||
depends_on("openpa@1.0.3:", when="@:2.0.1%gcc@:4.8")
|
depends_on("openpa@1.0.3:", when="@:2.0.1%gcc@:4.8")
|
||||||
# We only need Boost preprocessor headers
|
# We only need Boost preprocessor headers
|
||||||
|
|||||||
@@ -12,17 +12,6 @@
|
|||||||
import spack.version
|
import spack.version
|
||||||
from spack.package import *
|
from spack.package import *
|
||||||
|
|
||||||
FC_PATH: Dict[str, str] = dict()
|
|
||||||
|
|
||||||
|
|
||||||
def get_latest_valid_fortran_pth():
|
|
||||||
"""Assign maximum available fortran compiler version"""
|
|
||||||
# TODO (johnwparent): validate compatibility w/ try compiler
|
|
||||||
# functionality when added
|
|
||||||
sort_fn = lambda fc_ver: Version(fc_ver)
|
|
||||||
sort_fc_ver = sorted(list(FC_PATH.keys()), key=sort_fn)
|
|
||||||
return FC_PATH[sort_fc_ver[-1]] if sort_fc_ver else None
|
|
||||||
|
|
||||||
|
|
||||||
class Msvc(Package, CompilerPackage):
|
class Msvc(Package, CompilerPackage):
|
||||||
"""
|
"""
|
||||||
@@ -37,10 +26,9 @@ def install(self, spec, prefix):
|
|||||||
"detected on a system where they are externally installed"
|
"detected on a system where they are externally installed"
|
||||||
)
|
)
|
||||||
|
|
||||||
compiler_languages = ["c", "cxx", "fortran"]
|
compiler_languages = ["c", "cxx"]
|
||||||
c_names = ["cl"]
|
c_names = ["cl"]
|
||||||
cxx_names = ["cl"]
|
cxx_names = ["cl"]
|
||||||
fortran_names = ["ifx", "ifort"]
|
|
||||||
|
|
||||||
compiler_version_argument = ""
|
compiler_version_argument = ""
|
||||||
compiler_version_regex = r"([1-9][0-9]*\.[0-9]*\.[0-9]*)"
|
compiler_version_regex = r"([1-9][0-9]*\.[0-9]*\.[0-9]*)"
|
||||||
@@ -50,7 +38,7 @@ def install(self, spec, prefix):
|
|||||||
# based on proper versions of MSVC from there
|
# based on proper versions of MSVC from there
|
||||||
# pending acceptance of #28117 for full support using
|
# pending acceptance of #28117 for full support using
|
||||||
# compiler wrappers
|
# compiler wrappers
|
||||||
compiler_wrapper_link_paths = {"c": "", "cxx": "", "fortran": ""}
|
compiler_wrapper_link_paths = {"c": "", "cxx": ""}
|
||||||
|
|
||||||
provides("c", "cxx")
|
provides("c", "cxx")
|
||||||
requires("platform=windows", msg="MSVC is only supported on Windows")
|
requires("platform=windows", msg="MSVC is only supported on Windows")
|
||||||
@@ -59,7 +47,6 @@ def install(self, spec, prefix):
|
|||||||
def determine_version(cls, exe):
|
def determine_version(cls, exe):
|
||||||
# MSVC compiler does not have a proper version argument
|
# MSVC compiler does not have a proper version argument
|
||||||
# Errors out and prints version info with no args
|
# Errors out and prints version info with no args
|
||||||
is_ifx = "ifx.exe" in str(exe)
|
|
||||||
match = re.search(
|
match = re.search(
|
||||||
cls.compiler_version_regex,
|
cls.compiler_version_regex,
|
||||||
spack.build_systems.compiler.compiler_output(
|
spack.build_systems.compiler.compiler_output(
|
||||||
@@ -67,8 +54,6 @@ def determine_version(cls, exe):
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
if match:
|
if match:
|
||||||
if is_ifx:
|
|
||||||
FC_PATH[match.group(1)] = str(exe)
|
|
||||||
return match.group(1)
|
return match.group(1)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -76,18 +61,6 @@ def determine_variants(cls, exes, version_str):
|
|||||||
# MSVC uses same executable for both languages
|
# MSVC uses same executable for both languages
|
||||||
spec, extras = super().determine_variants(exes, version_str)
|
spec, extras = super().determine_variants(exes, version_str)
|
||||||
extras["compilers"]["c"] = extras["compilers"]["cxx"]
|
extras["compilers"]["c"] = extras["compilers"]["cxx"]
|
||||||
# This depends on oneapi being processed before msvc
|
|
||||||
# which is guarunteed from detection behavior.
|
|
||||||
# Processing oneAPI tracks oneAPI installations within
|
|
||||||
# this module, which are then used to populate compatible
|
|
||||||
# MSVC version's fortran compiler spots
|
|
||||||
|
|
||||||
# TODO: remove this once #45189 lands
|
|
||||||
# TODO: interrogate intel and msvc for compatibility after
|
|
||||||
# #45189 lands
|
|
||||||
fortran_compiler = get_latest_valid_fortran_pth()
|
|
||||||
if fortran_compiler is not None:
|
|
||||||
extras["compilers"]["fortran"] = fortran_compiler
|
|
||||||
return spec, extras
|
return spec, extras
|
||||||
|
|
||||||
def setup_dependent_build_environment(self, env, dependent_spec):
|
def setup_dependent_build_environment(self, env, dependent_spec):
|
||||||
@@ -303,15 +276,3 @@ def vcvars_ver(self):
|
|||||||
def command_str(self):
|
def command_str(self):
|
||||||
script = super(VCVarsInvocation, self).command_str()
|
script = super(VCVarsInvocation, self).command_str()
|
||||||
return f"{script} {self.arch} {self.sdk_ver} {self.vcvars_ver}"
|
return f"{script} {self.arch} {self.sdk_ver} {self.vcvars_ver}"
|
||||||
|
|
||||||
|
|
||||||
FC_PATH = {}
|
|
||||||
|
|
||||||
|
|
||||||
def get_valid_fortran_pth():
|
|
||||||
"""Assign maximum available fortran compiler version"""
|
|
||||||
# TODO (johnwparent): validate compatibility w/ try compiler
|
|
||||||
# functionality when added
|
|
||||||
sort_fn = lambda fc_ver: spack.version.Version(fc_ver)
|
|
||||||
sort_fc_ver = sorted(list(FC_PATH.keys()), key=sort_fn)
|
|
||||||
return FC_PATH[sort_fc_ver[-1]] if sort_fc_ver else None
|
|
||||||
|
|||||||
@@ -44,10 +44,13 @@ class Openmpi(AutotoolsPackage, CudaPackage):
|
|||||||
|
|
||||||
# Current
|
# Current
|
||||||
version(
|
version(
|
||||||
"5.0.6", sha256="bd4183fcbc43477c254799b429df1a6e576c042e74a2d2f8b37d537b2ff98157"
|
"5.0.7", sha256="119f2009936a403334d0df3c0d74d5595a32d99497f9b1d41e90019fee2fc2dd"
|
||||||
) # libmpi.so.40.40.6
|
) # libmpi.so.40.40.7
|
||||||
|
|
||||||
# Still supported
|
# Still supported
|
||||||
|
version(
|
||||||
|
"5.0.6", sha256="bd4183fcbc43477c254799b429df1a6e576c042e74a2d2f8b37d537b2ff98157"
|
||||||
|
) # libmpi.so.40.40.6
|
||||||
version(
|
version(
|
||||||
"5.0.5", sha256="6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776"
|
"5.0.5", sha256="6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776"
|
||||||
) # libmpi.so.40.40.5
|
) # libmpi.so.40.40.5
|
||||||
|
|||||||
23
var/spack/repos/builtin/packages/py-contrib/package.py
Normal file
23
var/spack/repos/builtin/packages/py-contrib/package.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack.package import *
|
||||||
|
|
||||||
|
|
||||||
|
class PyContrib(PythonPackage):
|
||||||
|
"""A python package for making stacked area plots of contributions over time."""
|
||||||
|
|
||||||
|
homepage = "https://github.com/spack/contrib"
|
||||||
|
pypi = "contrib/contrib-0.3.0.tar.gz"
|
||||||
|
|
||||||
|
license("Apache-2.0 OR MIT")
|
||||||
|
|
||||||
|
version("0.3.0", sha256="55cf3a414c8b136f58588ec02e6833d1cc1d227a78f1778354ac6fcf9c2ccdda")
|
||||||
|
|
||||||
|
with default_args(type=("build", "run")):
|
||||||
|
depends_on("py-python-dateutil")
|
||||||
|
depends_on("py-jsonschema")
|
||||||
|
depends_on("py-matplotlib")
|
||||||
|
depends_on("py-pyyaml")
|
||||||
|
depends_on("py-setuptools")
|
||||||
@@ -44,6 +44,7 @@ class Rocminfo(CMakePackage):
|
|||||||
depends_on("cxx", type="build")
|
depends_on("cxx", type="build")
|
||||||
|
|
||||||
depends_on("cmake@3:", type="build")
|
depends_on("cmake@3:", type="build")
|
||||||
|
extends("python@3:")
|
||||||
|
|
||||||
for ver in [
|
for ver in [
|
||||||
"5.3.0",
|
"5.3.0",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ class Yosys(MakefilePackage):
|
|||||||
|
|
||||||
version("master", branch="master")
|
version("master", branch="master")
|
||||||
|
|
||||||
|
version("0.51", commit="c4b5190229616f7ebf8197f43990b4429de3e420", submodules=True)
|
||||||
version("0.50", commit="b5170e1394f602c607e75bdbb1a2b637118f2086", submodules=True)
|
version("0.50", commit="b5170e1394f602c607e75bdbb1a2b637118f2086", submodules=True)
|
||||||
version("0.49", commit="427b5a251bfb511528a177bfa92567b4b3ada3dd", submodules=True)
|
version("0.49", commit="427b5a251bfb511528a177bfa92567b4b3ada3dd", submodules=True)
|
||||||
version("0.48", commit="aaa5347494801e9e3870b31387da59da24233f76", submodules=True)
|
version("0.48", commit="aaa5347494801e9e3870b31387da59da24233f76", submodules=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user