FFTW / fftw3

DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.)
GNU General Public License v2.0
2.75k stars 666 forks source link

FFTW 3.3.10 does not support intel 2022.02 classic mpi #272

Closed alas-go closed 2 years ago

alas-go commented 2 years ago

Dear developers.

FFTW 3.3.10 does not support intel 2020.02 classic mpi

it was compiled with intel icc and intel mpi from oneAPI 2022.02 . CC=icc was defined configure is ok but after type the command make, the errors turned out.

the error could be reproduced with gcc 11.2.1 and gcc 4.8.5

For GCC 11.2.1 make[3]: Entering directory '/home/az/software/fftw-3.3.10/mpi' mpicc -DHAVE_CONFIG_H -I. -I.. -I .. -I ../api -pthread -O3 -ansi-alias -malign-double -MT mpi_bench-mpi-bench.o -MD -MP -MF .deps/mpi_bench-mpi-bench.Tpo -c -o mpi_bench-mpi-bench.o test -f 'mpi-bench.c' || echo './'mpi-bench.c gcc: error: unrecognized command-line option ‘-ansi-alias’ make[3]: *** [Makefile:610: mpi_bench-mpi-bench.o] Error 1

For GCC-4.8.5 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: *** [any-true.lo] Error 1gcc: error: unrecognized command line option ‘-ansi-alias’

make[3]: [block.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [conf.lo] Error 1 make[3]: [dft-rank-geq2-transposed.lo] Error 1 make[3]: [transpose-recurse.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [choose-radix.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ [f03-wrap.lo] Error 1 make[3]: [dtensor.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [wisdom-api.lo] Error 1 make[3]: [rearrange.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [transpose-pairwise.lo] Error 1 make[3]: [transpose-alltoall.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [api.lo] Error 1 make[3]: [dft-serial.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [dft-problem.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [dft-solve.lo] Error 1 make[3]: [transpose-problem.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [dft-rank1-bigvec.lo] Error 1 make[3]: [dft-rank1.lo] Error 1 gcc: error: unrecognized command line option ‘-ansi-alias’ gcc: error: unrecognized command line option ‘-ansi-alias’ make[3]: [transpose-solve.lo] Error 1 make[3]: [dft-rank-geq2.lo] Error 1 make[3]: Leaving directory /home/az/software/fftw-3.3.10/mpi' make[2]: *** [all] Error 2 make[2]: Leaving directory/home/az/software/fftw-3.3.10/mpi' make[1]: [all-recursive] Error 1 make[1]: Leaving directory `/home/az/software/fftw-3.3.10' make: [all] Error 2

rdolbeau commented 2 years ago

The -ansi-alias option is selected when the Intel compiler is used at configure time, but you compile with GCC afterwards. So there's a discrepancy and the compile fails, which is to be expected: GCC doesn't understand Intel-only options.

If you want to compile with Intel's ICC, you need to use 'mpiicc' and not 'mpicc' (at least that was the convention in previous Intel distribution of their tools) so that the proper compiler is selected (e.g. use MPICC=mpiicc)

If you want to compile with GCC, you need to configure with GCC rather than ICC.