[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A. Scottedward Hodel
Tue, 28 Jul 1998 13:37:53 -0500
I ran the following code on 1 172x172 matrix:
# truncate acd to 6 digits of precision...
for jj = 1:columns(acd)
eval(["acd(ii,jj) = ",sprintf("%12.6E",acd(ii,jj));]);
After some time into the loop, Octave repeatedly
displays an error message:
"memory exhausted --- trying to return to prompt"
I recall some discussion of this from a month or so ago, but I
don't recall if anyone encountered a solution. It appears that
what's happening is that free memory is getting chopped up into
little pieces and the memory manager eventually can't
allocate a new acd each time through the loop.
What this means is that the total amount of computation I can do in
a single octave run becomes quite limited; is there some way we
can "help" the memory manager? [The import of the question goes far
beyond the code above, which is being used to try to duplicate results
from another package; I've had to modify the OCST code I'm writing
so that the number of calls to "new" is kept as low as possible, otherwise
some code dies after 40-50 iterations on systems of this size...]
Details: Octave-2.1.7 on SunOS; dunamic loading enabled; gcc-2.8.1.
uname -s -n -m -v -r
SunOS eds2 5.6 Generic sun4u
A S Hodel Dept Elect Eng, Auburn Univ,AL 36849-5201
On leave at NASA Marshall Space Flight Center (205) 544-1426
- memory exhausted,
A. Scottedward Hodel <=