heffte: added v2.0.0 with Python an Fortran bindings (#19129)
This commit is contained in:
parent
c71c509f05
commit
1ad405d649
13
var/spack/repos/builtin/packages/heffte/fortran200.patch
Normal file
13
var/spack/repos/builtin/packages/heffte/fortran200.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/fortran/test_mixed.f90 b/fortran/test_mixed.f90
|
||||
index 69424a8..b65d758 100644
|
||||
--- a/fortran/test_mixed.f90
|
||||
+++ b/fortran/test_mixed.f90
|
||||
@@ -37,7 +37,7 @@ allocate(output(fft_cpu%size_outbox()))
|
||||
|
||||
do i = 1, fft_cpu%size_inbox()
|
||||
input(i) = i
|
||||
-endif
|
||||
+enddo
|
||||
|
||||
call fft_cpu%forward(input, output, scale_fftw_symmetric)
|
||||
|
@ -16,22 +16,34 @@ class Heffte(CMakePackage):
|
||||
maintainers = ['mkstoyanov']
|
||||
|
||||
version('develop', branch='master')
|
||||
version('2.0.0', sha256='12f2b49a1a36c416eac174cf0cc50e729d56d68a9f68886d8c34bd45a0be26b6')
|
||||
version('1.0', sha256='0902479fb5b1bad01438ca0a72efd577a3529c3d8bad0028f3c18d3a4935ca74')
|
||||
version('0.2', sha256='4e76ae60982b316c2e873b2e5735669b22620fefa1fc82f325cdb6989bec78d1')
|
||||
version('0.1', sha256='d279a03298d2dc76574b1ae1031acb4ea964348cf359273d1afa4668b5bfe748')
|
||||
|
||||
patch('threads10.patch', when='@1.0')
|
||||
patch('fortran200.patch', when='@2.0.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('magma', default=False, description='Use helper methods from the UTK MAGMA library')
|
||||
variant('python', default=False, description='Install the Python bindings')
|
||||
variant('fortran', default=False, description='Install the Fortran modules')
|
||||
|
||||
depends_on('python@3.0:', when='+python', type=('build', 'run'))
|
||||
depends_on('py-mpi4py', when='+python', type=('build', 'run'))
|
||||
depends_on('py-numpy', when='+python', type=('build', 'run'))
|
||||
depends_on('py-numba', when='+python+cuda', type=('build', 'run'))
|
||||
extends('python', when='+python', type=('build', 'run'))
|
||||
|
||||
conflicts('~fftw', when='~mkl~cuda') # requires at least one backend
|
||||
conflicts('+fftw', when='+mkl@:1.0') # old API supports at most one CPU backend
|
||||
conflicts('openmpi~cuda', when='+cuda') # +cuda requires CUDA enabled OpenMPI
|
||||
conflicts('~cuda', when='+magma') # magma requires CUDA or HIP
|
||||
conflicts('+python', when="@:1.0") # python support was added post v1.0
|
||||
conflicts('+fortran', when="@:1.0") # fortran support was added post v1.0
|
||||
conflicts('+magma', when="@:1.0") # magma support was added post v1.0
|
||||
|
||||
depends_on('mpi', type=('build', 'run'))
|
||||
@ -48,6 +60,8 @@ def cmake_args(self):
|
||||
self.define_from_variant('Heffte_ENABLE_FFTW', 'fftw'),
|
||||
self.define_from_variant('Heffte_ENABLE_MKL', 'mkl'),
|
||||
self.define_from_variant('Heffte_ENABLE_MAGMA', 'magma'),
|
||||
self.define_from_variant('Heffte_ENABLE_FORTRAN', 'fortran'),
|
||||
self.define_from_variant('Heffte_ENABLE_PYTHON', 'python'),
|
||||
'-DBUILD_GPU={0:1s}'.format(
|
||||
'ON' if ('+cuda' in self.spec and
|
||||
'+fftw' in self.spec) else 'OFF'), ]
|
||||
|
Loading…
Reference in New Issue
Block a user