<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/236516</link>
    <title>MATLAB Central Newsreader - SuiteSparseQR: a multithreaded multifrontal sparse QR factorization</title>
    <description>Feed for thread: SuiteSparseQR: a multithreaded multifrontal sparse QR factorization</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Wed, 24 Sep 2008 23:55:03 -0400</pubDate>
      <title>SuiteSparseQR: a multithreaded multifrontal sparse QR factorization</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/236516#601968</link>
      <author>Tim Davis</author>
      <description>I would like announce the release of a new multithreaded multifrontal sparse QR factorization package, SuiteSparseQR.&lt;br&gt;
Parallelism is exploited both in the BLAS and across&lt;br&gt;
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++.&lt;br&gt;
&lt;br&gt;
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)).&lt;br&gt;
&lt;br&gt;
You can download the code here (with a GNU GPL license):&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12233&amp;objectType=FILE&quot;&gt;http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12233&amp;objectType=FILE&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
For one matrix from the European Space Operations Center&lt;br&gt;
(ESOC) in Germany, x=A\b in MATLAB takes almost 19 hours.&lt;br&gt;
Speed is important for this problem since this is just&lt;br&gt;
one part of the reprocessing of 15 years of data.&lt;br&gt;
&lt;br&gt;
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.</description>
    </item>
    <item>
      <pubDate>Thu, 25 Sep 2008 10:32:01 -0400</pubDate>
      <title>Re: SuiteSparseQR: a multithreaded multifrontal sparse QR factorization</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/236516#602017</link>
      <author>John D'Errico</author>
      <description>&quot;Tim Davis&quot; &amp;lt;davis@cise.ufl.edu&amp;gt; wrote in message &amp;lt;gbek0n$697$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; I would like announce the release of a new multithreaded multifrontal sparse QR factorization package, SuiteSparseQR.&lt;br&gt;
&amp;gt; Parallelism is exploited both in the BLAS and across&lt;br&gt;
&amp;gt; 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++.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 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)).&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; You can download the code here (with a GNU GPL license):&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12233&amp;objectType=FILE&quot;&gt;http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=12233&amp;objectType=FILE&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; For one matrix from the European Space Operations Center&lt;br&gt;
&amp;gt; (ESOC) in Germany, x=A\b in MATLAB takes almost 19 hours.&lt;br&gt;
&amp;gt; Speed is important for this problem since this is just&lt;br&gt;
&amp;gt; one part of the reprocessing of 15 years of data.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; 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.&lt;br&gt;
&lt;br&gt;
NEAT!&lt;br&gt;
&lt;br&gt;
John</description>
    </item>
    <item>
      <pubDate>Thu, 25 Sep 2008 21:10:17 -0400</pubDate>
      <title>Re: SuiteSparseQR: a multithreaded multifrontal sparse QR factorization</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/236516#602173</link>
      <author>Thomas Clark</author>
      <description>Its pretty difficult to express wonder and joy through the newsreader... But believe me, they're being felt.&lt;br&gt;
&lt;br&gt;
Thanks for all your good work on this subject Tim, I've learned a lot from watching your posts here and through your FEX submissions.&lt;br&gt;
&lt;br&gt;
Kindest regards :)&lt;br&gt;
&lt;br&gt;
Tom Clark</description>
    </item>
    <item>
      <pubDate>Fri, 26 Sep 2008 10:51:02 -0400</pubDate>
      <title>Re: SuiteSparseQR: a multithreaded multifrontal sparse QR factorization</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/236516#602305</link>
      <author>Tim Davis</author>
      <description>&quot;Thomas Clark&quot; &amp;lt;t.clarkremove_spam@cantab.net&amp;gt; wrote in message &amp;lt;gbgunp$9ug$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Its pretty difficult to express wonder and joy through the newsreader... But believe me, they're being felt.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanks for all your good work on this subject Tim, I've learned a lot from watching your posts here and through your FEX submissions.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Kindest regards :)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Tom Clark&lt;br&gt;
&lt;br&gt;
Thanks for the kind note.  It's been quite a fun project to work on.  &quot;... and when I run, I feel His pleasure&quot; (Eric Liddell, &lt;a href=&quot;http://www.imdb.com/title/tt0082158/quotes&quot;&gt;http://www.imdb.com/title/tt0082158/quotes&lt;/a&gt; ).&lt;br&gt;
&lt;br&gt;
A side note ... if you are on Windows and use just the &quot;lcc&quot; compiler that comes with MATLAB, you can't compile the code.  You need to get a C++ compiler.  Microsoft Visual Studio C++ Express Edition works fine, and it's a free download.  Details are in the User Guide.</description>
    </item>
  </channel>
</rss>

