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

How to transition from Parallel Studio XE 2011 to oneAPI

sindizzy
New Contributor I
1,263 Views

About a year ago I attempted to transition from our current environment:

Intel Parallel Studio XE 2011 IFORT 12.0.0.104 with VS 2008 and VS 2010

to the early 2023 version of the Fortran compiler in oneAPI.

 

It didn't turn out well at all. Had many exceptions and errors.

So I am going to give it another try but wanted to see if anyone had tips, tricks, or guidelines on how to make the transition go a bit smoother.

 

Thanks

AGP

 

0 Kudos
7 Replies
andrew_4619
Honored Contributor III
1,243 Views

Well that should be quite easy but what problems did you get? One issue might be old code being non-conformant and better code checking says no!

0 Kudos
sindizzy
New Contributor I
1,235 Views

Wow it was 2022 so longer than I had thought initially.

Re: Program compiles then doesn't compile - Page 2 - Intel Community

 

I attempted it two ways: first just open the project with VS2019 and compile. The second was to create a brand new project from scratch and then copy the code over. Both seemed to just crap out with the above issue. I'll be honest here in that I do understand a majority of the switches but some I don't have a clue what they do and how they might affect my program.

0 Kudos
sindizzy
New Contributor I
1,168 Views

Ok I decided to open the old solution with the new Intel® Fortran Compiler Classic 2021.12.0 [IA-32] package and what do you know? No errors with ifort.

 

So my next step was to see what would happen if I switch to ifx and that didn't go well. But thats ok. At least i can take the next step to upgrade to the latest ifort and then from there do a validation run with the processes to make sure all is working as it should.

 

Once Im at a good point with my ifort upgrade I will come back and post my experience.

 

AGP

0 Kudos
mecej4
Honored Contributor III
1,133 Views

IFX generates X64 code, so you should first try to build your application with IFort-X64 (and not IFort-IA32). Resolve any issues with default integers and addresses being not the same size (unlike in 32-bit Ifort). Then try IFX.

0 Kudos
sindizzy
New Contributor I
1,105 Views

That's  great idea. Do you know if there are guides for switching from IFort-IA32 to IFort-X64?

Many Thanks,

AGP

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,062 Views

The main issue is to watch out for old 32-bit code presuming that: INTEGER, DWORD, C_PTR, HANDLE are interchangeable. For x64 they are not. You will need to USE the appropriate module that defines these types, then edit the code to incorporate the appropriate type name.

 

Compiling with interface checking may find most of the offending code. (might miss some cases too).

 

Jim Dempsey

0 Kudos
sindizzy
New Contributor I
1,036 Views

Ok I think I have some homework to do. Ill have to scour the code and see where issues might arise. Thanks for the tip.

0 Kudos
Reply