[Wien] FFTW and ifx/icx issue relevant to WIEN2k

Straus, Daniel B dstraus at tulane.edu
Tue Sep 9 23:10:13 CEST 2025


Sorry for the long delay in responding—I was set to receive a digest of list messages, and it only comes once every couple of weeks.

Yes, this is on a Zen 5 computer, and it is running Rocky Linux 10. I am using the Intel compiler and MKL, rather than the one AMD provides. IFX and ICX support the march=znver5 flag. All the WIEN2k 24.1 patches available as of 9/1 were installed.

To be clear, on my workstation, FFTW still will work with WIEN2k even if the autoconf script is not regenerated, but there may be a performance impact as it is not using the proper Intel libraries for Fortran calls to FFTW. However, 3ddens would then not compile, and if I also attempted to use ELPA, then parallel LAPW1 would not compile. Regenerating the autoconf script for FFTW and recompiling it solved both problems. You should check the config.log for your FFTW compilation to see if there is a line such as “ld: cannot find -loopopt=0” to see if this error is occurring. For me, the configure script continued even after this error, but it was using GNU default libraries rather than the Intel provided libraries.

siteconfig_lapw is set to use the ifx and icx compilers, and here are the flags under “Options” in siteconfig_lapw I am using the following compiler options for WIEN2k with the IFX compiler.
Current settings:
  M   OpenMP switch:           -qopenmp
  O   Compiler options:        -O3 -march=znver5 -traceback -assume buffered_io -FR -I$(MKLROOT)/include
  L   Linker Flags:            $(FOPT) -L$(MKLROOT)/lib -lpthread -lm -ldl -liomp5 -Wl,-rpath,$MKLROOT/lib
  P   Preprocessor flags       '-DParallel'
  R   R_LIBS (LAPACK+BLAS):    -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core
  F   FFTW options:            -DFFTW3 -DFFTW_OMP -I/home/software/fftw-3.3.10/include
      FFTW-LIBS:               -L/home/software/fftw-3.3.10/lib -lfftw3 -lfftw3_omp
  X   LIBX options:
      LIBXC-LIBS:

For Parallel Options in siteconfig_lapw, here are the flags I am using:
Your current parallel settings (options and libraries) are:
     C   Parallel Compiler:          mpiifx
     FP  Parallel Compiler Options:  -O3 -FR -march=znver5 -fc=ifx -traceback -assume buffered_io -I$(MKLROOT)/include
     MP  MPIRUN command:             mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_
     O   Parallel OpenMP switch:     -qopenmp
   Additional setting for SLURM batch systems (is set to 1 otherwise):
     CN  Number of Cores:            1
   Libraries:
     Sp  SCALAPACK:                   -L$(MKLROOT)/lib
                                                     -lmkl_scalapack_lp64
                                                     -L$(MKLROOT)/lib -lmkl_blacs_intelmpi_lp64
     E   ELPA options:                -DELPA -I/home/software/elpa-2025.06.001/include/elpa-2025.06.001/elpa
                                                     -I/home/software/elpa-2025.06.001/include/elpa-2025.06.001/modules
         ELPA-LIBS:                   -lelpa -L/home/software/elpa-2025.06.001/lib -Wl,-rpath=/home/software/elpa-2025.06.001/lib
     RP  Parallel-Libs:      $(R_LIBS) -lmkl_cdft_core

In case it’s relevant here is what I passed to the configure script for FFTW3 (after regenerating the script with autoconf):
module load oneapi/2025.2.0
./configure --prefix=/home/software/fftw-3.3.10 CC="mpiicx -cc=icx" MPICC="mpiicx -cc=icx" F77="mpiifx -fc=ifx" FFLAGS="-O3 -march=znver5 -I"${MKLROOT}/include"" CFLAGS="-O3 -march=znver5 -I"${MKLROOT}/include"" CXXFLAGS="-I"${MKLROOT}/include"" LDFLAGS="-L${MKLROOT}/lib -lmkl_scalapack_lp64 -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" --enable-option-checking=fatal --enable-avx512 --enable-avx2 --enable-mpi --enable-openmp --enable-threads

And for ELPA:
module load oneapi/2025.2.0
./configure --prefix=/home/software/elpa-2025.06.001 CC="mpiicx -cc=icx" CXX="mpiicpx -cxx=icpx" FC="mpiifx -fc=ifx" CFLAGS="-O3 -march=znver5 -I"${MKLROOT}/include"" FCFLAGS="-O3 -march=znver5 -I"${MKLROOT}/include"" CXXFLAGS="-O3 -march=znver5 -I"${MKLROOT}/include"" LDFLAGS="-L${MKLROOT}/lib -lmkl_scalapack_lp64 -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" --enable-option-checking=fatal --with-mpi=yes --enable-openmp=yes

Hopefully this is helpful.



Daniel Straus
Assistant Professor
Department of Chemistry
Tulane University
5088 Percival Stern Hall
6400 Freret Street
New Orleans, LA 70118
(504) 862-3585
http://straus.tulane.edu/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20250909/892721f2/attachment.htm>


More information about the Wien mailing list