Introduce fftw-api virtual package for Intel-MKL and FFTW (#9618)
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages. * make fftw default package for fftw-api virtual package * virtual package test assertion now provides location of default virtual packages. * Change name of virtual package to fftw-api and used versioned interface.
This commit is contained in:

committed by
Todd Gamblin

parent
988d37757f
commit
236b34f3df
@@ -22,6 +22,7 @@ packages:
|
||||
blas: [openblas]
|
||||
daal: [intel-daal]
|
||||
elf: [elfutils]
|
||||
fftw-api: [fftw]
|
||||
gl: [mesa, opengl]
|
||||
glu: [mesa-glu, openglu]
|
||||
golang: [gcc]
|
||||
|
@@ -47,9 +47,12 @@ def test_all_virtual_packages_have_default_providers():
|
||||
defaults = spack.config.get('packages', scope='defaults')
|
||||
default_providers = defaults['all']['providers']
|
||||
providers = spack.repo.path.provider_index.providers
|
||||
|
||||
default_providers_filename = \
|
||||
spack.config.config.scopes['defaults'].get_section_filename('packages')
|
||||
for provider in providers:
|
||||
assert provider in default_providers
|
||||
assert provider in default_providers, \
|
||||
"all providers must have a default in %s" \
|
||||
% default_providers_filename
|
||||
|
||||
|
||||
def test_package_version_consistency():
|
||||
|
@@ -72,6 +72,9 @@ class Fftw(AutotoolsPackage):
|
||||
# https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3
|
||||
conflicts('%gcc@8:8.9999', when="@3.3.7")
|
||||
|
||||
provides('fftw-api@2', when='@2.1.5')
|
||||
provides('fftw-api@3', when='@3:')
|
||||
|
||||
@property
|
||||
def libs(self):
|
||||
|
||||
|
@@ -53,6 +53,7 @@ class IntelMkl(IntelPackage):
|
||||
provides('lapack')
|
||||
provides('scalapack')
|
||||
provides('mkl')
|
||||
provides('fftw-api@3', when='@2017:')
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
# there is no libmkl_gnu_thread on macOS
|
||||
|
Reference in New Issue
Block a user