[Bug 406520] [NEW] libatlas3gf-sse2 zgemv function gives wrong result
FP
Fabrice.Pardo at lpn.cnrs.fr
Wed Jul 29 17:57:05 UTC 2009
Public bug reported:
Binary package hint: libatlas3gf-sse2
The blas matrix-vector complex product is completely broken if using
sse2 even for very small matrix.
The consequences for lapack, python numpy.linalg functions, etc. are
catastrophic.
Here a very simple t.f FORTRAN program showing the bug
program sse2_bug
complex*16 cmone
complex*16 a(2,2)
complex*16 x(2)
complex*16 y(2)
cmone = (1.,0.)
a(1,1) = (1.,0.)
a(2,1) = (0.,0.)
a(1,2) = (0.,0.)
a(2,2) = (1.,0.)
x(1) = (0.,3.)
x(2) = (1.,0.)
y(1) = (0.,0.)
y(2) = (1.,0.)
call zgemv('n',2,1,cmone,a,2,x,1,cmone,y,1)
write(*,*) y(1)," == 3j"
end
Compilation :
gfortran -o t t.f -lblas
Buggy lib:
ldd ./t | grep libblas.so
libblas.so.3gf => /usr/lib/sse2/atlas/libblas.so.3gf (0xb7a8a000)
./t
( 0.0000000000000000 ,-1.25759005142687227E-038) == 3j
Non-sse2 libs give correct result:
(export LD_LIBRARY_PATH=/usr/lib/sse/atlas ; ./t)
( 0.0000000000000000 , 3.0000000000000000 ) == 3j
(export LD_LIBRARY_PATH=/usr/lib/atlas ; ./t)
( 0.0000000000000000 , 3.0000000000000000 ) == 3j
Description: Ubuntu 9.04
Release: 9.04
libatlas3gf-sse2:
Installed: 3.6.0-22ubuntu2
Candidate: 3.6.0-22ubuntu2
Version table:
*** 3.6.0-22ubuntu2 0
500 http://ftp.free.org jaunty/universe Packages
100 /var/lib/dpkg/status
** Affects: atlas (Ubuntu)
Importance: Undecided
Status: New
--
libatlas3gf-sse2 zgemv function gives wrong result
https://bugs.launchpad.net/bugs/406520
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
ubuntu-bugs at lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
More information about the universe-bugs
mailing list