[Wien] ifort classic compiler now discontinued in one-api 2025.0 online repositories
Fecher, Gerhard
fecher at uni-mainz.de
Sun Jan 5 19:39:15 CET 2025
maybe it is just enough to put ifx into the list of known Fortran compilers of configure
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 Laurence Marks [laurence.marks at gmail.com]
Gesendet: Sonntag, 5. Januar 2025 15:55
An: A Mailing list for WIEN2k users
Betreff: Re: [Wien] ifort classic compiler now discontinued in one-api 2025.0 online repositories
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<http://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<mailto: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<mailto:wien-bounces at zeus.theochem.tuwien.ac.at>] im Auftrag von Michael Fechtelkord via Wien [wien at zeus.theochem.tuwien.ac.at<mailto: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 Bochum
Universitä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<mailto: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<mailto: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
More information about the Wien
mailing list