maxima performance



Maxima does run in Allegro, which now has various multiprocessing
capabilities.  

The search for appropriate places to use parallelism
in computer algebra has been going on for at least 30 years, with
very limited success.  There are some opportunities for conversion
of symbolic questions into questions in linear algebra where parallel
algorithms have been deployed (numerical routines), so maybe there
will be some hope for the future.  There are parallel Grobner
basis fans, but even best-case linear speedup of an exponential cost
algorithm
tends to have limits.
RJF
 

William Schelter wrote:
> 
>    1) Could maxima realistically benefit from using optimized blas
>       routines, as does octave?
> 
> Maxima does not have much numerical code, for such computations octave
> is better and it is also covered by the GNU license.   It might be
> good to add code to invoke the fortran routines:   I once made a file
> ( src/fortdef.lisp) which set up calls to a subsidiary fortran program
> using xdr data exchange.   I am afraid I dont know if this still works,
> see the example at the end of that file.
> 
>    2) Could maxima realistically benefit from using MPI and running over
>       a cluster?
> 
> I think it will in the long run, and I will be making gcl have multiprocessor
> abilities, sometime in the coming year.    Then we will have to find appropriate
> places to use this in maxima.
> 
>    3) Is there any way to use gcl as a stand-alone compiler, making object
>       files which can be linked with fortran and C object files into the
>       final executable?  It seems as though the way to use gcl to make a ..
> 
> You can of course compile lisp files and load them with 'load'.     If you
> want these to reference some external C or fortran then that C or fortran
> has to be linked into the base image (by adding it to the list of files
> at link time when gcl/maxima is built).     You can compile lisp files and
> link them together:  that is how gcl is built, all the .c files in the lsp and
> cmpnew directories are compiled from .lsp files, and then compiled with gcc
> and then linked into the image.     Any program that is going to run however
> will need things like the garbage collector, storage allocation, bignum routines
> etc linked in ... ie basically the files of gcl.
> 
> Hope this answers the questions at least somewhat.
> 
> william
> 
> 
> 
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima