summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiroslav Stoyanov <30537612+mkstoyanov@users.noreply.github.com>2023-10-11 14:33:31 -0400
committerGitHub <noreply@github.com>2023-10-11 12:33:31 -0600
commita5853ee51a013081c212e34cdbd301e723b95846 (patch)
tree3550bb46d372643ce3e50aa657a25bc665358e9b
parent537ab481670bad654225f488fb4ec92d25f148a8 (diff)
downloadspack-a5853ee51a013081c212e34cdbd301e723b95846.tar.gz
spack-a5853ee51a013081c212e34cdbd301e723b95846.tar.bz2
spack-a5853ee51a013081c212e34cdbd301e723b95846.tar.xz
spack-a5853ee51a013081c212e34cdbd301e723b95846.zip
update for the tasmanain versions (#40453)
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/addons70.patch25
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/package.py106
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/packageconf70.patch15
3 files changed, 24 insertions, 122 deletions
diff --git a/var/spack/repos/builtin/packages/tasmanian/addons70.patch b/var/spack/repos/builtin/packages/tasmanian/addons70.patch
deleted file mode 100644
index 8d983c6308..0000000000
--- a/var/spack/repos/builtin/packages/tasmanian/addons70.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/Addons/CMakeLists.txt b/Addons/CMakeLists.txt
-index 1279ada..0b6d9be 100644
---- a/Addons/CMakeLists.txt
-+++ b/Addons/CMakeLists.txt
-@@ -49,19 +49,7 @@ endif()
-
- # The Tasmanian MPI capabilities are templated into the Addons
- if (Tasmanian_ENABLE_MPI)
-- target_link_libraries(Tasmanian_addons INTERFACE ${MPI_CXX_LIBRARIES})
--
-- if (DEFINED MPI_CXX_INCLUDE_PATH)
-- target_include_directories(Tasmanian_addons INTERFACE "${MPI_CXX_INCLUDE_PATH}")
-- endif()
--
-- if(DEFINED MPI_CXX_COMPILE_FLAGS)
-- target_compile_options(Tasmanian_addons INTERFACE "${MPI_CXX_COMPILE_FLAGS}")
-- endif()
--
-- if(DEFINED MPI_CXX_LINK_FLAGS)
-- set_target_properties(Tasmanian_addons PROPERTIES INTERFACE_LINK_OPTIONS "${MPI_CXX_LINK_FLAGS}")
-- endif()
-+ target_link_libraries(Tasmanian_addons INTERFACE MPI::MPI_CXX)
-
- add_executable(Tasmanian_mpitester testMPI.cpp testMPI.hpp testMPIDream.hpp)
- set_target_properties(Tasmanian_mpitester PROPERTIES OUTPUT_NAME "mpitester")
diff --git a/var/spack/repos/builtin/packages/tasmanian/package.py b/var/spack/repos/builtin/packages/tasmanian/package.py
index 2a3db2ade3..92aa218339 100644
--- a/var/spack/repos/builtin/packages/tasmanian/package.py
+++ b/var/spack/repos/builtin/packages/tasmanian/package.py
@@ -12,7 +12,7 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
interpolation as well as parameter calibration."""
homepage = "https://ornl.github.io/TASMANIAN/stable/"
- url = "https://github.com/ORNL/TASMANIAN/archive/v7.9.tar.gz"
+ url = "https://github.com/ORNL/TASMANIAN/archive/v8.0.tar.gz"
git = "https://github.com/ORNL/TASMANIAN.git"
tags = ["e4s"]
@@ -22,38 +22,15 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="master")
+ version("8.0", sha256="248c941346150bf6cfb386ba86b69bd4697f4fc93bff0e8d5f57e555614fd534")
version("7.9", sha256="decba62e6bbccf1bc26c6e773a8d4fd51d7f3e3e534ddd386ec41300694ce5cc")
version("7.7", sha256="85fb3a7b302ea21a3b700712767a59a623d9ab93da03308fa47d4413654c3878")
version("7.5", sha256="d621bd36dced4db86ef638693ba89b336762e7a3d7fedb3b5bcefb03390712b3")
- version("7.3", sha256="5bd1dd89cc5c84506f6900b6569b17e50becd73eb31ec85cfa11d6f1f912c4fa")
- # API is very stable since 7.0, but the refactoring made 7.0 and 7.1 rocky
+ # Tasmanian is backwards compatible, no need to use 7.3 from back in 2020
version(
- "7.1",
- sha256="9c24a591506a478745b802f1fa5c557da7bc80b12d8070855de6bc7aaca7547a",
- deprecated=True,
- )
- version(
- "7.0",
- sha256="4094ba4ee2f1831c575d00368c8471d3038f813398be2e500739cef5c7c4a47b",
- deprecated=True,
- ) # use for xsdk-0.5.0
- # 5.0, 5.1 and 6.0 use older API from 2018, all users have moved up by now
- version(
- "6.0",
- sha256="ceab842e9fbce2f2de971ba6226967caaf1627b3e5d10799c3bd2e7c3285ba8b",
- deprecated=True,
- ) # use for xsdk-0.4.0
- version(
- "5.1",
- sha256="b0c1be505ce5f8041984c63edca9100d81df655733681858f5cc10e8c0c72711",
- deprecated=True,
- )
-
- version(
- "5.0",
- sha256="2540bb63dea987ab205f7b375aff41f320b1de9bd7f1d1064ef96b22eeda1251",
- url="https://tasmanian.ornl.gov/documents/Tasmanian_v5.0.zip",
+ "7.3",
+ sha256="5bd1dd89cc5c84506f6900b6569b17e50becd73eb31ec85cfa11d6f1f912c4fa",
deprecated=True,
)
@@ -73,7 +50,7 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
variant("python", default=False, description="add Python binding for Tasmanian")
- variant("fortran", default=False, description="add Fortran 90/95 interface to Tasmanian")
+ variant("fortran", default=False, description="add Fortran 2003 interface to Tasmanian")
variant(
"build_type",
@@ -82,12 +59,10 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
values=("Debug", "Release"),
)
- depends_on("cmake@2.8:", type="build")
- depends_on("cmake@3.5:", type="build", when="@6.0:")
depends_on("cmake@3.10:", type=("build", "run"), when="@7.0:")
- depends_on("cmake@3.22:", type=("build", "run"), when="@develop")
+ depends_on("cmake@3.22:", type=("build", "run"), when="@8.0:")
- depends_on("python@2.7:", when="+python", type=("build", "run"))
+ depends_on("python@3.0:", when="+python", type=("build", "run"))
depends_on("py-numpy", when="+python", type=("build", "run"))
extends("python", when="+python", type=("build", "run"))
@@ -97,15 +72,14 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
depends_on("blas", when="+blas", type=("build", "run")) # openblas 0.2.18 or newer
depends_on("lapack", when="+blas @7.1:", type=("build", "run")) # lapack used since 7.1
- depends_on("cuda@8.0.61:", when="+cuda", type=("build", "run"))
- depends_on("cuda@8.0.61:", when="+magma", type=("build", "run"))
+ depends_on("cuda@10.0:", when="+cuda", type=("build", "run"))
+ depends_on("cuda@10.0:", when="+magma", type=("build", "run"))
- depends_on("hip@3.8:", when="+rocm", type=("build", "run"))
- depends_on("rocblas@3.8:", when="+rocm", type=("build", "run"))
- depends_on("rocsparse@3.8:", when="+rocm", type=("build", "run"))
- depends_on("rocsolver@3.8:", when="+rocm", type=("build", "run"))
+ depends_on("hip@5.0:", when="+rocm", type=("build", "run"))
+ depends_on("rocblas@5.0:", when="+rocm", type=("build", "run"))
+ depends_on("rocsparse@5.0:", when="+rocm", type=("build", "run"))
+ depends_on("rocsolver@5.0:", when="+rocm", type=("build", "run"))
- depends_on("magma@2.4.0:", when="+magma @6.0:", type=("build", "run"))
depends_on("magma@2.5.0:", when="+magma @7.0:", type=("build", "run"))
# https://github.com/spack/spack/issues/39536#issuecomment-1685161942
@@ -114,16 +88,6 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+magma", when="~cuda~rocm") # currently MAGMA only works with CUDA
conflicts("+cuda", when="+rocm") # can pick CUDA or ROCm, not both
- # old versions
- conflicts("+rocm", when="@:7.3") # ROCm was added in 7.3, tested in 7.5
- conflicts("+magma", when="@:5.1") # magma does not work prior to 6.0
- conflicts("+mpi", when="@:5.1") # MPI is broken prior to 6.0
- conflicts("+xsdkflags", when="@:5.1") # 6.0 is the first version included in xSDK
-
- # patching some bugs
- patch("addons70.patch", when="@7.0")
- patch("packageconf70.patch", when="@7.0")
-
def setup_build_environment(self, env):
# needed for the hipcc compiler
if "+rocm" in self.spec:
@@ -132,29 +96,16 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
def cmake_args(self):
spec = self.spec
- # 7.1 is the last version to use xSDK legacy build options
- if "+xsdkflags" in spec and spec.satisfies("@:7.1"):
- args = [
- "-DUSE_XSDK_DEFAULTS:BOOL=ON",
- self.define_from_variant("XSDK_ENABLE_PYTHON", "python"),
- self.define_from_variant("TPL_ENABLE_MPI", "mpi"),
- self.define_from_variant("XSDK_ENABLE_OPENMP", "openmp"),
- self.define_from_variant("TPL_ENABLE_BLAS", "blas"),
- self.define_from_variant("XSDK_ENABLE_CUDA", "cuda"),
- self.define_from_variant("TPL_ENABLE_MAGMA", "magma"),
- self.define_from_variant("XSDK_ENABLE_FORTRAN", "fortran"),
- ]
- else:
- args = [
- self.define_from_variant("Tasmanian_ENABLE_OPENMP", "openmp"),
- self.define_from_variant("Tasmanian_ENABLE_BLAS", "blas"),
- self.define_from_variant("Tasmanian_ENABLE_PYTHON", "python"),
- self.define_from_variant("Tasmanian_ENABLE_MPI", "mpi"),
- self.define_from_variant("Tasmanian_ENABLE_CUDA", "cuda"),
- self.define_from_variant("Tasmanian_ENABLE_HIP", "rocm"),
- self.define_from_variant("Tasmanian_ENABLE_MAGMA", "magma"),
- self.define_from_variant("Tasmanian_ENABLE_FORTRAN", "fortran"),
- ]
+ args = [
+ self.define_from_variant("Tasmanian_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("Tasmanian_ENABLE_BLAS", "blas"),
+ self.define_from_variant("Tasmanian_ENABLE_PYTHON", "python"),
+ self.define_from_variant("Tasmanian_ENABLE_MPI", "mpi"),
+ self.define_from_variant("Tasmanian_ENABLE_CUDA", "cuda"),
+ self.define_from_variant("Tasmanian_ENABLE_HIP", "rocm"),
+ self.define_from_variant("Tasmanian_ENABLE_MAGMA", "magma"),
+ self.define_from_variant("Tasmanian_ENABLE_FORTRAN", "fortran"),
+ ]
if spec.satisfies("+blas"):
args.append("-DBLAS_LIBRARIES={0}".format(spec["blas"].libs.joined(";")))
@@ -165,15 +116,6 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
"-DPYTHON_EXECUTABLE:FILEPATH={0}".format(self.spec["python"].command.path)
)
- # See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322
- if self.spec.satisfies("+rocm") and self.spec.satisfies("^cmake@3.21:"):
- args.append(self.define("__skip_rocmclang", "ON"))
-
- # _CUBLAS and _CUDA were separate options prior to 6.0
- # skipping _CUBLAS leads to peformance regression
- if spec.satisfies("@:5.1"):
- args.append(self.define_from_variant("Tasmanian_ENABLE_CUBLAS", "cuda"))
-
return args
@run_after("install")
diff --git a/var/spack/repos/builtin/packages/tasmanian/packageconf70.patch b/var/spack/repos/builtin/packages/tasmanian/packageconf70.patch
deleted file mode 100644
index c53255687f..0000000000
--- a/var/spack/repos/builtin/packages/tasmanian/packageconf70.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Config/TasmanianConfig.in.cmake b/Config/TasmanianConfig.in.cmake
-index 8912e4c..df54aaf 100644
---- a/Config/TasmanianConfig.in.cmake
-+++ b/Config/TasmanianConfig.in.cmake
-@@ -7,6 +7,10 @@ cmake_minimum_required(VERSION 3.10)
- # but this doesn't seem to work, not sure if this is a "relocatable package" (low concern)
- include("@CMAKE_INSTALL_PREFIX@/lib/@CMAKE_PROJECT_NAME@/@CMAKE_PROJECT_NAME@.cmake")
-
-+if (@Tasmanian_ENABLE_MPI@)
-+ find_package(MPI REQUIRED)
-+endif()
-+
- add_executable(Tasmanian::tasgrid IMPORTED)
- set_property(TARGET Tasmanian::tasgrid PROPERTY IMPORTED_LOCATION "@CMAKE_INSTALL_PREFIX@/bin/tasgrid${CMAKE_EXECUTABLE_SUFFIX_CXX}")
-