More efficient MEX or MEX-like interface

David Bateman David.Bateman at motorola.com
Tue Sep 30 03:51:35 CDT 2008


Fredrik Lingvall wrote:
> Does this mean that BLAS/LAPACK expects complex data stored in the same
> way as complex data is currently stored in Octave?
>   
Yes, Octave calls lapack/blas functions like [cz]GEMM, for complex 
arguments. Greping the matlab libraries with

nm -C --dynamic  libmwnumerics.so | grep [gG][eE][mM][mM]

gives

                 U dgemm_
                 U sgemm_
                 U zgemm_

So it appears that the double precision complex matrix multiple is 
linked in but the single precision version isn't. I'd think this means 
that in fact ZGEMM is used by the SuiteSparse code (which doesn't have 
single precision), and that in fact matlab internally uses four calls to 
DGEMM on the real and imaginary parts of the matrix to simulate ZGEMM as 
that means that they never explicitly have to form the complex matrix. 
Given the speed differences (or lack thereof) for such operations 
between Octave and Matlab I believe that pretty much confirms what they do.

Regards
David


-- 
David Bateman                                David.Bateman at motorola.com
Motorola Labs - Paris                        +33 1 69 35 48 04 (Ph) 
Parc Les Algorithmes, Commune de St Aubin    +33 6 72 01 06 33 (Mob) 
91193 Gif-Sur-Yvette FRANCE                  +33 1 69 35 77 01 (Fax) 

The information contained in this communication has been classified as: 

[x] General Business Information 
[ ] Motorola Internal Use Only 
[ ] Motorola Confidential Proprietary



More information about the Octave-maintainers mailing list