Q: pgf77 on x86 w/ > 1GB RAM?
Brian
brian at heptane.eng.yale.edu
Tue Jul 24 13:07:37 PDT 2001
Hi Toon,
To me it's been more frustrating than fascinating.. I took your
suggestion, though, and glanced around the linux development newsgroup,
and stumbled across a post from someone with exactly that same code you
wrote... someone else replied to him as follows:
>From: Wolfram Gloger (wmglo at dent.med.uni-muenchen.de)
>Subject: Re: limitation of use RAM memory
>Newsgroups: comp.os.linux.development.system
>Date: 2001-07-03 06:05:26 PST
>"Simone Ceccherini" <ceccherini at iroe.fi.cnr.it> writes:
>> My kernel is compiled with large memory support set to 64 G . ...
>> It seems that there is a limitation in the compiler gcc.
>> Do you know if there is a way to bypass this limitation?
>Your original code had global arrays like
>static float a[134217728];
>static float b[134217728];
>The Linux kernel places shared libraries at 0x40000000 by default, so
>on ix86 you have only about 1GB _total_ for your program code and this
>kind of data. It has nothing to do with gcc.
>Possible solutions: (a) link statically, such that there aren't any
>shared libraries. Or (b) use malloc() to allocate the arrays. That
>should give you about 3GB total (but note that malloc() can't allocate
>a single chunk larger than 2GB).
>Regards,
>Wolfram.
In looking at the code I'm trying to compile, all the variables are
globally defined, too (argh!), and so perhaps that is the problem. This
could be why my test C++ program, dynamically allocating all the memory it
needed, worked fine.
> I've never heard from them since.
I'm glad to know I'm not the only one this has bugged. :)
Also, for the record, I was using pgf77, not g77, so it certainly looks
like it's a universal thing. I imagine if I tried the absoft compiler,
the same would happen.
- Brian
(And thanks to Wolfram Gloger, too!)
More information about the Beowulf
mailing list