summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/hipfft/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/hipfft/package.py')
-rw-r--r--var/spack/repos/builtin/packages/hipfft/package.py112
1 files changed, 39 insertions, 73 deletions
diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py
index 818a9c4935..25d640fc22 100644
--- a/var/spack/repos/builtin/packages/hipfft/package.py
+++ b/var/spack/repos/builtin/packages/hipfft/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import spack.variant
from spack.package import *
@@ -14,9 +15,9 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
It sits between the application and the backend FFT library, marshalling
inputs into the backend and results back to the application."""
- homepage = "https://github.com/ROCmSoftwarePlatform/hipFFT"
- git = "https://github.com/ROCmSoftwarePlatform/hipFFT.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.5.0.tar.gz"
+ homepage = "https://github.com/ROCm/hipFFT"
+ git = "https://github.com/ROCm/hipFFT.git"
+ url = "https://github.com/ROCm/hipfft/archive/rocm-6.1.0.tar.gz"
tags = ["rocm"]
maintainers("renjithravindrankannath", "srekolam")
@@ -24,61 +25,27 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
license("MIT")
version("master", branch="master")
+ version("6.2.4", sha256="308b81230498b01046f7fc3299a9e9c2c5456d80fd71a94f490ad97f51ed9de8")
+ version("6.2.1", sha256="5f668fa8b5ed10d47d164d887699d3c14d900d78f6a31bf953f8fbbc08bc5fd1")
+ version("6.2.0", sha256="8d19aebb1bbfea1f235ca08d34393ce39bea35dc9cbfa72a3cf7cdf1c56410e7")
+ version("6.1.2", sha256="6753e45d9c671d58e68bed2b0c1bfcd40fad9d690dba3fe6011e67e51dbe3cc6")
+ version("6.1.1", sha256="df84e488098d457a7411f6b459537fa5c5ee160027efc3a9a076980bbe57c4d3")
+ version("6.1.0", sha256="1a9cf598a932192f7f12b8987d96477f09186f9a95c5a28742f9caeb81640c95")
+ version("6.0.2", sha256="c0a4bac5fa9a757a19a4995fa9571328b6ee0a71e93c66a880069794d65d284a")
+ version("6.0.0", sha256="44f328b7862c066459089dfe62833cb7d626c6ceb71c57d8c7d6bba45dad491e")
version("5.7.1", sha256="33452576649df479f084076c47d0b30f6f1da34864094bce767dd9bf609f04aa")
version("5.7.0", sha256="daa5dc44580145e85ff8ffa7eb40a3d1ef41f3217549c01281715ff696a31588")
version("5.6.1", sha256="d2ae36b8eacd39b865e8a7972b8eb86bcea2de4ac90711bba7e29b39b01eaa74")
version("5.6.0", sha256="c7f425b693caf9371b42226d86392335d993a117d23219b6ba1fd13523cb8261")
version("5.5.1", sha256="3addd15a459752ad657e84c2a7b6b6289600d1d0a5f90d6e0946ba11e8148fc0")
version("5.5.0", sha256="47ec6f7da7346c312b80daaa8f763e86c7bdc33ac8617cfa3344068e5b20dd9e")
- version("5.4.3", sha256="ae37f40b6019a11f10646ef193716836f366d269eab3c5cc2ed09af85355b945")
- version("5.4.0", sha256="d0a8e790182928b3d19774b8db1eece9b881a422f6a7055c051b12739fded624")
- version("5.3.3", sha256="fd1662cd5b1e1bce9db53b320c0fe614179cd196251efc2ef3365d38922b5cdc")
- version("5.3.0", sha256="ebbe2009b86b688809b6b4d5c3929fc589db455218d54a37790f21339147c5df")
- version("5.2.3", sha256="10be731fe91ede5e9f254f6eb3bc00b4dbeab449477f3cac03de358a7d0a6fa1")
- version("5.2.1", sha256="6c8fbace2864ca992b2fca9dc8d0bb4488aef62045acdfcf249d53dd005ebd35")
- version("5.2.0", sha256="ec37edcd61837281c403802ccc1cb01ec3fa3ba135b5ab16617961b66d4cc3e2")
- version("5.1.3", sha256="c26fa64499293b25d0686bed04feb61378c878a4bb4a6d559e6cb7be1f6bf2ec")
- version("5.1.0", sha256="1bac7761c055355216cd262cdc0450aabb383addcb739b56ba849b2e6e013fa5")
- version(
- "5.0.2",
- sha256="9ef64694f5def0d6fb98dc89e46d7a3f7d005a61348ac0b52184a3b8e84c2383",
- deprecated=True,
- )
- version(
- "5.0.0",
- sha256="867d0bdc6c9769c6cebc0c4594b24d5f3504157cdcef97a6a1668dd493ca6a15",
- deprecated=True,
- )
- version(
- "4.5.2",
- sha256="32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a",
- deprecated=True,
- )
- version(
- "4.5.0",
- sha256="96636713bc6cdafbd5a9c1e98e816895448960c86b380fc0c3c9ffa28f670844",
- deprecated=True,
- )
- version(
- "4.3.1",
- sha256="429cfd40415856da8f5c2c321b612800d6826ee121df5a4e6d1596cad5b51727",
- deprecated=True,
- )
- version(
- "4.3.0",
- sha256="6e52e0eb5b2a13adaf317fe5b20b3e059589aabf2af87e4c67cb1022b861ba84",
- deprecated=True,
- )
- version(
- "4.2.0",
- sha256="74253b0d92feff55ebb39b3fe4a22a6454160a60bdad37384aa5340fd8843f8a",
- deprecated=True,
- )
- version(
- "4.1.0",
- sha256="885ffd4813f2c271150f1b8b386f0af775b38fc82b96ce6fd94eb4ba0c0180be",
- deprecated=True,
- )
+ with default_args(deprecated=True):
+ version("5.4.3", sha256="ae37f40b6019a11f10646ef193716836f366d269eab3c5cc2ed09af85355b945")
+ version("5.4.0", sha256="d0a8e790182928b3d19774b8db1eece9b881a422f6a7055c051b12739fded624")
+ version("5.3.3", sha256="fd1662cd5b1e1bce9db53b320c0fe614179cd196251efc2ef3365d38922b5cdc")
+ version("5.3.0", sha256="ebbe2009b86b688809b6b4d5c3929fc589db455218d54a37790f21339147c5df")
+
+ depends_on("cxx", type="build") # generated
# default to an 'auto' variant until amdgpu_targets can be given a better default than 'none'
amdgpu_targets = ROCmPackage.amdgpu_targets
@@ -96,25 +63,13 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
variant("rocm", default=True, description="Enable ROCm support")
conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive")
conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required")
+ variant("asan", default=False, description="Build with address-sanitizer enabled or disabled")
depends_on("cmake@3.5:", type="build")
depends_on("hip +cuda", when="+cuda")
for ver in [
- "4.1.0",
- "4.2.0",
- "4.3.0",
- "4.3.1",
- "4.5.0",
- "4.5.2",
- "5.0.0",
- "5.0.2",
- "5.1.0",
- "5.1.3",
- "5.2.0",
- "5.2.1",
- "5.2.3",
"5.3.0",
"5.3.3",
"5.4.0",
@@ -125,14 +80,27 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
"5.6.1",
"5.7.0",
"5.7.1",
+ "6.0.0",
+ "6.0.2",
+ "6.1.0",
+ "6.1.1",
+ "6.1.2",
+ "6.2.0",
+ "6.2.1",
+ "6.2.4",
+ "master",
]:
- depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
- depends_on("rocfft@" + ver, when="+rocm @" + ver)
+ depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}")
+ depends_on(f"rocfft@{ver}", when=f"+rocm @{ver}")
for tgt in ROCmPackage.amdgpu_targets:
- depends_on(
- "rocfft amdgpu_target={0}".format(tgt), when="+rocm amdgpu_target={0}".format(tgt)
- )
+ depends_on(f"rocfft amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}")
+ # https://github.com/ROCm/rocFFT/pull/85)
+ patch("001-remove-submodule-and-sync-shared-files-from-rocFFT.patch", when="@6.0.0")
+
+ def setup_build_environment(self, env):
+ if self.spec.satisfies("+asan"):
+ self.asan_on(env)
def cmake_args(self):
args = [self.define("BUILD_CLIENTS_SAMPLES", "OFF")]
@@ -143,9 +111,7 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
args.append(self.define("BUILD_WITH_LIB", "CUDA"))
# FindHIP.cmake is still used for both +rocm and +cuda
- if self.spec["hip"].satisfies("@:5.1"):
- args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake))
- else:
+ if self.spec["hip"].satisfies("@5.2:"):
args.append(self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.lib.cmake.hip))
if self.spec.satisfies("@5.2.0:"):