Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29280 Discussions

Change to 64-bit architecture affects Linking(?)

William_Sailor
Beginner
1,082 Views
I have been using IVF 11.0.072 (and all previous versions) on my 32-bit dell for years and lately converted to a Dell 390 machine which has a 64 bit CPU.

Dumb question: is my fortran still generating 32-bit code. The configuration still says Win32.

What about the libraries that I link to. I may need to change them to 64 bit, right.
I have finally gotten all of my 20k lines of code to compile with the change but it will not link.
Says LNK1181 cannot open input file 'disif.lib' (this is the DISLIN library that used to work ok).

I downloaded the 64 bit version from http://www.mps.mpg.de/dislin/win64.html
and changed the library name in properties/linker/input/additional dependencies to match the new name
and the error was the same. Just the name of the input file it could not open changed.

What is going on? Sorry we have no on-site help here.

Bill Sailor
0 Kudos
1 Solution
Steven_L_Intel1
Employee
1,082 Views
My recollection is that Mac OS X does not have the 2GB static limitation that Windows has. However, wouldn't it be simpler for you to use an allocatable array rather than change platforms (unless you really want a Mac)?

View solution in original post

0 Kudos
7 Replies
jimdempseyatthecove
Honored Contributor III
1,082 Views

Bill

To make 64-bit applications, click on the pull-down to the right of Win32 and select the Configuration Manager, choose , x64, and select Yes on copy from Win32.

This does require having the 64-bit compiler installed.

You can build and runboth 32-bit and 64-bit applications. (.lib, .DLLs come in 32-bit and 64-bit versions)

If everything is in FORTRAN you will likely have little problems. You may have problems where you expect some values to be 32-bit (e.g. HANDLE, pointers etc...)

Jim
0 Kudos
William_Sailor
Beginner
1,082 Views
Thanks. The newest download for 11.1.35 included instructions on how to install the 64 compiler. Had to first read it then follow instructions. I also had to modify MS Visual Studio 2005. After following your tip the codes compiled, linked and ran just fine. Thanks.

I was hoping that by going to 64 bit I could use larger static arrays and produce a bigger executable. Is this feasible on Windows? I know that I am able to do this on RHEL using gfortran and the large memory model.
0 Kudos
TimP
Honored Contributor III
1,082 Views
64-bit Windows compilers remain under the 2GB static data limitation. A far bigger increase is supported in sizes of allocatable arrays.
0 Kudos
William_Sailor
Beginner
1,082 Views
Quoting - tim18
64-bit Windows compilers remain under the 2GB static data limitation. A far bigger increase is supported in sizes of allocatable arrays.

How about if I have my company buy me an intel mac and Intel fortran?
0 Kudos
Steven_L_Intel1
Employee
1,083 Views
My recollection is that Mac OS X does not have the 2GB static limitation that Windows has. However, wouldn't it be simpler for you to use an allocatable array rather than change platforms (unless you really want a Mac)?
0 Kudos
William_Sailor
Beginner
1,082 Views
My recollection is that Mac OS X does not have the 2GB static limitation that Windows has. However, wouldn't it be simpler for you to use an allocatable array rather than change platforms (unless you really want a Mac)?

Hi Steve,

You have encouraged me to briefly look at the allocatable documentation. To my surprise, although you cannot put allocatable variables in common, you can use SAVE, so they can be protected between calls to a subroutine. My former understanding was that this was not possible; SAVE and ALLOCATABLE were mutually exclusive. Some experimentation will be required, but it appears that no platform change is necessary. Thanks.

I have been using the win/intel fortran since it was a microsoft product, all the way through the compac years and until now, and have not made enough use of the premier support. There are many questions, and I will start new threads for separate topics. Some of my problems are with Visual Studio, and I hope you dont mind answering questions on that product, even you dont make it.

Bill Sailor
0 Kudos
Steven_L_Intel1
Employee
1,082 Views
Bill,

You can make ALLOCATABLE variables module variables, which will act a lot like COMMON. Yes, you can make an ALLOCATABLE variable SAVE.

Feel free to ask Visual Studio questions here.
0 Kudos
Reply