amd / amd-fftw

FFTW code optimized for AMD based processors
GNU General Public License v2.0
48 stars 12 forks source link

fix(mpi): fix parameters for MPI_Isend, MPI_Irecv, and MPI_Wait #12

Open e-kwsm opened 3 months ago

e-kwsm commented 3 months ago

close #11

Danielduel commented 2 months ago

I had https://github.com/amd/amd-fftw/issues/11 when trying to install fftw-amd from aur. (https://aur.archlinux.org/packages/fftw-amd) Which bases on tag 4.2 from the main branch. I've edited the install script to use this branch and the install problem is gone. I don't have enough domain knowledge if the change is the best solution to this problem, but solves the https://github.com/amd/amd-fftw/issues/11

BiplabRaut commented 4 days ago

HI @e-kwsm and @Danielduel , Thank you submitting your patch that fixes this compiler error message #11.

As a standard practice, it will be good to run the basic sanity, and functional tests. Here are the recommended steps to run a variety of tests : 1) Configure the library using a combination of configure options like --enable-sse2 --enable-avx --enable-avx2 --enable-avx512 --enable-mpi --enable-openmp --enable-shared --enable-amd-opt --enable-amd-mpifft --enable-dynamic-dispatcher --enable-amd-mpifft --enable-amd-fast-planner --enable-amd-top-n-planner --enable-amd-app-opt --enable-amd-trans 2) Generate a different build of the library based on the configure command 3) Run "make small check" , "make check" "make big check"

Please share/attach the results with this PR itself. Thanks

e-kwsm commented 3 days ago

I tried the options, but it failed:

$ mkdir build
$ cd build
$ ../configure --enable-sse2 --enable-avx --enable-avx2 --enable-avx512 --enable-mpi --enable-openmp --enable-shared --enable-amd-opt --enable-amd-mpifft --enable-dynamic-dispatcher --enable-amd-mpifft --enable-amd-fast-planner --enable-amd-top-n-planner --enable-amd-app-opt --enable-amd-trans
…
checking whether C compiler accepts -mpreferred-stack-boundary=4... yes
checking whether the stack is at least 8-byte aligned by gcc... checking whether C compiler accepts -malign-double... (cached) yes
yes
AMD OPT Flag is enabled and so AMD optimizations will be turned on.
configure: error: AMD application optimization layer is not supported for MPI execution and in Quad or Long double precisions.

I added --enable-single --disable-long-double --disable-quad-precision but the message is the same. It seems that --disable-amd-opt and --disable-amd-top-n-planner must be turned on, which is not intuitive. Would you tell me the options for test exactly? (BTW --enable-amd-mpifft appears twice)

jeroen-mostert commented 3 days ago

@e-kwsm: I've left some thoughts on this matter when this was posted on my own pull request, including a proposed set of tests.

e-kwsm commented 3 days ago

@jeroen-mostert Thank you for your suggestion. FWIW I just opened #15.