grimme-lab / xtb

Semiempirical Extended Tight-Binding Program Package
https://xtb-docs.readthedocs.io/
GNU Lesser General Public License v3.0
561 stars 139 forks source link

ifx integration #908

Open Albkat opened 8 months ago

Albkat commented 8 months ago

Is your feature request related to a problem? Please describe. The deprecation Intel Fortran Compiler Classic (ifort)

Describe the solution you'd like Porting to the LLVM-based Intel Fortran Compiler ifx

Additional context Since the direct build with the swapping of compiler name (ifort -> ifx | icc -> icx) doesn't seem to succeed, one has to rewrite the corresponding build scripts and establish a CI routine.

TyBalduf commented 1 month ago

Locally, I'm able to build on Linux (Centos7) with ifx 2024.0.2 and gcc 11.3.0. However, attempting to run fails almost immediately. With -traceback turned on I get:

>>> xtb h2o.xyz
forrtl: severe (268): end of record during read, unit -129, file /home/balduf/repos/testing/h2o.xyz
Image              PC                Routine            Line        Source
libifcore.so.5     00007FB451CE6CC8  for__io_return        Unknown  Unknown
libifcore.so.5     00007FB451D26A2A  for_read_seq_fmt_     Unknown  Unknown
libifcore.so.5     00007FB451D24710  for_read_seq_fmt      Unknown  Unknown
xtb                00000000005A4671  getline                    50  systools.F90
xtb                000000000078A593  mirror_line               118  readin.f90
xtb                00000000007EBB71  rdcontrol                 771  set_module.f90
xtb                000000000042AEA7  xtbmain                   288  main.F90
xtb                000000000043D8AC  xtb_prog_primary           57  primary.f90
xtb                00000000004066ED  Unknown               Unknown  Unknown
libc-2.17.so       00007FB450C31555  __libc_start_main     Unknown  Unknown
xtb                0000000000406616  Unknown               Unknown  Unknown

It seems like the read in getline for some reason isn't passing along iostat and is just failing immediately. Everything runs fine if I replace ifx with ifort 2022.0.2.

I'm looking into if there is a workaround or some known issue with ifx.