Researchers in the <a href="http://ppl.stanford.edu/wiki/index.php/Pervasive_Parallelism_Laboratory" target="_blank">Pervasive Parallelism Laboratory</a> at Stanford University recently published work describing a novel framework for parallel computing with a paper entitled, "A Domain-Specific Approach to Heterogeneous Parallelism."  As part of their research, they compared Jacket to the GPU support in the Parallel Computing Toolbox<sup>™</sup>.  The results clearly show that Jacket's optimizations make a big difference in performance.

In this blog post, we highlight 4 algorithms included in their research:
<table border="1" cellspacing="0" cellpadding="0" width="700">
<tbody>
<tr>
<td width="133" valign="top"><strong>NAME</strong></td>
<td width="363" valign="top"><strong>DESCRIPTION</strong></td>
<td width="204" valign="top"><strong>INPUT</strong></td>
</tr>
<tr>
<td valign="top"><strong>Gaussian Discriminant Analysis (GDA)</strong></td>
<td valign="top">Generative learning algorithm for modeling   the probability distribution of a set of data as a multivariate Gaussian</td>
<td valign="top">1,200x1,024   Matrix</td>
</tr>
<tr>
<td valign="top"><strong>Restricted Boltzmann Machine (RBM)</strong></td>
<td valign="top">Stochastic recurrent neural network, without   connections between hidden units</td>
<td valign="top">2,000   Hidden Units

2,000   Dimensions</td>
</tr>
<tr>
<td valign="top"><strong>Support Vector Machine (SVM)</strong></td>
<td valign="top">Optimal margin classifier, implemented using   the Sequential Minimal Optimization (SMO) algorithm</td>
<td valign="top">800x1,448   Matrix</td>
</tr>
<tr>
<td valign="top"><strong>Naïve Bayes (NB)</strong></td>
<td valign="top">Fast, low-work supervised learning algorithm   for classification</td>
<td valign="top">25,000x1,448   Matrix</td>
</tr>
</tbody>
</table>
<span style="font-size: xx-small;"> </span>
<span style="font-size: xx-small;"> </span>

These algorithms were benchmarked using the following system at Stanford:
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="125" valign="top"><strong>System Specs:</strong></td>
<td width="176" valign="top"><strong> </strong></td>
<td width="399" valign="top"><strong> </strong></td>
</tr>
<tr>
<td valign="top"><strong>Computer</strong></td>
<td valign="top">Dell Precision T7500n</td>
<td valign="top"></td>
</tr>
<tr>
<td valign="top"><strong>Processor</strong></td>
<td valign="top">2 Quad-core Intel Xeon X5550   2.67 GHz</td>
<td valign="top">Each core has 2-way   hyperthreading for a total of 16 hardware thread contexts</td>
</tr>
<tr>
<td valign="top"><strong>RAM</strong></td>
<td valign="top">24GB</td>
<td valign="top"></td>
</tr>
<tr>
<td valign="top"><strong>GPU</strong></td>
<td valign="top">NVIDIA GTX 275</td>
<td valign="top"></td>
</tr>
</tbody>
</table>
<span style="font-size: xx-small;"> </span>
<span style="font-size: xx-small;"> </span>

The execution times for these algorithms are shown in the charts below:

<a href="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/gda.jpg"><img class="aligncenter size-full wp-image-983" title="gda" src="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/gda.jpg" alt="" width="700" height="498" /><!--more--></a><a href="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/rbm.jpg"><a href="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/rbm1.jpg"><img class="aligncenter size-full wp-image-1035" title="rbm" src="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/rbm1.jpg" alt="" width="700" height="498" /></a>
</a><a href="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/svm.jpg"><img class="aligncenter size-full wp-image-986" title="svm" src="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/svm.jpg" alt="" width="700" height="498" /></a><a href="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/nb.jpg"><img class="aligncenter size-full wp-image-984" title="nb" src="http://blog.accelereyes.com/blog/wp-content/uploads/2011/01/nb.jpg" alt="" width="700" height="498" /></a>

<hr />To learn more about how Jacket compares, visit:  <a href="http://www.accelereyes.com/products/compare" target="_blank">http://www.accelereyes.com/products/compare</a>.  Special thanks to the Stanford researchers for undertaking this effort, and good luck continuing this line of work!  We look forward to learning from your insights.

<span style="font-size: xx-small;"> </span>
<span style="font-size: xx-small;"> </span>

<strong>Researchers:</strong> Hassan Chafi, Arvind K. Sujeeth, Kevin J. Brown, HyoukJoong Lee, Anand R. Atreya, and Kunle Olukotun