forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

64bit Salford95
Goto page 1, 2  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General
View previous topic :: View next topic  
Author Message
DanRRight



Joined: 10 Mar 2008
Posts: 2816
Location: South Pole, Antarctica

PostPosted: Tue Apr 22, 2008 7:28 am    Post subject: 64bit Salford95 Reply with quote

Is it really difficult for developers to change some settings in their C/C++ if it was used for creating of their fortran compiler, and produce new 64bit Salford Fortran95 Smile ? I guess it is not harder job then making new Fortran-2003...Our processors are 64bit capable a long ago, 64bit versions
of Windows and Linux exist too. What is the problem here? Some of us really need to break this 1.6GB limit on code virtual space size...
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7926
Location: Salford, UK

PostPosted: Tue Apr 22, 2008 12:44 pm    Post subject: Reply with quote

I assume that you already know about the /3GB switch in boot.ini and the corresponding option in SLINK.

We are currently working on this in order to maximise what you get from the 3GB limit.

There are no plans in the short to medium term to write a 64bit compiler.
Back to top
View user's profile Send private message AIM Address
DanRRight



Joined: 10 Mar 2008
Posts: 2816
Location: South Pole, Antarctica

PostPosted: Wed Apr 23, 2008 7:11 am    Post subject: Reply with quote

If I would be with Salford, then as soon as 64bit extension appeard several years ago when AMD implemented it and then Intel copied, I'd definitely make first 64-bit compiler for Windows.

And advertized it as hell.

This would be specifically beneficiary for Salford Fortran since it is the only in the world compiler which has Virtual Common. This VC mechanism allows virtually access 4 billion times more memory really using just tiny portion of real memory (what practicaly takes place in many cases).

Not yet lost opportunity Smile

Of course, there exist other things to do. Like optimizing FTN95 speed on benchmarks. Or implementing new Fortran Standard. Or OO. Or parallelization.

But that 64bitness sounds soooo appealing. And actually not a high-energy physics or brain surgery. Am I wrong? Smile
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7926
Location: Salford, UK

PostPosted: Wed Apr 23, 2008 8:08 am    Post subject: Reply with quote

No its quite easy really!
Back to top
View user's profile Send private message AIM Address
Andrew



Joined: 09 Sep 2004
Posts: 232
Location: Frankfurt, Germany

PostPosted: Wed Apr 23, 2008 1:19 pm    Post subject: Reply with quote

Shocked
Back to top
View user's profile Send private message
Paul E



Joined: 21 Jul 2009
Posts: 6
Location: Crowthorne

PostPosted: Fri Aug 07, 2009 2:10 pm    Post subject: Re: Reply with quote

PaulLaidler wrote:
I assume that you already know about the /3GB switch in boot.ini and the corresponding option in SLINK.

We are currently working on this in order to maximise what you get from the 3GB limit.

There are no plans in the short to medium term to write a 64bit compiler.


What are these swtiches. I am currentl;y having problems compliling programs on the 64-bit XP system and these may help me.

Paul E
Back to top
View user's profile Send private message Visit poster's website
JohnHorspool



Joined: 26 Sep 2005
Posts: 270
Location: Gloucestershire UK

PostPosted: Fri Aug 07, 2009 2:29 pm    Post subject: Reply with quote

Paul,

The 3GB switch only applies to the 32bit version of XP.

I use XP64 and do not experience any problems using FTN95, so you'll have to be a little more descriptive of your particular problems if someone is going to help you.

regards,
John
Back to top
View user's profile Send private message Visit poster's website
Paul E



Joined: 21 Jul 2009
Posts: 6
Location: Crowthorne

PostPosted: Fri Aug 07, 2009 2:43 pm    Post subject: Re: Reply with quote

JohnHorspool wrote:
Paul,

The 3GB switch only applies to the 32bit version of XP.

I use XP64 and do not experience any problems using FTN95, so you'll have to be a little more descriptive of your particular problems if someone is going to help you.

regards,
John


John,

I have seen others with the same issue

Try to compile - Compiler opens and then fails with:
Access violation at address00538571 attempted to write to location 7fff0000

There is then a mention that the compiler was trying to access memory above 2GB but no solutions have been proposed to stop it doing this.
Programs complied on a 32-bit OS PC will run on the 64-bit PC but I cannot compile programs on the 64-bit OS

Paul E
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7926
Location: Salford, UK

PostPosted: Fri Aug 07, 2009 3:42 pm    Post subject: Reply with quote

Try searching for 3GB in this forum and (I think) in the FTN95 help file.
Back to top
View user's profile Send private message AIM Address
JohnHorspool



Joined: 26 Sep 2005
Posts: 270
Location: Gloucestershire UK

PostPosted: Fri Aug 07, 2009 11:31 pm    Post subject: Reply with quote

Quote:
I cannot compile programs on the 64-bit OS


well I can only state that in 18 months of using win XP64 I have never had any problem using the 32bit Silverfrost FTN95 compiler, the program applications created work fine on 32bit or 64bit windows systems and I have even got them to run in Ubuntu Linux 64bit under "wine", and I'm not talking of simple "noddy" applications, but programs incorporating a standard windows interface using "winio@" with both GDI and OpenGL graphics.

However the fact the compiler was trying to access memory above 2GB I find to be very strange behaivour, I cannot understand this.

Does a very simple program like:-

Code:

      program hello

      write(6,*)'Hello World"

      stop
      end


also fail in the same fashion?
Back to top
View user's profile Send private message Visit poster's website
DanRRight



Joined: 10 Mar 2008
Posts: 2816
Location: South Pole, Antarctica

PostPosted: Sun Aug 09, 2009 11:10 pm    Post subject: Re: 64bit Salford95 Reply with quote

DanRRight wrote:
Is it really difficult for developers to change some settings in their C/C++ if it was used for creating of their fortran compiler, and produce new 64bit Salford Fortran95 Smile ? I guess it is not harder job then making new Fortran-2003...Our processors are 64bit capable a long ago, 64bit versions
of Windows and Linux exist too. What is the problem here? Some of us really need to break this 1.6GB limit on code virtual space size...


My question and ultimate wish was about virtual memory allocation under Win64, not about running Win32 under Win64. Basically what i want is what FTN77 did when 16bit compilers only existed. It allowed to reach 32bit memory limit having only 1 MB of actual RAM installed. None of other compilers were able to do that. DEC (then Compaq/Intel) or Microsoft compilers then were light years behind FTN77, able to have maximum the physical memory size only.

Now in many respects FTN95 is not as much ahead and other compilers are also far from lagging. If you interested what 64bit Intel Fortran is doing here is some info from Steve Lionel, one of developers of Intel Fortran and big fan and strong promoter of their compiler

Me> What is 64bit Intel Visual Fortran actual RAM limit under 64bit OS like Vista? Is it also processor-limited?

SL> The compiler imposes no limit of its own. You have available whatever Windows chooses to make available to you. Some things to be aware of:

- There are two flavors of Windows Vista, 32-bit and 64-bit. It is not correct to describe Vista as 64-bit without noting that you mean the "x64" variant
- Even 64-bit Windows limits static code and data to 2GB. This means that you can't simply declare a 4GB COMMON, for example. Use dynamic allocation (ALLOCATABLE, etc.) to create large arrays.
- The default stack size is still 1MB and has a practical limit of 1GB. If the compiler needs to create an array copy on the stack, this can be a problem. The /heap-arrays option may help.
- Visual Studio 2005/2008 Professional Edition (and higher) does not install x64 support by default, even on a 64-bit system. You have to choose a Custom install and select the Visual C++ > x64 Compiler and tools component. You can also do a "Change" of Visual Studio to add the component later. Standard and Premier Partner Editions install x64 support by default.
- The default platform in Visual Studio is 32-bit, even on a 64-bit system. To get 64-bit, you have to create a new "x64" configuration in the Configuration Manager.
- Do not confuse RAM (physical memory) with virtual memory. Virtual memory is what you get more of with a 64-bit platform. More physical memory improves performance.

Me> Can there still be many static arrays of 2GB declared ? In 32bit we could only declare one (and actually around 1.6GB max. The whole program also can not occupy by itself more that 1.6GB).

SL> The limit is on image sections, so no, multiple arrays are still in one image section. Use ALLOCATABLE.

Me> Does Linux also have similar restrictions on static array size 2GB?

SL> No, but you must use "-mcmodel medium" or "-mcmodel large" (if the code will be big).
Back to top
View user's profile Send private message
Sebastian



Joined: 20 Feb 2008
Posts: 177

PostPosted: Mon Aug 10, 2009 7:32 am    Post subject: Reply with quote

Quote:
Even 64-bit Windows limits static code and data to 2GB. This means that you can't simply declare a 4GB COMMON, for example. Use dynamic allocation (ALLOCATABLE, etc.) to create large arrays.

This is the main point I'd like to see the silverfrost ftn95 compiler to add compilation into 64bit x86 code. A below-4GB limit for memory allocations surely is not future proof, but the official statements are quite disappointing.
Back to top
View user's profile Send private message
JohnCampbell



Joined: 16 Feb 2006
Posts: 2554
Location: Sydney

PostPosted: Wed Aug 12, 2009 6:50 am    Post subject: Reply with quote

Dan's indication that Steve Lionel said
Quote:
Even 64-bit Windows limits static code and data to 2GB
is a worry. Surely this is a limitation of the linker and hopefully could be eliminated one day.

Paul's claim that
Quote:
No its quite easy really!
is very encouraging and something to look forward to !!

John
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7926
Location: Salford, UK

PostPosted: Wed Aug 12, 2009 7:24 am    Post subject: Reply with quote

Apparently my attempt at sarcasm did not work.

My understaning at the moment is that FTN95 cannot be modified to create a 64 bit compiler and would need to be substantially reworked. We are not in a position to commit to this exercise though I will keep an open mind.

If 64 bit addressing is essential to your project then you should not begin to use FTN95 or at least use it for testing purposes only (i.e. use CHECKMATE to advantage). If you do use FTN95 initially or for testing then make sure that you confine your code to standard Fortran.
Back to top
View user's profile Send private message AIM Address
Sebastian



Joined: 20 Feb 2008
Posts: 177

PostPosted: Wed Aug 12, 2009 12:58 pm    Post subject: Reply with quote

Quote:
If 64 bit addressing is essential to your project then you should not begin to use FTN95

"should not begin" is a bit tricky for a years-old large ClearWin+ application that is supposed to be carried over to today's standards (large memory requirements in this case). Any advice on how to achieve this, like how to handle a large number of arrays where each single array is below 2GB, is welcome. Yet 64bit addressing seems unavoidable.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General All times are GMT + 1 Hour
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group