Re: memory problem, I guess
- From: garba07@xxxxxxxxx
- Date: Sun, 17 Jun 2007 16:47:15 -0000
On Jun 14, 11:46 am, Steven Correll <steven.corr...@xxxxxxxxx> wrote:
On Jun 8, 3:33 am, garb...@xxxxxxxxx wrote:
[...]garb...@xxxxxxxxx wrote:
I'm using the four1 subroutine to find the Fourier transform of a big
data. If I use part of the data I'm getting the right transform. But
when trying to find the transform of the whole data, I'm getting an
error message. I searched the web and found that the error message is
associated with memory. Can some one tell me how I can use four1 to
make a transform of a really large array?
I'm using from numerical recipes in Fortran 77 and I'm using the gnu
software cygwin which enables you to run linux in windows.
Below is the error message I'm getting when I increas my array size:
/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccrPBGnO.s: Assembler
messages:
/cygdrive/c/DOCUME~1/user/LOCALS~1/Temp/ccrPBGnO.s:19: Error: attempt
to move .org backwards
A google search for "numerical recipes fortran 77 four1" gave me the
URL "http://www.nr.com/forum/showthread.php?t=315", and I'll guess
that's the code you're talking about. Your error message looks like it
comes from an assembler, so I'll also guess that the problem occurs
while you're compiling, not while you're executing the program (it
would have been good to specify that.) The worthy suggestions you
received from others (increasing stack size, using valgrind) are
appropriate for execution problems, but not for compilation problems.
My guess is that you have declared an array or a set of arrays that
are so large that the assembler's data section counter (the ".org" in
the message) has overflowed, wrapped around, and thus appears to have
decreased.
Some questions that might help you figure out the problem:
What are the declarations (type and dimensions) of the arrays you're
trying to use (it would have been good to specify that)?
Are you using a 32-bit or 64-bit environment (it would have been good
to specify that)?
Does the number of bytes in your arrays, taken together, exceed the
value of a signed integer in that environment?
If you're on a 64-bit machine, is it possible that Cygwin and whatever
compiler you're using (it would have been good to specify that) are
nevertheless restricted to a 32-bit environment?- Hide quoted text -
- Show quoted text -
Thankyou Steven,
The array I'm using is 2-dim (like the xy-plane) and I'm looking for
the fourier transform of each grid point, i.e. for each i (x-index)
and j(y-index). That makes the size of the array too large as I want
to see the transform after sufficiently large time. The square is 150
by 150 and I want the time to go upto 2^18-2^20.
I don't have much knowledge about the bit environment but I am using
AMD athlon 64 which I guess is 64-bit machine. As to the compiler I
tried both g77 and f77.
thanks a lot once again.
.
- Follow-Ups:
- Re: memory problem, I guess
- From: Jan Vorbrüggen
- Re: memory problem, I guess
- References:
- memory problem, I guess
- From: garba07
- Re: memory problem, I guess
- From: Rich Townsend
- Re: memory problem, I guess
- From: garba07
- Re: memory problem, I guess
- From: Steven Correll
- memory problem, I guess
- Prev by Date: Re: How can I use muti- projects in one program?
- Next by Date: F77 postscript subroutine
- Previous by thread: Re: memory problem, I guess
- Next by thread: Re: memory problem, I guess
- Index(es):
Relevant Pages
|