[Beowulf] OpenMP on AMD dual core processors
Bill Broadley
bill at cse.ucdavis.edu
Sat Nov 22 15:45:09 EST 2008
Greg Lindahl wrote:
> On Fri, Nov 21, 2008 at 09:38:29AM -0600, Nathan Moore wrote:
>
>> I had a similar problem with gfortran, and it only appeared with large array
>> sizes (bigger than 4000x4000 as I recall). "ulimit" was no help, I assume
>> there's a memory constraint built in somewhere.
>
> With OpenMP the compiler has to set up multiple stacks, and some are
> more clever than others. If you were using the PathScale compiler, for
> example, and overran one of the thread stacks, it would print out an
> error message saying what happened and how to raise that limit.
I see warnings from Pathscale-3.2 when I run 2 8k x 8k arrays of doubles using
1 or 2 threads (but not 4 or 8 threads):
** OpenMP warning: requested pthread stack too large, using 4294967296 bytes
instead
But it still seems to work.
On my machine (with 8GB ram) I can run 2 8k x 8k arrays of doubles without
problem. For runs with 8kx8k arrays, convergence_v = 1, 24 iterations and
gcc-4.3.2 -O3 -fopenmp:
real 3m39.818s
real 2m21.298s
real 2m19.850s
real 1m39.412s
Pathscale-3.2 -O3 -mp:
real 3m10.803s
real 2m24.492s
real 1m43.183s
real 1m20.669s
I believe that arrays in C/Fortran have to be contiguous by default and that
depending on kernel (32 vs 64bit), PAE, and BIOS settings sometimes all
physical memory isn't contiguous.
_______________________________________________
Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the Beowulf
mailing list