lammps: add heffte support (#47254)
* lammps: add heffte support * Add Richard's suggestion
This commit is contained in:
parent
fbd5c3d589
commit
d48d993ae7
@ -21,6 +21,7 @@ class Heffte(CMakePackage, CudaPackage, ROCmPackage):
|
||||
license("BSD-3-Clause")
|
||||
|
||||
version("develop", branch="master")
|
||||
version("2.4.1", sha256="de2cf26df5d61baac7841525db3f393cb007f79612ac7534fd4757f154ba3e6c")
|
||||
version("2.4.0", sha256="02310fb4f9688df02f7181667e61c3adb7e38baf79611d80919d47452ff7881d")
|
||||
version("2.3.0", sha256="63db8c9a8822211d23e29f7adf5aa88bb462c91d7a18c296c3ef3a06be8d6171")
|
||||
version("2.2.0", sha256="332346d5c1d1032288d09839134c79e4a9704e213a2d53051e96c3c414c74df0")
|
||||
@ -143,7 +144,7 @@ def test_make_test(self):
|
||||
|
||||
options = [cmake_dir]
|
||||
# changing the default install path search to newer cmake convention
|
||||
if self.spec.satisfies("@develop"):
|
||||
if self.spec.satisfies("@2.4.1:"):
|
||||
options.append(self.define("Heffte_ROOT", self.spec.prefix))
|
||||
else:
|
||||
options.append(self.define("Heffte_DIR", self.spec.prefix.lib.cmake.Heffte))
|
||||
|
@ -641,6 +641,13 @@ def url_for_version(self, version):
|
||||
values=("kiss", "fftw3", "mkl"),
|
||||
multi=False,
|
||||
)
|
||||
variant(
|
||||
"heffte",
|
||||
default=False,
|
||||
when="+kspace @20240207:",
|
||||
description="Use heffte as distubuted FFT engine",
|
||||
)
|
||||
|
||||
variant(
|
||||
"fft_kokkos",
|
||||
default="fftw3",
|
||||
@ -663,6 +670,9 @@ def url_for_version(self, version):
|
||||
depends_on("mpi", when="+mpi")
|
||||
depends_on("mpi", when="+mpiio")
|
||||
depends_on("fftw-api@3", when="+kspace fft=fftw3")
|
||||
depends_on("heffte", when="+heffte")
|
||||
depends_on("heffte+fftw", when="+heffte fft=fftw3")
|
||||
depends_on("heffte+mkl", when="+heffte fft=mkl")
|
||||
depends_on("mkl", when="+kspace fft=mkl")
|
||||
depends_on("hipfft", when="+kokkos+kspace+rocm fft_kokkos=hipfft")
|
||||
depends_on("fftw-api@3", when="+kokkos+kspace fft_kokkos=fftw3")
|
||||
@ -927,6 +937,7 @@ def cmake_args(self):
|
||||
|
||||
if spec.satisfies("+kspace"):
|
||||
args.append(self.define_from_variant("FFT", "fft"))
|
||||
args.append(self.define_from_variant("FFT_USE_HEFFTE", "heffte"))
|
||||
if spec.satisfies("fft=fftw3 ^armpl-gcc") or spec.satisfies("fft=fftw3 ^acfl"):
|
||||
args.append(self.define("FFTW3_LIBRARY", self.spec["fftw-api"].libs[0]))
|
||||
args.append(
|
||||
|
Loading…
Reference in New Issue
Block a user