[Wien] Intels Oneapi 2024: Compiler bug ?

Peter Blaha peter.blaha at tuwien.ac.at
Fri Jan 26 16:20:48 CET 2024


Yes, ifx cannot be used at the moment. It is very limited by now and 
produces many errors during compilation.
It is a bit worrying, since ifort (2024) gives an info that it will be 
disabled next year ....

Most of the time I tried   -O3  it did:
not significantly improve timing (sometimes it was even slower)
sometimes it produced even errors during execution.

The performance of -O3 depends a lot on the compiler version and may 
change with each version. You will have to benchmark it yourself, but 
don't expect too much.

using AVX flags or -Xhost   is possible when you have only one type of 
cpu where the code should run. But again, all you gain is that the 
executables get smaller and may load faster, because by default code for 
all kind of cpus will be generated. The overhead of determining which 
one to use is in my experience small, although I have not tested this 
much since I usually have several different kind of cpus available.

Peter Blaha

Am 26.01.2024 um 15:06 schrieb Michael Fechtelkord via Wien:
> Hello all,
> 
> 
> I tried also to use ifx .. it works for elpa, mpich, fftw and libxc, but 
> the compilation of WIEN2k has too many errors. With the classic compiler 
> ifort the compilation works fine and also the workaround for SRC_wplot 
> does resolve the compilation error.
> 
> Elpa recommends flags for certain cpu structures using AVX512, AVX2 etc 
> and uses -O3 instead.
> 
> 
> I was wondering if using "-O3 -xAVX2" in the compiler flags brings 
> better performance of the WIEN2k code or if its counterproductive and I 
> should stay with the recommendations?
> 
> 
> Best regards,
> 
> Michael
> 
> 
> Am 25.01.2024 um 23:54 schrieb Laurence Marks:
>> From what I can see, ifx is not ready, too much is missing. I suggest 
>> sticking with ifoft.
>>
>> ---
>> Professor Laurence Marks (Laurie)
>> www.numis.northwestern.edu <http://www.numis.northwestern.edu>
>> https://scholar.google.com/citations?user=zmHhI9gAAAAJ&hl=en 
>> <https://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
>>
>> On Fri, Jan 26, 2024, 07:21 Jan Doumont <jan.doumont at tuwien.ac.at> wrote:
>>
>>     Dear Peter,
>>
>>     Interestingly, I get the same error when using IFORT with the newest
>>     oneapi...
>>
>>     ifort  -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback
>>     -assume buffered_io -I/opt/intel/oneapi/mkl/2024.0/include
>>     -DHAVE_PTR_ALLOC_GENERICS  -Ilib -free -gen-interface nosource
>>     -traceback -g  -I../SRC_w2w/lib -I../SRC_w2w/lib -c modules.f
>>     -olib/modules.o -module lib
>>     ifort: remark #10448: Intel(R) Fortran Compiler Classic (ifort) is
>>     now
>>     deprecated and will be discontinued late 2024. Intel recommends that
>>     customers transition now to using the LLVM-based Intel(R) Fortran
>>     Compiler (ifx) for continued Windows* and Linux* support, new
>>     language
>>     support, new language features, and optimizations. Use
>>     '-diag-disable=10448' to disable this message.
>>     modules.f(195): error #6911: The syntax of this substring is invalid.
>>     [CART]
>>             inw%grid%len = (/ ( sqrt(sum( inw%grid%Cart(:,i)**2 )),
>>     i=1,3 ) /)
>>     ----------------------------------------------^
>>     compilation aborted for modules.f (code 1)
>>     make: *** [Makefile:140: lib/modules.o] Error 1
>>
>>     However, I found the following workaround works with both ifort
>>     and ifx
>>     on oneapi 2024:
>>
>>             do i=1,3
>>                inw%grid%len(i) = sqrt(sum(inw%grid%cart(:,i)**2 ))
>>             end do
>>
>>     i.e. to replace the implicit loop by an explicit one.
>>
>>     BW
>>     Jan Doumont
>>
>>     On 25/01/2024 19:52, Jan Doumont wrote:
>>     > Dear Peter,
>>     >
>>     > I could compile wien2k 23.2 with no issues using gfortran 13.2.1
>>     (the
>>     > version supplied with Fedora 39). I double checked the
>>     compile.msg of
>>     > SRC_wplot and there are no errors.
>>     >
>>     > Best Wishes
>>     >
>>     > Jan Doumont
>>     >
>>     >
>>     >
>>     > On 25/01/2024 19:00, Peter Blaha wrote:
>>     >> Dear users,
>>     >>
>>     >> Maybe there is a Fortran expert who knows if this syntax is
>>     correct
>>     >> or not.
>>     >>
>>     >> A user reported recently a compilation problem using   the most
>>     >> recent ifort (or ifx, which will become soon the new fortran
>>     >> compiler) (oneapi-2024.0)   in SRC_wplot:
>>     >>
>>     >> ifx -O -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -traceback
>>     >> -assume buffered_io -I/home/aarav/intel/mkl/2024.0/include
>>     >> -DHAVE_PTR_ALLOC_GENERICS -Ilib -free -gen-interface nosource
>>     >> -traceback -g -I../SRC_w2w/lib -I../SRC_w2w/lib -c modules.f
>>     >> -olib/modules.o -module lib
>>     >> modules.f(195): error #6911: The syntax of this substring is
>>     invalid.
>>     >> [CART]
>>     >>        inw%grid%len = (/( sqrt(sum( inw%grid%Cart(:,i)**2 )),
>>     i=1,3 )/)
>>     >> ---------------------------------------------^
>>     >>
>>     >> So the error is in line 195 of SRC_wplot/modules.f.
>>     >>
>>     >> It appear ONLY with the most recent oneapi 2024.0, not with older
>>     >> versions nor with gfortran-12.
>>     >>
>>     >> Thus the question is: Is this a compiler bug or is this due to
>>     a very
>>     >> new fortran-standard which this version enforces ?
>>     >> Has anybody an even newer gfortran (higher than version 12) and
>>     can
>>     >> test it with this compiler ?
>>     >>
>>     >> Best regards
>>     >> Peter Blaha
>>     >
>>     > _______________________________________________
>>     > 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
>>
>>     _______________________________________________
>>     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
>>
>>
>> _______________________________________________
>> 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
> 
> -- 
> Dr. Michael Fechtelkord
> 
> Institut für Geologie, Mineralogie und Geophysik
> Ruhr-Universität Bochum
> Universitätsstr. 150
> 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

-- 
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300
Email: peter.blaha at tuwien.ac.at    WIEN2k: http://www.wien2k.at
WWW:   http://www.imc.tuwien.ac.at
-------------------------------------------------------------------------


More information about the Wien mailing list