Skip to content
Snippets Groups Projects
Commit 236b34f3 authored by Nichols A. Romero's avatar Nichols A. Romero Committed by Todd Gamblin
Browse files

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.
parent 988d3775
Branches
No related tags found
No related merge requests found
...@@ -22,6 +22,7 @@ packages: ...@@ -22,6 +22,7 @@ packages:
blas: [openblas] blas: [openblas]
daal: [intel-daal] daal: [intel-daal]
elf: [elfutils] elf: [elfutils]
fftw-api: [fftw]
gl: [mesa, opengl] gl: [mesa, opengl]
glu: [mesa-glu, openglu] glu: [mesa-glu, openglu]
golang: [gcc] golang: [gcc]
......
...@@ -47,9 +47,12 @@ def test_all_virtual_packages_have_default_providers(): ...@@ -47,9 +47,12 @@ def test_all_virtual_packages_have_default_providers():
defaults = spack.config.get('packages', scope='defaults') defaults = spack.config.get('packages', scope='defaults')
default_providers = defaults['all']['providers'] default_providers = defaults['all']['providers']
providers = spack.repo.path.provider_index.providers providers = spack.repo.path.provider_index.providers
default_providers_filename = \
spack.config.config.scopes['defaults'].get_section_filename('packages')
for provider in providers: 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(): def test_package_version_consistency():
......
...@@ -72,6 +72,9 @@ class Fftw(AutotoolsPackage): ...@@ -72,6 +72,9 @@ class Fftw(AutotoolsPackage):
# https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3 # https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3
conflicts('%gcc@8:8.9999', when="@3.3.7") conflicts('%gcc@8:8.9999', when="@3.3.7")
provides('fftw-api@2', when='@2.1.5')
provides('fftw-api@3', when='@3:')
@property @property
def libs(self): def libs(self):
......
...@@ -53,6 +53,7 @@ class IntelMkl(IntelPackage): ...@@ -53,6 +53,7 @@ class IntelMkl(IntelPackage):
provides('lapack') provides('lapack')
provides('scalapack') provides('scalapack')
provides('mkl') provides('mkl')
provides('fftw-api@3', when='@2017:')
if sys.platform == 'darwin': if sys.platform == 'darwin':
# there is no libmkl_gnu_thread on macOS # there is no libmkl_gnu_thread on macOS
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment