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

64-bit compiler

dannycat
New Contributor I
379 Views

I am currently evaluating IVF on a 32-bit laptop, by recompiling a project previously written and developed in Compaq VF. So far I have successfully reproduced the applicationfor 32-bit target machine.

I now want to try to create a 64-bit version but I'm struggling to find any guidance, hence any helpwith the following would be appreciated:

1) How do I access the 64-bit compiler? I have installed it but it does not appear on the Tools/Options/Intel Compilers tab in Visual Studio 2008. The promotional literature implies that I can compile a 64-bit application on a 32-bit machine. (The option does not appear on our 64-bit PC either, I installed Visual Studio 2008 and IVF version 10.25 onto the 64-bitmachine as well to see what happens).

2) What code changes am I likely to have to make once I can access the compiler? The main reason for moving to64-bit is to enable larger allocatable arrays to be used.

3) Am I right in thinking that all external libraries will have to be compiledespecially for64-bit usage?

Again any help will be appreciated.

Thanks

0 Kudos
1 Solution
Steven_L_Intel1
Employee
379 Views

1. First, make sure that you installed "x64 Compiler and Tools" in Visual Studio 2008. This is NOT the default for a "Typical" installation with the Professional Edition or higher. The easiest way to see if you did this is also how you access the 64-bit compiler. Open your Fortran project. Select Build > Configuration Manager. In the dropdown for Active Solution Platform, select New. If you have the x64 support installed, the "Type or select the new platform" field will fill in automatically with "x64". If not, it will be blank. (This process is described in the Fortran documentation in the section on building applications, selecting a target platform.)

If you don't have the x64 support, go to Add/Remove Programs, select Visual Studio 2008, Change, then follow the dialogs to select the support for Visual C++ > x64 Compiler and Tools.

I note that you said that you saw no reference to the x64 compiler in Tools > Options > Intel Fortran. Make sure that you installed the download that has a filename ending in _novsppe.exe. If you chose the _ia32.exe download, you have only the 32-bit compiler.

2. If you are using static, fixed-dimension arrays, you must change them to ALLOCATABLE arrays. Windows does not provide for static code and data larger than 2GB, even on 64-bit Windows. Most Fortran applications will not need other code changes at all. The exceptions include code that calls Win32 APIs (and some DFLIB routines) which pass "handles" - these must be declared as INTEGER(HANDLE) to get the right kind.

3. Yes, all code will have to be recompiled. You cannot mix 32 and 64 bit code in the same application.

View solution in original post

0 Kudos
2 Replies
Steven_L_Intel1
Employee
380 Views

1. First, make sure that you installed "x64 Compiler and Tools" in Visual Studio 2008. This is NOT the default for a "Typical" installation with the Professional Edition or higher. The easiest way to see if you did this is also how you access the 64-bit compiler. Open your Fortran project. Select Build > Configuration Manager. In the dropdown for Active Solution Platform, select New. If you have the x64 support installed, the "Type or select the new platform" field will fill in automatically with "x64". If not, it will be blank. (This process is described in the Fortran documentation in the section on building applications, selecting a target platform.)

If you don't have the x64 support, go to Add/Remove Programs, select Visual Studio 2008, Change, then follow the dialogs to select the support for Visual C++ > x64 Compiler and Tools.

I note that you said that you saw no reference to the x64 compiler in Tools > Options > Intel Fortran. Make sure that you installed the download that has a filename ending in _novsppe.exe. If you chose the _ia32.exe download, you have only the 32-bit compiler.

2. If you are using static, fixed-dimension arrays, you must change them to ALLOCATABLE arrays. Windows does not provide for static code and data larger than 2GB, even on 64-bit Windows. Most Fortran applications will not need other code changes at all. The exceptions include code that calls Win32 APIs (and some DFLIB routines) which pass "handles" - these must be declared as INTEGER(HANDLE) to get the right kind.

3. Yes, all code will have to be recompiled. You cannot mix 32 and 64 bit code in the same application.

0 Kudos
dannycat
New Contributor I
379 Views

Thanks Steve,

once I installed 64 C++ in Visual Studio, I was able to access the FORTRAN x64 compiler.

0 Kudos
Reply