Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29274 Discussions

Intel OneAPI 2023.1.0 Classic C++ compiler (version 2021.9.0)

syfu6
Beginner
2,571 Views

i need this Intel OneAPI 2023.1.0 Classic C++ compiler (version 2021.9.0) and Intel OneAPI 2023.1.0 Classic FORTRAN compiler (version 2021.9.0) for make a subroutine for ANSYS 2025R1 but unable to get the links or the offline installers so is there any way to get this software's

0 Kudos
1 Solution
Ron_Green
Moderator
2,483 Views

read this:
https://community.intel.com/t5/Intel-Fortran-Compiler/Older-Compiler-Download-Information/td-p/1372725/page/2

 

and do a search for "ANSYS".  you will find you do not need that older compiler version.

View solution in original post

0 Kudos
18 Replies
Ron_Green
Moderator
2,484 Views

read this:
https://community.intel.com/t5/Intel-Fortran-Compiler/Older-Compiler-Download-Information/td-p/1372725/page/2

 

and do a search for "ANSYS".  you will find you do not need that older compiler version.

0 Kudos
syfu6
Beginner
2,299 Views

i tried doing that but the classic intel fortran is not been found ansys support the classic version is there any way i get the classic fortran with the new version ifort command is not being recognized 

 

0 Kudos
syfu6
Beginner
1,965 Views

@Ron_Green hello do you have any solution to this

0 Kudos
andrew_4619
Honored Contributor III
1,845 Views

The solution lies with ANSYS to not use obsolete products. The more immediate solution is to update the ANSYS scripts to work with IFX. 

0 Kudos
avinashs
New Contributor I
1,775 Views

@andrew_4619  In an ideal world, this would be the case and the correct approach. However, I am faced with a similar situation. The same code which compiles, links, and runs without error in IFORT (and gfortran) fails in IFX. Unless I resolve this issue, I am unable to update completely to IFX. Similar problems have been noted by our 3rd party external software provider (not ANSYS) who have therefore also not upgraded to IFX. Note that the code fails at only one point in my case, but that is sufficient to break the integration with the 3rd party software. Moreover, the failing subroutine is merely an initialization routine that assigns values to members of a user-defined variable so there isn't much debugging to do. This was reported in the following thread which remains unsolved.

Re: IFX 2025 results in forrtl: severe (170): Program Exception - stack overflow error - Intel Community

0 Kudos
andrew_4619
Honored Contributor III
1,771 Views

OK @avinashs I had a read of your thread and this current thread is rather different. It seems you compiled and linked ( a dll ? ) using IFX and experiences a run time issue (stack overflow). There are many reasons to get a stack overflow, the stack requirement is dependant on your source code and the choices the compiler makes in implementing it.  You need to debug the problem and modify the code or compile options.  In my experience  user Fortran for FEA are usually quite short and  relatively simple user routines with a set of defined inputs and outputs. You did not share any code, so no one could give ant advise on that.  Did you make a test driver main program to exercise your user Fortran for example without using the solver?  I suggest you post the source to your original thread.  

0 Kudos
avinashs
New Contributor I
1,765 Views

@andrew_4619  I agree that the current thread is different. My point is only to indicate the kind of problems that are preventing some of us to migrate completely to IFX (though that is the intention). Unfortunately, the real code for the above thread is business confidential and cannot be shared. I am trying to create a reproducer. However, since it works in IFORT and gfortran without error, it is difficult to identify why it fails in IFX.

0 Kudos
andrew_4619
Honored Contributor III
1,728 Views

 "it is difficult to identify why it fails in IFX."  Difficult  a nebulous concept, something is difficult when you don't know how to fix it and easy when you do. In this case it is hard for us users on the forum to know.  Do you know the location of the stack overflow from the traceback? What are the operations of that code area, for example is it a call or does it operate on array slices. It is possible a code construct causes a stack temporary, and  creating that breaks the stack size. A different compiler might make different choices and not create a temporary. A few lines of code around the problem area might  shed some light on the matter. Making a reproducer might be difficult, by the time you have worked that out you will probably already at that point know how to fix it. 

 

 

0 Kudos
Ron_Green
Moderator
1,755 Views

You could try the "-heap-arrays" option.  and in parallel, try "-g -traceback" for a traceback.  Perhaps the statement causing this is not so sensitive that it can be share.

0 Kudos
avinashs
New Contributor I
1,393 Views

@Ron_Green Thanks. I tried the /heap-arrays option with traceback with IFX.

Without the /heap-arrays option, the error message was

Unhandled exception at 0x00007FF7F0DF2947 in MyProgram.exe: 0xC00000FD: Stack overflow (parameters: 0x0000000000000001, 0x0000008B79503000).

With /heap-arrays, the error message in the command window is

forrtl: severe (41): insufficient virtual memory

Image                  PC                                    Routine    Line            Source

MyProgram.exe 00007FF7F0DF2947 Unknown Unknown Unknown
MyProgram.exe 00007FF7F0B61480 A 24 A.f90
MyProgram.exe 00007FF7F0884E7F A.t6022 0 B.f90
MyProgram.exe 00007FF7F08735BD C 419 C.f90
MyProgram.exe 00007FF7F0A278DA MAIN 36 main.f90
MyProgram.exe 00007FF7F0D695AB Unknown Unknown Unknown
MyProgram.exe 00007FF7F0DF2B64 Unknown Unknown Unknown
KERNEL32.DLL 00007FFC18657374 Unknown Unknown Unknown
ntdll.dll 00007FFC1893CC91 Unknown Unknown Unknown

(Program and subroutine names have been changed)

0 Kudos
andrew_4619
Honored Contributor III
1,198 Views

so what happens on line 24 of A.f90 that demands a lot of memory?

0 Kudos
Ron_Green
Moderator
1,193 Views

I am also curious - can you share the statement in A.f90 line 24? 

0 Kudos
avinashs
New Contributor I
1,161 Views

Screenshot below shows the line 24. Simple assignment of a passed character variable job_ to internal variable job that may be subsequently processed. Since this error does not occur with IFORT and the code itself is simple requiring low memory, this is difficult to fathom.

 

Screenshot 2025-09-17 181735.png

0 Kudos
andrew_4619
Honored Contributor III
977 Views

It looks innocuous, I do not see a declaration of job_  in this routine BTW. The problem maybe in the call that passes job_ with the stack being corrupt so in effect it went wrong prior to this line this is just the point it falls over as a result. 

 

0 Kudos
avinashs
New Contributor I
893 Views

@andrew_4619 Thanks for the analysis. The variable job_ is simply a character string passed to the subroutine and declared as

character(len = *) :: job_. The question remains why this simple code, first written in 2003, that has worked with CVF, all ifort versions up to the last, and gfortran, fails with IFX. First, there is stack overflow when /heap-arrays are not used (should not happen because the program is low memory). Second, when /heap-arrays is used, the situation above with insufficient virtual memory occurs.

The issue could be some corruption that occurs with IFX and does not with other compilers. It has been reproduced on 3 computers in Windows 10 and 11.

As mentioned initially in this thread, it is these kinds of situations that have prevented us and some of our software suppliers from switching to IFX.

0 Kudos
andrew_4619
Honored Contributor III
877 Views

I get what you are saying, I have  an optimiser bug that doesn't happen in debug mode, I have isolated it down to a small loop where things go wrong. If I try to instrument (write intermediate data) the problem does not happen. I had an attempt at a small reproducer but I failed to make it fail. I am sure analysis of the code generated would show optimisation is making a bad assumption etc. For now I have reverted back a level on IFX and it is OK but I will go back and look at it again some time soon.  I am sure if I can make a simple reproducer it will get fixed by Intel.

There is a reasonable possibly there is a code generation bug but I also  know from (bitter) past experience that you can have subtly bad code that works OK for years (luck) and then finds you out one day with a new version. Is job_ the only passed var or is there a long list? Any of them could be causing the problem. I can only keep guessing as we only see a small code fragment.

0 Kudos
avinashs
New Contributor I
198 Views

@andrew_4619 and @Ron_Green Thanks again for your help and the suggestion of using /heap-arrays (which I have never had to use so far with CVF or IFORT). I tested the same program from the command prompt using the Intel(R) oneAPI 64 console. This time, without /heap-arrays I continued to get the same error as in MSVSC 2022. However, with /heap-arrays from the command prompt, the code worked correctly and gave the expected results (see below). I calculated the expected max memory of the program by counting the bytes required by all variables and it is only 3.5 MB. So IFX still has a problem from the command line even with low memory requirements for the stack. However, with /heap-arrays, IFX works from the command line with correct results. With MSVSC, IFX fails both with and without /heap-arrays. So perhaps, there is also an issue with the MSVSC and IFX (this error has occured with Windows 10 and 11 on different computers with all IFX versions so it is not a particular installation causing the problem).

 

without /heap-arrays (same error)

C:\Temp\test>a.out
forrtl: severe (157): Program Exception - access violation
Image PC Routine Line Source
a.out 00007FF7B9E619B8 Unknown Unknown Unknown
a.out 00007FF7BA1C2110 Unknown Unknown Unknown
a.out 00007FF7B9E21D07 Unknown Unknown Unknown
a.out 00007FF7BA35AA2B Unknown Unknown Unknown
a.out 00007FF7BA3C9FF0 Unknown Unknown Unknown
KERNEL32.DLL 00007FFBF9477374 Unknown Unknown Unknown
ntdll.dll 00007FFBF975CC91 Unknown Unknown Unknown

with /heap-arrays (no error)

C:\Temp\test>a.out

Temp (C) Compressibility (-) Enthalpy (J/mol)
25 0.994837 -70.7682
15 0.993822 -365.957
5 0.992657 -660.925
-5 0.991314 -955.723
-15 0.989763 -1250.41
-25 0.987961 -1545.06
-35 0.985857 -1839.75
-45 0.98339 -2134.6
-55 0.980477 -2429.71
-65 0.977015 -2725.26
-75 0.97287 -3021.44
-85 0.967862 -3318.49
-95 0.961754 -3616.73
-105 0.954216 -3916.6
-115 0.944789 -4218.67
-125 0.932813 -4523.53
-135 0.917285 -4832.94
-145 0.896626 -5148.48
-155 0.868221 -5472.94
-165 0.827115 -5813.35

 

0 Kudos
andrew_4619
Honored Contributor III
189 Views

"With MSVSC, IFX fails both with and without /heap-arrays. So perhaps, there is also an issue with the MSVSC and IFX (this error has occured with Windows 10 and 11 on different computers with all IFX versions so it is not a particular installation causing the problem)."

 

1] With VS is it a debug build?

2] Are all the command line option in VS the same as outside VS? An option difference my the the trigger for the problem.

 

0 Kudos
Reply