A couple weeks ago, a <a href="http://www.mathworks.com/matlabcentral/fileexchange/29114-a-cuda-accelerated-beam-propagation-method-bpm-solver-using-the-parallel-computing-toolbox" target="_blank">GPU-enabled code</a> appeared on MATLAB Central entitled, "A CUDA accelerated Beam Propagation Method [BPM] Solver using the Parallel Computing Toolbox."  In this post, we share a video which showcases how Jacket is much better than PCT at GPU computing, by analyzing performance on this Beam Propagation Method code.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jf56mIIy60A?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/jf56mIIy60A?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object>

To reproduce these results, download the source code here:  <a href="http://blog.accelereyes.com/blog/wp-content/uploads/2010/11/CUDA_BPM_NOV_04_2010_AccelerEyes.zip">CUDA_BPM_NOV_04_2010_AccelerEyes</a>

These benchmarks were run on an NVIDIA Tesla C2070 GPU versus a quad-core Intel CPU.  MATLAB + PCT R2010B were used for the PCT-GPU experiments.  MATLAB + Jacket 1.6 (prerelease) were used for the Jacket-GPU experiments.
<h4>Take Home Message</h4>
Due to Jacket's extensive library of GPU functions and its optimized GPU runtime, it performs 3.5X faster than the CPU and 2X faster than PCT-GPU.  The total time to do the Jacket programming was &lt;5 minutes.  To learn more about how Jacket compares to alternatives, <a href="http://www.accelereyes.com/products/compare" target="_blank">continue reading</a>.
<h4>The AccelerEyes Promise</h4>
Jacket programmers will always have access to the broadest, fastest GPU computing technology – that is the AccelerEyes Promise. As parallel computing continues to evolve, Jacket programmers will continue to enjoy ever improving speeds, without having to change any Jacket-based codes. Write your code once, and let Jacket carry your code through the coming hardware evolution.