There has been a request by @weiyuan-jiang to add fftw to Baselibs.
Per the docs, there are a lot of options but I'm guessing we'd want:
--enable-float: Produces a single-precision version of FFTW (float) instead of the default double-precision (double). See Precision.
--enable-mpi: Enables compilation and installation of the FFTW MPI library (see Distributed-memory FFTW with MPI), which provides parallel transforms for distributed-memory systems with MPI. (By default, the MPI routines are not compiled.) See FFTW MPI Installation.
at least? Those seem to be the options Spack does by default:
- fftw@3.3.10+mpi~openmp~pfft_patches+shared build_system=autotools patches:=872cff9 precision:=double,float arch=linux-ubuntu24.04-icelake
For MPI, it looks like passing in the wrappers is what is best. I think that's how we handle, say, netCDF, so I can follow that.
There has been a request by @weiyuan-jiang to add fftw to Baselibs.
Per the docs, there are a lot of options but I'm guessing we'd want:
--enable-float: Produces a single-precision version of FFTW (float) instead of the default double-precision (double). See Precision.--enable-mpi: Enables compilation and installation of the FFTW MPI library (see Distributed-memory FFTW with MPI), which provides parallel transforms for distributed-memory systems with MPI. (By default, the MPI routines are not compiled.) See FFTW MPI Installation.at least? Those seem to be the options Spack does by default:
For MPI, it looks like passing in the wrappers is what is best. I think that's how we handle, say, netCDF, so I can follow that.