Errors in single-precision BLAS (libatlas3gf-sse)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
atlas (Debian) |
Fix Released
|
Unknown
|
|||
atlas (Ubuntu) |
Fix Released
|
Medium
|
Morten Kjeldgaard |
Bug Description
At least the single-precision complex arithmetic in libatlas3gf-sse 3.6.0-22ubuntu2 yields completely invalid results. A test program demonstrating the errors is attached.
This issue appears to be specific to the SSE version of Atlas.
Would it be possible to add some sanity checks to Ubuntu/Debian's Atlas build, so that this type of problems would be detected and hosed packages wouldn't make it into distribution? Atlas is an important component in many scientific applications, and bugs in the shipped version will affect many programs down the stream.
***
Example of output from the simple test program on this platform:
$ gfortran -o test test.f -lblas
$ ldd test
linux-gate.so.1 => (0xffffe000)
libblas.so.3gf => /usr/lib/
libgfortran.so.3 => /usr/lib/
libm.so.6 => /lib/tls/
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7add000)
libc.so.6 => /lib/tls/
/lib/ld-linux.so.2 (0xb7fb8000)
$ ./test # this uses libatlas3gf-sse 3.6.0-22ubuntu2
failure
- complex*8: ( 4.0000000 , 6.9998479 )
- complex*16: ( -4.0000000000000000 , 12.000000000000000 )
$ LD_PRELOAD=
success
$ LD_PRELOAD=
success
ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 9.04
NonfreeKernelMo
Package: libatlas3gf-sse 3.6.0-22ubuntu2
ProcEnviron:
LC_COLLATE=C
PATH=(custom, user)
LANG=fi_FI.UTF-8
SHELL=/bin/bash
SourcePackage: atlas
Uname: Linux 2.6.28-11-generic i686
Related branches
Changed in atlas (Ubuntu): | |
assignee: | nobody → Morten Kjeldgaard (mok0) |
Changed in atlas (Debian): | |
status: | Unknown → New |
Changed in atlas (Ubuntu): | |
status: | New → Confirmed |
Changed in atlas (Ubuntu): | |
importance: | Undecided → Medium |
Changed in atlas (Debian): | |
status: | New → Fix Released |
Changed in atlas (Ubuntu): | |
status: | Confirmed → Fix Released |
I have confirmed the bug on my 9.04 rc system, upgraded yesterday from 8.10. I get the failure with Pauli's test program. I ran into the problem when I tried to build numpy from svn--it failed nosetests using complex variables in linalg. I routinely built from svn using 8.10, with no such problem. This is puzzling because it looks like the atlas library has not been recompiled since 2004.
I'm using libatlas3gf-sse2 package.