Re: Eigenvalues of a difficult matrix (storage for CONS is exhausted)



Francesco Poli wrote:

> On 2002.05.11 00:05 +0400 Vadim V. Zhytnikov wrote:
> > Maximal amount of memory GCL can allocate is determined at compile
> > time. By default it is 32*1024 pages (page size may be different on
> > different systems)
>
> What's the page size on a GNU/Linux system (IA32 architecture, actually
> AMD Athlon CPU)?
>
> > which amounts to 128Mb of RAM with 4K page. If you really want more
> > RAM
> > for your computations you should rebuild GCL with
> >  ./configure --enable-maxpage=64*1024
> > or even more.
>
> I compiled with --enable-maxpage=256*1024
> Not enough? :-o
>
> Central memory is 2 Gibyte wide...
> So perhaps I can push it to --enable-maxpage=512*1024
> 512*1024*4096 byte = 2 Gibyte
> Supposing page size is 4 Kibyte...
> However there are many other processes running: I cannot assume that
> all the core is available to Maxima and GCL...
>
> > I also recommend to preallocate memory when Maxima or GCL starts.
> > This dramatically improves speed especially for large computations.
> > Create the file init.lsp and put it in your working directory.
>
> I tried to look at the output with
>
> (setq si::*notify-gbc* t)
>
> I saw CONS, RELOCATABLE-BLOCKS and FIXNUM garbace collection messages.
> I thought I should increase preallocation for this page types above the
> values I see in messages (right?).
> After some test, I exagerated:
>
> (progn
>     (si::allocate-relocatable-pages 20000 t)
>     (si::allocate 'cons 200000 t)
>     (si::allocate 'fixnum 10000 t)
>     #-gmp (si::allocate 'cfun 200 t)
>     #+gmp (si::allocate 'cfun 1000 t)
>     (si::allocate 'symbol 100 t)
>     #+gmp (si::set-gmp-allocate-relocatable t)
>     (setq si::*notify-gbc* t)
>     )
>
> Thus I got the following error just at Maxima startup:
>
> GCL (GNU Common Lisp)  Version(2.4.0) Mon May  6 15:54:33 CEST 2002
> Licensed under GNU Library General Public License
> Contains Enhancements by W. Schelter
> Loading init.lsp
>
> Unrecoverable error: Can't allocate.  Good-bye!.
> Aborted
>
> I tried with mid-values:
>
> (progn
>     (si::allocate-relocatable-pages 10000 t)
>     (si::allocate 'cons 100000 t)
>     (si::allocate 'fixnum 5000 t)
>     #-gmp (si::allocate 'cfun 200 t)
>     #+gmp (si::allocate 'cfun 1000 t)
>     (si::allocate 'symbol 100 t)
>     #+gmp (si::set-gmp-allocate-relocatable t)
>     (setq si::*notify-gbc* t)
>     )
>
> I got Maxima running and launched a part of my difficult eigenvalue
> calculation...
> I'm getting much fewer garbage collection messages than before...
>
> What does all this mean?
>
> Now what can I do?
>
> TNX 1E+06 for your reply!  :-)

Well, this probably means that you have _really_ complicated
problem.
I can easily imagine problems which no any modern computer can
handle.  So maybe it is good idea to simplify it before applying
brute force with any CAS.  Other alternative - try Maxima with
CMUCL.
CMUCL is fast (not much faster than GCL) and as far as I suspect
is
better in memory management.

>
> --
>        Francesco Poli    <frx@firenze.linux.it>
> ===================================================
>    "May the Source be with you!"  -- Eric S. Raymond
>
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima

--
     Vadim V. Zhytnikov

      <vvzhy@mail.ru>
    <vvzhy@td.lpi.ac.ru>
     <vvzhy@yandex.ru>