1

I am converting my parallel double precision fortran code that involves calls to FFTW3 and BLAS-LAPACK packages to parallel quadruple precision.

I have installed FFTW3 for quadruple precision as follows:

./configure --enable-quad-precision 

described in: http://fftw.org/fftw3_doc/Installation-on-Unix.html#Installation-on-Unix

A sample serial code that calls these libraries works without any issues. I have linked to lquadmath here which tells me that the serial compiler gfortran has that library.

However, to install FFTW3 with parallel libraries requires another tag

./configure --enable-mpi --enable-quad-precision 

When I try this there is an error:

configure: error: quad precision is not supported in MPI

Following is my install script for mpich-3.2.1:

./configure --enable-f90 F77=gfortran FC=gfortran CC=gcc
make 
make install

I have tried a mpigather and mpiscatter test using REAL16 datatype (https://www.mpi-forum.org/docs/mpi-2.1/mpi21-report-bw/node330.htm) to scatter multiples of pi and it worked alright.

However, FFTW3 does not recognize this.. How do I proceed? Thankyou for your time.

sai
  • 155
  • 4
  • 1
    You can easily find by Googling that the FFTW manual says *"Long-double precision is supported in MPI, but quad precision (‘fftwq_’) is not due to the lack of MPI support for this type. "* http://www.fftw.org/fftw3_doc/MPI-Files-and-Data-Types.html So, FFTW does not support quadruple precision in MPI. – Vladimir F Героям слава Jan 11 '19 at 13:54
  • I did see that but is there no way to parallelise quadruple precision then? I'm amazed considering the demand for such an operation – sai Jan 11 '19 at 13:56
  • 3
    I am not amazed nor do I think the demand is high. – Vladimir F Героям слава Jan 11 '19 at 14:02
  • https://users.open-mpi.narkive.com/9KHzAb39/ompi-users-mpi-sum-and-mpi-real16-with-mpi-allreduce-in-fortran90 there are references to mpi operations with quad precision here however. How did they achieve that without MPI supporting it.. – sai Jan 11 '19 at 14:08
  • It is not enough to test just MPI Scatter and Gather. They will work for anything. Try some reductions, for example. Like https://stackoverflow.com/questions/33109040/strange-result-of-mpi-allreduce-for-16-byte-real/34230377 – Vladimir F Героям слава Jan 11 '19 at 14:40
  • I have checked and there's a discrepancy as you predicted. I suppose i'll close this question and try to follow the link posted in your comment as there are some suggestions there. – sai Jan 11 '19 at 14:58
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/186555/discussion-between-sai-and-vladimir-f). – sai Jan 11 '19 at 15:36

0 Answers0