[Maxima] apparent bug with cmucl compiles to sse2
raymond.toy at stericsson.com
Fri Feb 20 16:45:27 CST 2009
Michel Talon wrote:
> while playing with matrix diagonalization on maxima cmucl,
> using jacobi technique on a macbook i found a problem. Compiling
> eigens-by-jacobi.lisp produces eigens-by-jacobi.ssl2 which runs fast, but
> unfortunately gives false results. On another P4 machine the same gives
> eigens-by-jacobi.xf86 which also runs fast but with apparently correct
> results (i have checked with a Mathematica computation). According to cmucl
> documentation there is a way to disable the sse2 extensions when compiling,
> but i don't know how to access that under maxima with compile_file().
One way is to remove (or move aside) the lisp-sse2.core file. Then
cmucl will fall back to x87. But you can't mix and match the sse2 and
x86 fasl files. If you move the lisp-sse2.core out of the way, you'll
have to rebuild all of maxima.
Anyway, I ran your test after compiling eigens-by-jacobi.lisp for sse2.
I get pretty much the same plot there as I do on a Sun sparc machine.
Can you tell me what the smallest and largest eigenvalues you get? For
sse2, I get:
- 2.045740417937529 and 2.876115587743105
These are exactly the same values on sparc.
What version of cmucl are you using? I did the test using 2009-01.
More information about the Maxima