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.

porting to 64 bit

tant
Beginner
518 Views

I am using Intel Fortran9.1and VS 2005. I need to portacpu intensiveFortran application to 64 bit torun larger problemsand hopefully gain additional speed. I have used OpenMP toutilize more cores.I understand that in Visual Studio 2005, I need to change the Build environment to x64, recompile and relink. May I ask what other compiler options or data defaults type do I have to change or are these automatically done by the x64 option?

I see there is a Webinar that Steve Lionel posted a couple of years ago on porting to 64 bit. Is this still accessible? I would be very grateful if you could tell me if there are articles or reports available from Intelon how to port from32 bit to 64 bit and what dangers or pitfalls to look out for.

Thanks in advance,

Thomas

0 Kudos
2 Replies
Steven_L_Intel1
Employee
518 Views
In most cases you don't need to do anything special. The major issue to watch for is if you are calling non-Fortran interfaces such as Win32 API routines where arguments are 64-bits in the x64 environment (handles, for example.) If you declare these using the types in IFWINTY, you'll be ok, for example, INTEGER(HANDLE). If you have INTEGER*4 instead, you'll get errors.

Note that data types do NOT change in the 64-bit environment. Default integer and real is still 32 bits. 64-bits refers to the virtual address size, though this environment also makes 64-bit integer computations more efficient.

Sorry, I don't have that old webinar around any more.
0 Kudos
jimdempseyatthecove
Honored Contributor III
518 Views

Thomas,

My experience of converting a large solution (several 100's of files) was relatively easy. As Steve mentioned there were a few problems in code that was sensitive to the size of an integer. For my code to my code this was not a problem. However for my code to library there were a few instances where improper typing worked in 32-bit mode but failed in 64-bit mode.

Most of the problems were detected by the x64 interface declarations but some were not.

Jim Dempsey

0 Kudos
Reply