FFTW-3.3.4-intel-2018.eb 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. easyblock = 'ConfigureMake'
  2. name = 'FFTW'
  3. version = '3.3.4'
  4. homepage = 'http://www.fftw.org'
  5. description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
  6. in one or more dimensions, of arbitrary input size, and of both real and complex data."""
  7. toolchain = {'name': 'intel', 'version': '2018'}
  8. toolchainopts = {'pic': True}
  9. sources = [SOURCELOWER_TAR_GZ]
  10. source_urls = [homepage]
  11. common_configopts = "--enable-threads --enable-openmp --with-pic"
  12. # no quad precision, requires GCC v4.6 or higher
  13. # see also http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html
  14. configopts = [
  15. common_configopts + " --enable-single --enable-sse2 --enable-mpi",
  16. common_configopts + " --enable-long-double --enable-mpi",
  17. common_configopts + " --enable-sse2 --enable-mpi", # default as last
  18. ]
  19. sanity_check_paths = {
  20. 'files': ['bin/fftw%s' % x for x in ['-wisdom', '-wisdom-to-conf', 'f-wisdom', 'l-wisdom']] +
  21. ['include/fftw3%s' % x for x in ['-mpi.f03', '-mpi.h', '.f', '.f03',
  22. '.h', 'l-mpi.f03', 'l.f03', 'q.f03']] +
  23. ['lib/libfftw3%s%s.a' % (x, y) for x in ['', 'f', 'l'] for y in ['', '_mpi', '_omp', '_threads']],
  24. 'dirs': ['lib/pkgconfig'],
  25. }
  26. moduleclass = 'numlib'