help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Slow BLAS


From: Martin Jansche
Subject: Re: [Help-gsl] Slow BLAS
Date: Sun, 22 Oct 2006 19:32:10 -0400

On 10/22/06, Gong Yi Liao <address@hidden> wrote:

ATLAS takes 56.676 seconds (all the cases including the time for
generating gaussian random numbers) to compute SVD of a 1000 by 1000
matrix (all the cases are computed with the same sizes of the matrix);

GotoBLAS (with multi-threading support) takes 56.587 seconds to compute;

gslcblas takes 56.127 seconds to compute.
[snip, paste]
while, within the popular statistics programming environment, R, it just take
less then ten seconds

I don't think that only changing the BLAS implementation will make
much of a difference, since BLAS does not perform the SVD directly.
You're basically comparing two different SVD implementations: the one
used in GSL (backed by gslcblas, ATLAS, or GotoBLAS) vs. one of the
ones used in R, namely either a modified dsvdc from LINPACK
[http://www.netlib.org/slatec/lin/dsvdc.f], or dgesdd (for real
matrices) from LAPACK.

A quick solution for you might be to write a wrapper around the SVD
routines provided by GSL, LAPACK, or even LINPACK, then try all
combinations of SVD implementation and BLAS libraries.  My guess is
that LAPACK + GotoBLAS will be fastest.

-- mj




reply via email to

[Prev in Thread] Current Thread [Next in Thread]