<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/254442</link>
    <title>MATLAB Central Newsreader - multithreading with chol</title>
    <description>Feed for thread: multithreading with chol</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>Tue, 23 Jun 2009 13:55:03 -0400</pubDate>
      <title>multithreading with chol</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/254442#659699</link>
      <author>fabio freschi</author>
      <description>Hi all,&lt;br&gt;
I have found a strange but absolutely fine behavior of chol function. It seems that chol can gain speed when multithreading is enabled. I do not have the access to data of my 8 cores linux machine, but also on my intel MACBOOK the factorization of a sparse matrix coming from a scalar poisson problem is faster. Some data&lt;br&gt;
*Matlab 7.5.0 (R2007b)&lt;br&gt;
*size(A) = 125000x125000&lt;br&gt;
*nnz(A) = 1815598&lt;br&gt;
*metis preordering (from SuiteSparse, thanks Tim Davis!)&lt;br&gt;
chol with multithread (2 cores) -&amp;gt; 20.51 sec&lt;br&gt;
chol w/o multithread -&amp;gt; 27.44 sec&lt;br&gt;
&lt;br&gt;
This can be extrapolated for a 1.6Mx1.6M matrix on a 8 cores machine...&lt;br&gt;
These results are not in accordance with &quot;Muli-threaded performance and Cleve's Corner&quot; on cholmod webpage. Any ideas?&lt;br&gt;
thanks&lt;br&gt;
fabio</description>
    </item>
    <item>
      <pubDate>Fri, 26 Jun 2009 07:26:01 -0400</pubDate>
      <title>Re: multithreading with chol</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/254442#660621</link>
      <author>fabio freschi</author>
      <description>I have rebuilt the benchmark on the 8-core linux machine&lt;br&gt;
*size(A) = 1626142x1626142&lt;br&gt;
*nnz(A) = 11277220&lt;br&gt;
*metis preordering&lt;br&gt;
multithread enabled (8 cores) -&amp;gt; [L,p] = chol(A(ip,ip),'lower','vector') 618 sec&lt;br&gt;
multithread disabled (1 core) -&amp;gt; [L,p] = chol(A(ip,ip),'lower','vector') 1986 sec&lt;br&gt;
&lt;br&gt;
not bad! Any idea for these unexpected good results?&lt;br&gt;
fabio</description>
    </item>
    <item>
      <pubDate>Fri, 26 Jun 2009 07:32:01 -0400</pubDate>
      <title>Re: multithreading with chol</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/254442#660623</link>
      <author>fabio freschi</author>
      <description>The exact call of chol I used is (of course)&lt;br&gt;
[L,p] = chol(A(ip,ip),'lower')&lt;br&gt;
sorry for the mistyping&lt;br&gt;
fabio</description>
    </item>
    <item>
      <pubDate>Tue, 07 Jul 2009 03:35:03 -0400</pubDate>
      <title>Re: multithreading with chol</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/254442#663099</link>
      <author>Tim Davis</author>
      <description>&quot;fabio freschi&quot; &amp;lt;fabio.freschi@remove.gmail.com&amp;gt; wrote in message &amp;lt;h21thh$nro$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; The exact call of chol I used is (of course)&lt;br&gt;
&amp;gt; [L,p] = chol(A(ip,ip),'lower')&lt;br&gt;
&amp;gt; sorry for the mistyping&lt;br&gt;
&amp;gt; fabio&lt;br&gt;
&lt;br&gt;
UMFPACK and CHOLMOD use the BLAS, and those benefit&lt;br&gt;
from multithreading.  When Cleve Moler wrote that&lt;br&gt;
&quot;Cleve's Corner&quot; article, there was a performance&lt;br&gt;
bug in the BLAS that slowed it down when multithreading&lt;br&gt;
was enabled.  That's no longer the case.  In a later&lt;br&gt;
version of MATLAB (including 7.5) the bug was fixed.&lt;br&gt;
&lt;br&gt;
Neither UMFPACK nor CHOLMOD include any explicit&lt;br&gt;
parallelism.  They just call the BLAS (dense matrix&lt;br&gt;
operations) which benefit from multithreading.&lt;br&gt;
&lt;br&gt;
MATLAB uses the MKL BLAS, so UMFPACK and CHOLMOD should&lt;br&gt;
get the same parallel speedup inside or outside of&lt;br&gt;
MATLAB.&lt;br&gt;
&lt;br&gt;
My sparse QR (SuiteSparseQR) does include explicit&lt;br&gt;
multithreading (as well as calling the parallel BLAS),&lt;br&gt;
but it's not used in the sparse QR in MATLAB.</description>
    </item>
    <item>
      <pubDate>Tue, 14 Jul 2009 14:03:02 -0400</pubDate>
      <title>Re: multithreading with chol</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/254442#665156</link>
      <author>fabio freschi</author>
      <description>Thank you for your answer.&lt;br&gt;
Your answer confirms my thoughts. However it is curious that all CPUs are at their 100% for most of the factorization time. This could mean that BLAS *does* the work and thus your (really impressive) algorithms have strong benefits when activating multithreading.&lt;br&gt;
fabio</description>
    </item>
  </channel>
</rss>

