[Wien] ifort classic compiler now discontinued in one-api 2025.0 online repositories

Laurence Marks laurence.marks at gmail.com
Sun Jan 5 15:55:33 CET 2025


That would be a fftw bug, I suggest reporting it to them.

___
Emeritus Professor Laurence Marks (Laurie)
Department of Materials Science and Engineering, Northwestern University
www.numis.northwestern.edu
"Research is to see what everybody else has seen, and to think what nobody
else has thought" Albert Szent-Györgyi

On Sun, Jan 5, 2025, 08:44 Michael Fechtelkord via Wien <
wien at zeus.theochem.tuwien.ac.at> wrote:

> The problem seems to be that FFTW configure  if using ifx as default
> Fortran compiler does not know how to link C and FORTRAN and then it uses
> default Fortran wrappers. Setting ifort as default, configure finds all
> links.
>
> I copy here the essential output for both ifort and ifx:
>
>
> ifx:
>
> checking for Fortran 77 libraries of ifx...  -lm -loopopt=1
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8
> -L/opt/intel/oneapi/mpi/2021.13/lib -L/opt/intel/oneapi/mkl/2024.2/lib/
> -L/opt/intel/oneapi/dpl/2022.6/lib -L/opt/intel/oneapi/compiler/2024.2/lib
> -L/opt/intel/oneapi/compiler/2024.2/lib/clang/19/lib/x86_64-unknown-linux-gnu
>
> -L/usr/lib64/gcc/x86_64-suse-linux/13/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64/ -L/lib/../lib64
> -L/lib/../lib64/ -L/usr/lib/../lib64
> -L/usr/lib/../lib64/
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8/
> -L/opt/intel/oneapi/mpi/2021.13/lib/ -L/opt/intel/oneapi/dpl/2022.6/lib/
> -L/opt/intel/oneapi/compiler/2024.2/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../ -L/lib64 -L/lib/
> -L/usr/lib64
> -L/usr/lib -limf -lifport -lifcoremt -lsvml -lipgo -lirc -lpthread -lirc_s
> -ldl
> checking for dummy main to link with Fortran 77 libraries... unknown
> *configure: WARNING: *** Couldn't figure out how to link C and Fortran;
> using default Fortran wrappers.*
> checking for OpenMP flag of C compiler... -fopenmp
> checking whether a cycle counter is available... yes
> checking that generated files are newer than configure... done
>
> ifort:
>
> checking for Fortran 77 libraries of ifort...
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8
> -L/opt/intel/oneapi/mpi/2021.13/lib -L/opt/intel/oneapi/mkl/2024.2/lib/
> -L/opt/intel/oneapi/dpl/2022.6/lib -L/opt/intel/oneapi/compiler/2024.2/lib
> -L/opt/intel/oneapi/compiler/2024.2/bin/../lib
> -L/opt/intel/oneapi/compiler/2024.2/bin/../opt/compiler/lib
> -L/usr/lib64/gcc/x86_64-suse-linux/13/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64/ -L/lib/../lib64
> -L/lib/../lib64/ -L/usr/lib/../lib64
> -L/usr/lib/../lib64/
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8/
> -L/opt/intel/oneapi/mpi/2021.13/lib/ -L/opt/intel/oneapi/dpl/2022.6/lib/
> -L/opt/intel/oneapi/compiler/2024.2/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../ -L/lib64 -L/lib/
> -L/usr/lib64
> -L/usr/lib -limf -lm -lifport -lifcoremt -lsvml -lipgo -lirc -lpthread
> -lirc_s -ldl
> checking for dummy main to link with Fortran 77 libraries... none
> checking for Fortran 77 name-mangling scheme... lower case, underscore, no
> extra underscore
> checking for OpenMP flag of C compiler... -fopenmp
> checking for Win32 threads... no
> checking for the pthreads library -lpthreads... no
> checking whether pthreads work without any flags... yes
> checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
> checking if more special flags are required for pthreads... no
> checking whether a cycle counter is available... yes
> checking that generated files are newer than configure... done
>
> Best regards,
>
> Michael
>
>
>
> Am 05.01.2025 um 12:33 schrieb Michael Fechtelkord via Wien:
>
> LAPW0 works in my ifx compilation (currently 2024.2 because it still
> contains ifort, gcc is 13.2). When I run the following configure for fftw3
> and compile:
>
> FC=ifort F77=ifort CC=gcc CFLAGS="-O3 -march=native -mavx2" FCFLAGS="-O3
> -xAVX2 -diag-disable=10448"\
>   ./configure --prefix=/usr/local/ --enable-shared --enable-mpi
> --enable-openmp --enable-threads --enable-avx --enable-avx2
>
>
> there is no compilation error for 3ddens. Do I change to
>
> FC=ifx F77=ifx CC=gcc CFLAGS="-O3 -march=native -mavx2" FCFLAGS="-O3
> -xAVX2"\
>   ./configure --prefix=/usr/local/ --enable-shared --enable-mpi
> --enable-openmp --enable-threads --enable-avx --enable-avx2
>
> I got the error for 3ddens in compilation:
>
>
> /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld:
> 3ddens.o: in function `MAIN__':
> ifxim7AOm.i:(.text+0x4fe9): undefined reference to `dfftw_init_threads_'
> /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld:
> ifxim7AOm.i:(.text+0x5004): undefined reference to
> `dfftw_plan_with_nthreads_'
>
> make: *** [Makefile:65: 3ddens] Fehler 1
>
> FFTW uses also a fortran part, except you switch it of with
>
> --disable-fortran: Disables inclusion of legacy-Fortran wrapper routines
> (see
> Chapter 8 [Calling FFTW from Legacy Fortran], page 87) in the standard
> FFTW
> libraries. These wrapper routines increase the library size by only a
> negligible amount,
> so they are included by default as long as the configure script finds a
> Fortran
> compiler on your system. (To specify a particular Fortran compiler foo,
> pass F77=foo
> to configure.)
>
>
> So it is possible that the problem is due to different wrappers when I
> specify ifort or ifx as particular Fortran compiler.
>
>
> Best regards,
>
> Michael
>
>
>
>
> Am 05.01.2025 um 09:49 schrieb Fecher, Gerhard:
>
> Sorry, ifort was a typo,  fftw3 is pure C++ library and does not need any
> Fortran compiler
> I used for fftw3 both the old icc and the new icx, without observing any
> remarkable difference during run-time..
> (I iused icx (instead of gcc) already since the 2023 OneAPI without
> problems)
> For ifx (or ifort)   the Fortran wrappers for fftw are in the OneAPI
> include directories
> (for gnu you probably may need the switch --with-g77-wrappers in
> configure)
>
> I wonder why in your case 3ddens fails, but lapw0 succeeds (does it ?)
>
> Ciao
> Gerhard
>
> DEEP THOUGHT in D. Adams; Hitchhikers Guide to the Galaxy:
> "I think the problem, to be quite honest with you,
> is that you have never actually known what the question is."
>
> ====================================
> Dr. Gerhard H. Fecher
> Institut of Physics
> Johannes Gutenberg - University
> 55099 Mainz
> ________________________________________
> Von: Wien [wien-bounces at zeus.theochem.tuwien.ac.at] im Auftrag von
> Michael Fechtelkord via Wien [wien at zeus.theochem.tuwien.ac.at]
> Gesendet: Samstag, 4. Januar 2025 19:49
> An: A Mailing list for WIEN2k users
> Cc: Michael Fechtelkord
> Betreff: Re: [Wien] ifort classic compiler now discontinued in one-api
> 2025.0 online repositories
>
>    Dear Gerhard,
>
>
> thanks for all your hints, they showed no difference. The link error
> still occurred. But I saw that you used ifort, instead of ifx for
> compiling the fftw3 libraries. And that makes the difference.
>
> When I compile the fftw libraries with ifx and gcc the link error occurs
> for 3ddens. When I compile fftw3 with ifort and gcc, no error occurs in
> compilation of 3ddens.
>
> I have no idea where the difference is.
>
> In the 2025 oneapi version ifort and icc do not exist any longer and
> people cannot use it to compile the fftw3 library. So we have now to
> find out what ifort does different compared to ifx when it compiles the
> fftw3 code concerning intel threading.
>
>
> Thanks again for your help and happy new year!
>
>
> Best regards,
>
> Michael
>
>
> Am 31.12.2024 um 17:42 schrieb Fecher, Gerhard:
>
> Dear Michael,
> as I reported before all routines were successfully compiled using
> current:FOPT:-free  -O2 -xHost -fp-model=strict -DINTEL_VML -traceback
> -assume buffered_io -I$(MKLROOT)
> or
> current:FOPT:-free -w -O3 -xHost -fp-model=precise -DINTEL_VML -traceback
> -assume buffered_io -I$(MKLROOT)
>
> the only remaining problem (after updated some routines according to
> Preter and Gavin) that remained is tthat
>      lapw0 does not run (produces a segmentation fault) when setting
> OMP_NUM_THREADS other than 1,  however setting of MKL_NUM_THREADS works
> (this still remains when using the update of charge.f as suggested by
> Laurence)
>
> In my case  3ddens has no problems with fftw3
> I suggest to use a local directory for it in your home directory, I had
> problems at runtime with fftw3 from the OpenSuse repositories installed in
> /usr/lib64
> I also suggest to start with less optimization switches when making fftw3
> I guess you better use  only one of --enable-openmp --enable-threads and
> you should check that make uses intel threading
> maybe your configure is not complete and you need also to set a correct LD
> I compiled it with ifort and icc
> I used at least something like
>      configure --prefix=/myhomepath/lib/FFTW3 \
>      CC=icc CFLAGS="-O3 -xHost -diag-disable=10441" \
>      --enable-shared --enable-openmp
> and for mpi in addition:
>     MPICC=mpiicc  --enable-mpi  LDFLAGS=-L/path/to/mpi/libs
> CPPFLAGS=-I/path/to/mpi/include ...’
>
> check the available configuration switches using configure --help=short
> If making different optimized versions, you can also give a version
> --comand-suffix=SUFFIX
>
> for lapw0 you can check wether you use the correct fftw3 using: ldd lapw0
> is it the one you intended to be used ? Check also your LD_LIBRARY_PATH
>
>
> Ciao
> Gerhard
>
> DEEP THOUGHT in D. Adams; Hitchhikers Guide to the Galaxy:
> "I think the problem, to be quite honest with you,
> is that you have never actually known what the question is."
>
> ====================================
> Dr. Gerhard H. Fecher
> Institut of Physics
> Johannes Gutenberg - University
> 55099 Mainz
>
> --
> Dr. Michael Fechtelkord
>
> Institut für Geologie, Mineralogie und Geophysik
> Ruhr-Universität BochumUniversitätsstr. 150 <https://www.google.com/maps/search/Universit%C3%A4tsstr.+150?entry=gmail&source=g>
> D-44780 Bochum
>
> Phone: +49 (234) 32-24380
> Fax:  +49 (234) 32-04380
> Email: Michael.Fechtelkord at ruhr-uni-bochum.de
> Web Page: https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/fechtelkord/
>
> _______________________________________________
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20250105/5de7498b/attachment.htm>


More information about the Wien mailing list