Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
William Sailor
Total Points:
260
Status Points:
210
Green Belt
July 7, 2009 1:14 PM PDT
Change to 64-bit architecture affects Linking(?)
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
jimdempseyatthecove
Total Points:
34,847
Status Points:
34,847
Black Belt
July 7, 2009 2:51 PM PDT
Rate
 
#1

Bill

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

This does require having the 64-bit compiler installed.

You can build and run both 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

William Sailor
Total Points:
260
Status Points:
210
Green Belt
July 8, 2009 10:24 AM PDT
Rate
 
#2 Reply to #1
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.


tim18
Total Points:
66,397
Status Points:
66,397
Black Belt
July 8, 2009 10:57 AM PDT
Rate
 
#3 Reply to #2
64-bit Windows compilers remain under the 2GB static data limitation.  A far bigger increase is supported in sizes of allocatable arrays.


William Sailor
Total Points:
260
Status Points:
210
Green Belt
July 8, 2009 12:13 PM PDT
Rate
 
#4 Reply to #3
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?


Steve Lionel (Intel)
Total Points:
112,121
Status Points:
112,121
Black Belt
July 8, 2009 12:56 PM PDT
Rate
 
|Best Answer
#5 Reply to #4
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)?



William Sailor
Total Points:
260
Status Points:
210
Green Belt
July 9, 2009 9:03 AM PDT
Rate
 
#6 Reply to #5
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


Steve Lionel (Intel)
Total Points:
112,121
Status Points:
112,121
Black Belt
July 9, 2009 10:32 AM PDT
Rate
 
#7 Reply to #6
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.





Intel Software Network Forums Statistics

8286 users have contributed to 31231 threads and 99107 posts to date.
In the past 24 hours, we have 7 new thread(s) 31 new posts(s), and 43 new user(s).

In the past 3 days, the most popular thread for everyone has been comparison cilk++, openmp, pthreads first results The most posts were made to comparison cilk++, openmp, pthreads first results The post with the most views is Very amusing...  Escalated as

Please welcome our newest member titanius.anglesmith