Path: news.mathworks.com!not-for-mail
From: "John D'Errico" <woodchips@rochester.rr.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: SuiteSparseQR: a multithreaded multifrontal sparse QR factorization
Date: Thu, 25 Sep 2008 10:32:01 +0000 (UTC)
Organization: John D'Errico (1-3LEW5R)
Lines: 21
Message-ID: <gbfpb1$4lv$1@fred.mathworks.com>
References: <gbek0n$697$1@fred.mathworks.com>
Reply-To: "John D'Errico" <woodchips@rochester.rr.com>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1222338721 4799 172.30.248.37 (25 Sep 2008 10:32:01 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Thu, 25 Sep 2008 10:32:01 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 869215
Xref: news.mathworks.com comp.soft-sys.matlab:491930


"Tim Davis" <davis@cise.ufl.edu> wrote in message <gbek0n$697$1@fred.mathworks.com>...
> I would like announce the release of a new multithreaded multifrontal sparse QR factorization package, SuiteSparseQR.
> Parallelism is exploited both in the BLAS and across
> different frontal matrices using Intel's Threading Building Blocks, a shared-memory programming model for modern multicore architectures.  SuiteSparseQR can obtain a substantial fraction of the theoretical peak performance of a multicore computer.  The package is written in C++ with user interfaces for MATLAB, C, and C++.
> 
> Its MATLAB interface is upward-compatible with the qr function in MATLAB and x=A\b when A is rectangular.  It can also handle complex matrices, and it can return Q as a concise set of sparse Householder vectors in a MATLAB struct (nnz(Q) can very high for Q as a matrix; by contrast, nnz(Q.H) is often less than nnz(R)).
> 
> You can download the code here (with a GNU GPL license):
> 
> http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12233&objectType=FILE
> 
> For one matrix from the European Space Operations Center
> (ESOC) in Germany, x=A\b in MATLAB takes almost 19 hours.
> Speed is important for this problem since this is just
> one part of the reprocessing of 15 years of data.
> 
> SuiteSparseQR cuts the time from 19 hours to 6.5 minutes on one core, and 70 seconds on 16 cores.  That's an algorithmic speedup of 175, a parallel speedup of 5.5, and a total speedup of almost 1000.  This result is not special; other large matrices see the same speedup.  Memory usage is cut quite a bit too, which is important because it means larger problems can be solved ... in this case it could mean giving better orbital estimates of the satellites being tracked.

NEAT!

John