Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Internal compiler error with -qmkl-ilp64

JaspervdK
Beginner
772 Views

Using the latest intel oneAPI 2023 the following code gives an internal compiler error:

program main
    implicit none
    integer, parameter :: N = 1000
    integer, parameter :: Nmin = 267
    real*8, allocatable, dimension(:,:) :: array

    allocate(array(N, 2))

    array = 0.d0

    print*, array(Nmin:N, 2)

end program main

 I compile as:

ifort *.F90 -i8 -qmkl-ilp64 -o run

which matches with the options recommended to me by the link line advisor (I know the above code does not have any MKL usage, but my full code does and experiences a similar crash). The ICE reads:

IERROR_MODULE_ID_1279

Main.F90(1): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for Main.F90 (code 1)

If I replace -qmkl-ilp64 with just -qmkl the error disappears. Is it still safe to use -i8 -qmkl with the new version of MKL? This is what I used to do on the older compiler versions.

Thanks!

0 Kudos
1 Solution
VarshaS_Intel
Moderator
700 Views

Hi,


Thanks for posting in Intel Communities.


>>Is it still safe to use -i8 -qmkl with the new version of MKL?

Yes, you can use -the i8 option with the new version of Intel MKL. When we tried to run your code with sequential and parallel linking, we are able to get the expected results with both the ifort and ifx compilers.


We recommend you use the Intel Link Line Advisor for compiling and linking your code with Intel MKL.


Please find the below link for the Intel Link Line Advisor,

as it supports different environments, tools, and interfaces, oneMKL provides multiple libraries to choose

https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html


Could you please try and let us know if you have any other issues?


Thanks & Regards,

Varsha


View solution in original post

0 Kudos
4 Replies
JaspervdK
Beginner
712 Views

I found that linking with MKL ilp64 explicitly as,

ifort Main.F90 -i8 -I"$(MKLROOT)/include" -L$(MKLROOT)/lib/intel64 -lmkl_intel_ilp64 \
 		-lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl -o run

 does not give an error

0 Kudos
VarshaS_Intel
Moderator
701 Views

Hi,


Thanks for posting in Intel Communities.


>>Is it still safe to use -i8 -qmkl with the new version of MKL?

Yes, you can use -the i8 option with the new version of Intel MKL. When we tried to run your code with sequential and parallel linking, we are able to get the expected results with both the ifort and ifx compilers.


We recommend you use the Intel Link Line Advisor for compiling and linking your code with Intel MKL.


Please find the below link for the Intel Link Line Advisor,

as it supports different environments, tools, and interfaces, oneMKL provides multiple libraries to choose

https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html


Could you please try and let us know if you have any other issues?


Thanks & Regards,

Varsha


0 Kudos
JaspervdK
Beginner
644 Views

Hi,

 

Yes using the Link Line Advisor and checking the "Link with Intel® oneMKL libraries explicitly" allows me to link ilp64 MKL without getting the compiler error. So my issue has been resolved.

 

Thanks!

 

Regards,

Jasper

0 Kudos
VarshaS_Intel
Moderator
607 Views

Hi,


>>So my issue has been resolved.

It’s great to know that the issue has been resolved, in case you run into any other issues please feel free to create a new thread. 


Have a Good Day!


Thanks & Regards,

Varsha


0 Kudos
Reply