Re: memory problem, I guess
- From: Steven Correll <steven.correll@xxxxxxxxx>
- Date: Thu, 14 Jun 2007 15:46:04 -0000
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?
.
- Follow-Ups:
- Re: memory problem, I guess
- From: garba07
- Re: memory problem, I guess
- From: Richard Maine
- 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
- memory problem, I guess
- Prev by Date: Re: calling subroutines with sub-arrays
- Next by Date: Redefinition of index variable in input implied do loop -- legal?
- Previous by thread: Re: memory problem, I guess
- Next by thread: Re: memory problem, I guess
- Index(es):
Relevant Pages
|