This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Memory for large arrays in cygwin/g77
- From: Mark Hadfield <m dot hadfield at niwa dot co dot nz>
- To: cygwin at cygwin dot com
- Date: Thu, 06 Jan 2005 13:57:34 +1300
- Subject: Re: Memory for large arrays in cygwin/g77
- References: <loom.20050105T235631-949@post.gmane.org>
Dante Chialvo wrote:
I have similar problem than the one posted a while ago in
http://www.cygwin.com/ml/cygwin/2003-02/msg00842.html
Using cygwin/g77, in a PC with 1024 Mb of physical memory.
After compiling and running the following test program
the limit of 160 Mb cannot be surpassed.
implicit double precision (a-h,o-z)
c ny=200 works (160 Mb), > 200 doesnt (message error see beloww)
parameter(nx=100000,ny=300)
dimension a(nx,ny)
c dimension a1(nx,ny)
write(6,*) 'megabytes= ',nx*ny*8/1d6
a(1,1)=1d0
a(nx,ny)=1d0
write(6,*) 'extremes initialized'
end
error message after running
C:\cygwin\home\dchialvo\test.exe (1972): *** MapViewOfFileEx(0x71C, in_h
0x71C) failed, Win32 error 6
I follow each one of the recomendation described here:
http://sources.redhat.com/ml/cygwin/2003-02/msg00234.html
setting the limit at 1024 Mb,etc, the registry shows that there
1024 allocated however the problem persist,
no more than 160 mb can be allocated.
Just to provide another data point, I have the same problem. I have g77,
g95 and grfortran (gfc) installed (see below). With heap_chunk_in_mb set
to 1024, on a machine with 1024 MiB RAM< I can run a simple Fortran
program with an array of up to ~ 1023 MiB. With g77 & gfc the limit is
156 MiB and beyond that it fails with something like
gfctest.exe (844): *** MapViewOfFileEx(0x224, in_h 0x224)
failed, Win32 error 6
Here is an example test program
program main
integer n
parameter (n=40876200)
real a(n)
integer i
do i=1,n
a(i) = i
end do
write (unit=*, fmt=*) a(1), a(n)
end
And here is the -v output for each compiler:
hadfield $ g77 -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs
Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr
--exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-languages=c,ada,c++,d,f77,java,objc,pascal --enable-nls
--without-included-gettext --enable-libgcj --with-system-zlib
--enable-interpreter --enable-threads=posix --enable-java-gc=boehm
--enable-sjlj-exceptions --disable-version-specific-runtime-libs
--disable-win32-registry
Thread model: posix
gcc version 3.3.3 (cygwin special)
hadfield $ gfc -v
Reading specs from
/usr/local/share/irun/bin/../lib/gcc/i686-pc-cygwin/4.0.0/specs
Configured with: ../gcc-4.0-20041114/configure --prefix=/irun
--enable-languages=f95 --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/gmp
Thread model: single
gcc version 4.0.0 20041114 (experimental)
hadfield $ g95 -v
Using built-in specs.
Configured with: ./configure --enable-languages=c --disable-nls
Thread model: single
gcc version 3.5.0 20040824 (experimental) (g95!) Dec 15 2004
> Any suggestions will be appreciatted
Use g95
--
Mark Hadfield "Ka puwaha te tai nei, Hoea tatou"
m.hadfield@niwa.co.nz
National Institute for Water and Atmospheric Research (NIWA)
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/