heffte: added v1.0 (#17102)
This commit is contained in:
parent
cb028aaf12
commit
32558525f6
@ -10,23 +10,43 @@ class Heffte(CMakePackage):
|
|||||||
"""Highly Efficient FFT for Exascale"""
|
"""Highly Efficient FFT for Exascale"""
|
||||||
|
|
||||||
homepage = "https://bitbucket.org/icl/heffte"
|
homepage = "https://bitbucket.org/icl/heffte"
|
||||||
url = "https://bitbucket.org/icl/heffte/get/v0.1.tar.gz"
|
url = "https://bitbucket.org/icl/heffte/get/v1.0.tar.gz"
|
||||||
git = "https://bitbucket.org/icl/heffte.git"
|
git = "https://bitbucket.org/icl/heffte.git"
|
||||||
|
|
||||||
version('master', branch='master')
|
maintainers = ['mkstoyanov']
|
||||||
|
|
||||||
|
version('develop', branch='master')
|
||||||
|
version('1.0', sha256='0902479fb5b1bad01438ca0a72efd577a3529c3d8bad0028f3c18d3a4935ca74')
|
||||||
version('0.2', sha256='4e76ae60982b316c2e873b2e5735669b22620fefa1fc82f325cdb6989bec78d1')
|
version('0.2', sha256='4e76ae60982b316c2e873b2e5735669b22620fefa1fc82f325cdb6989bec78d1')
|
||||||
version('0.1', sha256='d279a03298d2dc76574b1ae1031acb4ea964348cf359273d1afa4668b5bfe748')
|
version('0.1', sha256='d279a03298d2dc76574b1ae1031acb4ea964348cf359273d1afa4668b5bfe748')
|
||||||
|
|
||||||
|
patch('threads10.patch', when='@1.0')
|
||||||
|
|
||||||
|
variant('shared', default=True, description='Builds with shared libraries')
|
||||||
|
variant('fftw', default=False, description='Builds with support for FFTW backend')
|
||||||
|
variant('mkl', default=False, description='Builds with support for MKL backend')
|
||||||
variant('cuda', default=False, description='Builds with support for GPUs via CUDA')
|
variant('cuda', default=False, description='Builds with support for GPUs via CUDA')
|
||||||
|
|
||||||
depends_on('fftw')
|
conflicts('~fftw', when='~mkl~cuda') # requires at least one backend
|
||||||
depends_on('mpi')
|
conflicts('+fftw', when='+mkl') # old API supports at most one CPU backend
|
||||||
depends_on('cuda', when="+cuda")
|
conflicts('openmpi~cuda', when='+cuda') # +cuda requires CUDA enabled OpenMPI
|
||||||
|
|
||||||
|
depends_on('mpi', type=('build', 'run'))
|
||||||
|
|
||||||
|
depends_on('fftw@3.3.8:', when="+fftw", type=('build', 'run'))
|
||||||
|
depends_on('intel@16.0:', when="+mkl", type=('build', 'run'))
|
||||||
|
depends_on('cuda@8.0:', when="+cuda", type=('build', 'run'))
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
args = ['-DBUILD_SHARED=ON']
|
return [
|
||||||
if '+cuda' in self.spec:
|
'-DBUILD_SHARED_LIBS={0:1s}'.format(
|
||||||
args.append('-DBUILD_GPU=ON')
|
'ON' if '+shared' in self.spec else 'OFF'),
|
||||||
else:
|
'-DBUILD_GPU={0:1s}'.format(
|
||||||
args.append('-DBUILD_GPU=OFF')
|
'ON' if ('+cuda' in self.spec and
|
||||||
return args
|
'+fftw' in self.spec) else 'OFF'),
|
||||||
|
'-DHeffte_ENABLE_CUDA={0:1s}'.format(
|
||||||
|
'ON' if '+cuda' in self.spec else 'OFF'),
|
||||||
|
'-DHeffte_ENABLE_FFTW={0:1s}'.format(
|
||||||
|
'ON' if '+fftw' in self.spec else 'OFF'),
|
||||||
|
'-DHeffte_ENABLE_MKL={0:1s}'.format(
|
||||||
|
'ON' if '+mkl' in self.spec else 'OFF'), ]
|
||||||
|
13
var/spack/repos/builtin/packages/heffte/threads10.patch
Normal file
13
var/spack/repos/builtin/packages/heffte/threads10.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/cmake/HeffteConfig.cmake b/cmake/HeffteConfig.cmake
|
||||||
|
index bd67de9..ca06086 100644
|
||||||
|
--- a/cmake/HeffteConfig.cmake
|
||||||
|
+++ b/cmake/HeffteConfig.cmake
|
||||||
|
@@ -19,6 +19,8 @@ if (NOT TARGET MPI::MPI_CXX)
|
||||||
|
find_package(MPI REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+find_package(Threads)
|
||||||
|
+
|
||||||
|
if ("@BUILD_SHARED_LIBS@")
|
||||||
|
set(Heffte_SHARED_FOUND "ON")
|
||||||
|
else()
|
Loading…
Reference in New Issue
Block a user