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:
		 Nichols A. Romero
					Nichols A. Romero
				
			
				
					committed by
					
						 Todd Gamblin
						Todd Gamblin
					
				
			
			
				
	
			
			
			 Todd Gamblin
						Todd Gamblin
					
				
			
						parent
						
							988d37757f
						
					
				
				
					commit
					236b34f3df
				
			| @@ -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(): | |||||||
|     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): | |||||||
|     # 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): | |||||||
|     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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user