Robert G. Brown
Thu, 10 May 2007 14:13:12 -0700
On Thu, 10 May 2007, Toon Moene wrote:
Robert G. Brown wrote:I am (as you may well know) extremely fortran averse. However, a researcher in our department has recently asked what the current limits are on the size of an array in modern fortran(s) under linux. I suppose he'd like an answer for both 32 and 64 bit systems. From what I have been able to google out, it looks like the answer is 2^31 bytes in 32 bit systems and as big as the hardware permits less maybe a GB in 64 bit systems. Is this correct? Any fortran experts out there? I'd be happy for answers for more than one compiler, of course -- I'd guess that e.g. pathscale might have a greater capacity than e.g. gfortran than g77 legacy...I think the easiest way is to use the Fortran program I once wrote to test the limits on g77 (attached) and keep enlarging NSIZE until the program complains.
Yeah, I had that handy (thanks for the new copy though:-) but that requires having a really big memory machine to run it on, though. Which begs the question -- which ULTIMATELY is: Is there any point in Steffen (Bass) buying a Really Big Memory Machine (RBMM) to run his old fortran codes if there is some advantage to him in speed or otherwise from being able to run larger computations? The answer (from several people now) seems like it is "Yes, if you have a compiler that supports the medium memory model" e.g. PGI or pathscale, to name two that do. And a 64 bit system, of course. Medium memory seems to be 32 bit (2GB limit) on code, which (as was recently discussed on list at length) is enough to handle all but a set of near-zero measure of all code ever written and 64 bits of data, which is near enough to being infinite as to make no never mind. Except that it really isn't 64 bits -- IIRC it is either 40 or 48 at the moment -- but what the heck 40 bits is still a terabyte and hence infinite. I found this site: http://www.ualberta.ca/CNS/RESEARCH/LinuxClusters/64-bit.html which actually answers nearly all of the questions one might have. 64-bit gfortran supports -mcmodel=medium (and 32-bit returns an error if you try it). I suspect that all of the g90/g95 compliant compilers will support at least medium memory models, and only Intel's apparently supports large (which are the nearly-useless >2GB code programs etc). rgb
Kind regards,
-- Robert G. Brown http://www.phy.duke.edu/~rgb/ Duke University Dept. of Physics, Box 90305 Durham, N.C. 27708-0305 Phone: 1-919-660-2567 Fax: 919-660-2525 email:[EMAIL PROTECTED] _______________________________________________ Beowulf mailing list, Beowulf@beowulf.org To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf