#1831: Enable MPI in FFTW3 ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: reopened Priority: optional | Milestone: Component: EinsteinToolkit thorn | Version: development version Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by knarf):
Assuming the thorn detects an external fftw library, that was not build with mpi - what should happen then? It seems that with the current patch libfftw3_mpi(.so) would be added as library without checking that a) this is needed (it was not so far) and b) it actually exists.
In fact, I do get the expected linker error with the patch: cannot find -lfftw3_mpi
mpi bindings for fftw3 might need to be installed separately, e.g., I have libfftw3-dev [1] installed, but not libfftw3-mpi-dev [2].
[1] https://packages.debian.org/jessie/amd64/libfftw3-dev/filelist [2] https://packages.debian.org/jessie/amd64/libfftw3-mpi-dev/filelist
We would need to warn users if we would the ET require MPI bindings for fftw (which we would if we assume them to be there if MPI is used).
Another issue might be that the installed MPI bindings for fftw might not be linked against the version of MPI that Cactus is configured to use. We would have to check for that. libfftw3-mpi on my system seems to use openmpi, which happens to be the MPI I also use for Cactus. That fftw3-mpi package for Ubuntu also uses openmpi, while the simfactory configuration for ubuntu advises users to install mpich2 (but I checked that using openmpi would also work).
We could of course only add the MPI bindings for the case when FFTW is build by Cactus, but then thorns shouldn't rely on them being present, which would defeat the purpose I would guess.
All these complications make me wonder if this change is worth the trouble. They might, but what would they be used for?