Merge branch 'fftw' into 'master'

FFTW3

See merge request Pmodules/buildblocks!3
This commit is contained in:
2019-04-09 16:01:30 +02:00
4 changed files with 48 additions and 0 deletions

7
MPI/fftw/README Normal file
View File

@@ -0,0 +1,7 @@
FFTW
====
FFTW is highly optimized, but downgrades if run on an older processor. It
should be built compiled on a system with SSE2 and AVX2 support (e.g. merlin).
This module requires PMODULE_VERSION > 1.0.0 to compile.

25
MPI/fftw/build Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/env modbuild
# Needs to be built with SSE2 and AVX2 support, but should run on architectures without this
pbuild::add_to_group 'MPI'
pbuild::set_download_url "http://www.fftw.org/fftw-$V.tar.gz"
pbuild::set_sha256sum "fftw-3.3.8.tar.gz:6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303"
pbuild::install_docfiles 'COPYRIGHT' 'COPYING' 'README' 'NEWS'
pbuild::pre_configure() {
pbuild::add_configure_args "CC=${MPICC}"
pbuild::add_configure_args "CXX=${MPICXX}"
# Multithreading. Enabling both is fine
pbuild::add_configure_args "--enable-threads"
pbuild::add_configure_args "--enable-openmp"
# MPI support
pbuild::add_configure_args "--enable-mpi"
# CPU optimizations
pbuild::add_configure_args "--enable-sse2"
pbuild::add_configure_args "--enable-avx2"
}

1
MPI/fftw/files/variants Normal file
View File

@@ -0,0 +1 @@
fftw/3.3.8 unstable gcc/{7.3.0,8.2.0} mpich/3.2.1 openmpi/3.1.3

15
MPI/fftw/modulefile Normal file
View File

@@ -0,0 +1,15 @@
#%Module
module-whatis "Fastest Fourier Transform in the West"
module-url "http://www.fftw.org/"
module-license "GPL; http://www.fftw.org/doc/License-and-Copyright.html"
module-maintainer "Spencer Bliven <spencer.bliven@psi.ch>"
module-help "
FFTW is a C subroutine library for computing the discrete Fourier transform
(DFT) in one or more dimensions, of arbitrary input size, and of both real and
complex data (as well as of even/odd data, i.e. the discrete cosine/sine
transforms or DCT/DST).
"