[Wien] FFTW and ifx/icx issue relevant to WIEN2k
Laurence Marks
laurence.marks at gmail.com
Tue Sep 9 23:20:29 CEST 2025
Comments.
1. I have never seen -O3 do anything with icc/ifort except kill
defenceless electrons and make the code *slower*. I will be happy to be
proved wrong with ifx/icx.
2. I *always* use -mkl, rather than making mistakes chasing how intel
changes its libraries.
3. I think you might have issues with -mkl_cdft (intel's version of
fftw) and FFTW3
On Tue, Sep 9, 2025 at 4:10 PM Straus, Daniel B <dstraus at tulane.edu> wrote:
> 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/
>
>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
> SEARCH the MAILING-LIST at:
> http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
>
--
Emeritus Professor Laurence Marks (Laurie)
Northwestern University
Webpage <http://www.numis.northwestern.edu> and Google Scholar link
<http://scholar.google.com/citations?user=zmHhI9gAAAAJ&hl=en>
"Research is to see what everybody else has seen, and to think what nobody
else has thought", Albert Szent-Györgyi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20250909/24a2a1e3/attachment.htm>
More information about the Wien
mailing list