- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ifx Internal Compiler Error with -heap-arrays option
I’m compiling a library, https://github.com/lauvergn/AD_dnSVM (see the zip file) and I’m getting an Internal Compiler Error when I’m using the -heap-arrays option with ifx.
The following combinations (ifx/ifort -O/-O0 …) give:
ifx -O -heap-arrays : ICE (error #5633: **Internal compiler error) while compilling SRC/ADdnSVM/dnVec_m.f90
ifx -O0 -heap-arrays : Compilation OK, execution ERR (on the Test_dnS.x test)
ifort -O -heap-arrays : Compilation + execution OK
ifort -O0 -heap-arrays : Compilation + execution OK
ifx -O : Compilation + execution OK
ifx -O0 : Compilation + execution OK
ifort -O : Compilation + execution OK
ifort -O0 : Compilation + execution OK
To reproduce the errors:
make FC=ifx OPT=1 ut
or
make FC=ifx OPT=0 ut
I’ve tried to reduce the library size without success.
Thanks
PS: I'm using the Intel Fortran Compiler (IFX) version 2023.1.0 (I don’t have access to a more recent version) on a linux distribution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
seems to work with the internal build that will be 2025.0:
***********************************************************************
***********OS: Linux
***********COMPILER: ifx
***********COMPILER_VER: ifx (IFX) 2025.0.0 20240825
***********OPTIMIZATION: 1
***********OpenMP: 1
***********INT: 4
***********LAPACK: 1
***********FFLAGS: -O -g -traceback -heap-arrays -module OBJ/obj_ifx_opt1_omp1_lapack1_int4 -IOBJ/obj_ifx_opt1_omp1_lapack1_int4 -qopenmp -cpp -D__LAPACK="1"
***********FLIB: -qmkl -lpthread
***********ext_obj: _ifx_opt1_omp1_lapack1_int4
...
echo "dnVec compilation: OK"
dnVec compilation: OK
TESTING dnS module. Number of tests :95
TESTING dnS module. Number of error(s):0
TESTING dnPoly module. Number of tests :15
TESTING dnPoly module. Number of error(s):0
TESTING dnVec module. Number of tests :10
TESTING dnVec module. Number of error(s):0
done with the unitary tests
***********************************************************************
***********OS: Linux
***********COMPILER: gfortran
***********COMPILER_VER: GNU Fortran (Ubuntu 13.2.0-23ubuntu4) 13.2.0
***********OPTIMIZATION: 1
***********OpenMP: 1
***********INT: 4
***********FFLAGS: -O5 -g -fbacktrace -funroll-loops -ftree-vectorize -falign-loops=16 -JOBJ/obj_gfortran_opt1_omp1_lapack1_int4 -IOBJ/obj_gfortran_opt1_omp1_lapack1_int4 -IExt_Lib/QDUtilLib/OBJ/obj_gfortran_opt1_omp1_lapack1_int4 -fopenmp -cpp -D__LAPACK="1"
***********FLIB: -llapack -lblas
***********ext_obj: _gfortran_opt1_omp1_lapack1_int4
***********QD_DIR: Ext_Lib/QDUtilLib
echo "dnVec compilation: OK"
dnVec compilation: OK
TESTING dnS module. Number of tests :95
TESTING dnS module. Number of error(s):0
TESTING dnPoly module. Number of tests :15
TESTING dnPoly module. Number of error(s):0
TESTING dnVec module. Number of tests :10
TESTING dnVec module. Number of error(s):0
done with the unitary tests
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm afraid, the problem with the **heap-arrays** option is still present with the version 2024.2.1 (20240711).
However, the error is only at the execution. There is no more "Internal Compiler Error":
ifx -O -heap-arrays : Compilation OK, execution ERR (on the Test_dnS.x test)
ifx -O0 -heap-arrays : Compilation OK, execution ERR (on the Test_dnS.x test)
Remarks:
- the errors in Test_dnS.x are not at the same line with the option -O and -O0
- With ifort, everything is running fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
just a clarification. By execution error you are referring to the unit tests that are run after compilation automatically by make?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes. I've got an error during the run of the first test just after the compilation.
The first executable is: Test_dnS.x
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
seems to work with the internal build that will be 2025.0:
***********************************************************************
***********OS: Linux
***********COMPILER: ifx
***********COMPILER_VER: ifx (IFX) 2025.0.0 20240825
***********OPTIMIZATION: 1
***********OpenMP: 1
***********INT: 4
***********LAPACK: 1
***********FFLAGS: -O -g -traceback -heap-arrays -module OBJ/obj_ifx_opt1_omp1_lapack1_int4 -IOBJ/obj_ifx_opt1_omp1_lapack1_int4 -qopenmp -cpp -D__LAPACK="1"
***********FLIB: -qmkl -lpthread
***********ext_obj: _ifx_opt1_omp1_lapack1_int4
...
echo "dnVec compilation: OK"
dnVec compilation: OK
TESTING dnS module. Number of tests :95
TESTING dnS module. Number of error(s):0
TESTING dnPoly module. Number of tests :15
TESTING dnPoly module. Number of error(s):0
TESTING dnVec module. Number of tests :10
TESTING dnVec module. Number of error(s):0
done with the unitary tests
***********************************************************************
***********OS: Linux
***********COMPILER: gfortran
***********COMPILER_VER: GNU Fortran (Ubuntu 13.2.0-23ubuntu4) 13.2.0
***********OPTIMIZATION: 1
***********OpenMP: 1
***********INT: 4
***********FFLAGS: -O5 -g -fbacktrace -funroll-loops -ftree-vectorize -falign-loops=16 -JOBJ/obj_gfortran_opt1_omp1_lapack1_int4 -IOBJ/obj_gfortran_opt1_omp1_lapack1_int4 -IExt_Lib/QDUtilLib/OBJ/obj_gfortran_opt1_omp1_lapack1_int4 -fopenmp -cpp -D__LAPACK="1"
***********FLIB: -llapack -lblas
***********ext_obj: _gfortran_opt1_omp1_lapack1_int4
***********QD_DIR: Ext_Lib/QDUtilLib
echo "dnVec compilation: OK"
dnVec compilation: OK
TESTING dnS module. Number of tests :95
TESTING dnS module. Number of error(s):0
TESTING dnPoly module. Number of tests :15
TESTING dnPoly module. Number of error(s):0
TESTING dnVec module. Number of tests :10
TESTING dnVec module. Number of error(s):0
done with the unitary tests
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great. Thanks, I'll wait for this version.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page