[Numpy-tickets] [NumPy] #497: The dot and inner products fail for large arrays on 64 bit linux using the ATLAS libraries.

NumPy numpy-tickets@scipy....
Wed Apr 11 14:54:24 CDT 2007


#497: The dot and inner products fail for large arrays on 64 bit linux using the
ATLAS libraries.
-----------------------------+----------------------------------------------
 Reporter:  charris          |        Owner:  somebody
     Type:  defect           |       Status:  new     
 Priority:  high             |    Milestone:          
Component:  Other            |      Version:  none    
 Severity:  blocker          |   Resolution:          
 Keywords:  dot inner crash  |  
-----------------------------+----------------------------------------------
Comment (by charris):

 I think this may be an error in the ATLAS libraries. I am running fc5 here
 with the ATLAS libraries installed from extras repository, However, those
 rpms are generated from a script borrowed from Debian, so the problems are
 probably common to both. Anyway, the following c program also generates
 the error:


 {{{
 #include <atlas/cblas.h>

 int main(int argc, char **argv)
 {
     static double a[1000*1000];
     static double b[1000*1000];
     static double c[1000*1000];
     double alpha=1, beta=0;

     cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, 1000, 1000,
 1000,
             alpha, a, 1000, b, 1000, beta, c, 1000);
     return 1;
 }
 }}}

 Compiled with the command line :

 gcc -L/usr/lib64/atlas -lcblas test.c

 and which, when run, delivers:

 $[charris@swamp blasdot]$ ./a.out
 Illegal instruction


 For Debian, I believe lib64 should be replaced by lib. Anyway, I think
 this is either a compiler or ATLAS problem that exhibits itself when the
 arrays get large enough to require blockiing or some such. I compiled with
 gcc version 4.1.1. The program works fine if 1000 is replaced by 10
 everywhere.

-- 
Ticket URL: <http://projects.scipy.org/scipy/numpy/ticket/497#comment:1>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.


More information about the Numpy-tickets mailing list