[GAP Forum] Memory problem
kksa at math.ku.dk
Fri Feb 29 10:51:12 GMT 2008
As part of a joint project with Bob Oliver and Joana Ventura, I'm using
GAP to do a number of computations. I'm running a loop over several
2-groups for which I want to perform a certain test. For the first group
(SmallGroup(128,313)) the program returns false fairly quickly. Then after
a longer wait, it runs out of memory for the next group
(SmallGroup(128,314)), see the log file attached below. When I try to do
the computation in the reverse order (SmallGroup(128,314) first and then
SmallGroup(128,313)) the same thing happens: The first answer appears
quickly and then after a waiting for some time, GAP runs out of memory
during the computation for the next group.
So here are my questions:
1) How do I increase the permitted memory (the log file suggest the -o
flag, but there also seems to be others -m, -K, -c and -a). Which one(s)
should I use? Should I recompile GAP with some parameters changed?
2) As stated, starting with either of the two groups first produces an
answer quickly. So neither of the two computations in themselves crash
GAP. So in both cases, the computation for group number 2 should also be
doable if a proper garbage collection is done or if there is sufficient
memory, right? Is there a way to force GAP to do a garbage collection?
Naively one should think that doubling the permitted memory should work. I
also tried running the program with the flag -m 1g, but unfortunately the
result is the same: The first answer appears fairly quickly and then after
a long wait GAP crashes. Is there anything else I could do?
best wishes and thanks in advance,
PS If it helps I can send the GAP program used for the computation.
313 1 false
exceeded the permitted memory (`-o' command line option) at
img := One( Range( hom ) );
ImagesRepresentative( map, gen ) called from
func( elm ) called from
List( GeneratorsOfMagmaWithInverses( elms ), function ( gen )
return ImagesRepresentative( map, gen );
end ) called from
ImagesSet( map, elm ) called from
Image( f, Kold ) called from
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
More information about the Forum