[MITgcm-support] domain size limit?
Martin Losch
Martin.Losch at awi.de
Tue Dec 3 03:29:44 EST 2013
Hi Ryan,
I can only reproduce the problem with tutorial_barotropic_gyre (and gcc/gfortran 4.9 on OSX 10.9).
By how much do you have to repduce the domain size to make it work?
The simplest solution that I found: instead of sNy=1600 and nSy = 1 use sNy=800 and nSy = 2. It’s a little bit of cheating, isn’t it?
Martin
On Dec 3, 2013, at 6:00 AM, Ryan Abernathey <ryan.abernathey at gmail.com> wrote:
> Dear Super Modelers,
>
> I found a weird error when trying to compile a large domain (500 x 1600 x 1) on a single processor. On the final link stage of the build, I get:
> ld: 32-bit RIP relative reference out of range (2162237024 max is +/-4GB): from _find_beta__ (0x100227200) to _rhoden.4514 (0x18103AE80) in '_find_beta__' from find_alpha.o for architecture x86_64
> The error disappears if I just reduce sNx * sNy. I guess this has something to do with running out of memory address space? Is it weird that "32-bit RIP" is being used even though my platform is 64 bit?
>
> My one weak attempt to overcome this was by adding -fPIC to my FFLAGS. No success.
>
> Is there any way to overcome this problem, or am I hitting some kind of fundamental limit to the domain size?
>
> Thanks for your suggestions,
> Ryan
>
>
> My platform is Mac OX 10.8.5, Intel Core i7, gcc version 4.2.1 (via xcode), gfortran GNU Fortran (GCC) 4.7.1. My optfile is the default darwin_amd64_gfortran.
>
> From my SIZE.h:
> & sNx = 500,
> & sNy = 1600,
> & OLx = 4,
> & OLy = 4,
> & nSx = 1,
> & nSy = 1,
> & nPx = 1,
> & nPy = 1,
> & Nx = sNx*nSx*nPx,
> & Ny = sNy*nSy*nPy,
> & Nr = 1)
>
>
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list