Compare GPU Software: Jacket versus PCT™
Hold your horses! The Parallel Computing Toolbox™ (PCT) already supports GPUs, so why should I use Jacket?
The answer is simple: Jacket is better
Specifically, Jacket is:
- More Capable: Jacket contains 10X more functions than PCT. It also contains the innovative GFOR loop.
- Faster: While Jacket's individual functions are faster than those in PCT, Jacket's speed advantage becomes fully apparent in real applications. Jacket is the only GPU option for MATLAB® capable of packing many lines of code into a single GPU kernel.
- Built on Better Technology: Whereas PCT GPU functionality is fundamentally flawed in its use of a legacy Java-based system, Jacket contains an innovative and super light-weight runtime system. AccelerEyes is solely focused on delivering GPU speed, while MathWorks is distracted with other priorities.
Let's explore these 3 areas in more depth.
Jacket is More Capable
At a high level, there are a number of key capabilities for GPU Computing with MATLAB that are needed in most application implementations that are available in Jacket and not available in other systems. These capabilities are illustrated in the following chart with how each technology compares:
| Jacket | PCT | |
|---|---|---|
| Linear Algebra Support | ![]() |
minimal |
| Random Number Generation | ![]() |
![]() |
| Image Processing Functions | ![]() |
![]() |
| Signal Processing Functions | ![]() |
![]() |
| Supports all NVIDIA CUDA GPUs | ![]() |
![]() |
| Supports all AMD/ATI GPUs and other OpenCL devices | ![]() |
![]() |
| Supports past MATLAB versions | ![]() |
![]() |
| Works without PCT | ![]() |
![]() |
| Compiler option (see Jacket JMC) | ![]() |
![]() |
| Data-parallel FOR loop (see GFOR) | ![]() |
![]() |
In addition to the high-level support illustrated in the first chart, looking at "supported" functions provides a bit more insight into how the systems can be used to implement or transform applications to GPU Computing. Jacket contains the largest function library available in the industry for any language:
| Jacket | PCT | |
|---|---|---|
| FFT, FFT2 | |
|
| MLDIVIDE | |
minimal |
| MTIMES | |
|
| SVD | |
|
| EIG | |
|
| INV | |
|
| SUM, MIN, MAX (with one output) | ![]() |
![]() |
| SUM, MIN, MAX (with two outputs) | ![]() |
![]() |
| FIND | ![]() |
![]() |
| SORT | ![]() |
![]() |
A full list of Jacket supported functions is available on the Jacket Documentation Wiki.
Jacket is Faster
The following performance table illustrates results of benchmarks comparing Jacket to PCT using matrices of 1024-by-1024 unless otherwise noted. Timing is provided in seconds and performance improvement of Jacket is expressed as a speedup multiplier over the PCT equivalent version.
The configuration of the system used was a CPU: (2x) Intel Xeon X5680 CPU @ 3.33GHz and a GPU: NVIDIA TESLA C2070, as follows:
| Jacket (s) | PCT (s) | Speedup Multiplier | |
|---|---|---|---|
| ARRAYFUN (Horner Example), Single: | 0.18641 | 6.53213 | 35.0 X |
| ARRAYFUN (Horner Example), Double: | 0.42653 | 8.99316 | 21.1 X |
| FFT (Example), Single: | 10.25867 | 19.89959 | 1.9 X |
| FFT (Example), Double: | 11.96000 | 23.99205 | 2.0 X |
| MLDIVIDE (1023x1023 square matrix), Double: | 62.68685 | 74.66244 | 1.2 X |
| TRIG, Single: | 0.696341 | 2.112127 | 3.0 X |
| TRIG, Double: | 0.994353 | 2.767755 | 2.8 X |
| CTRANSPOSE, Single: | 1.741304 | 3.298389 | 1.9 X |
| CTRANSPOSE, Double: | 1.729959 | 3.896148 | 2.3 X |
| POWER, Single: | 1.525003 | 2.989234 | 2.0 X |
| POWER, Double: | 2.384597 | 4.051902 | 1.7 X |
| RESHAPE, Single: | 0.145981 | 1.948034 | 13.3 X |
| RESHAPE, Double: | 0.144335 | 2.545458 | 17.6 X |
| TIMES, Single: | 0.627013 | 1.990203 | 3.2 X |
| TIMES, Double: | 0.814789 | 2.54477 | 3.1 X |
| * benchmarks numbers provided by AccelerEyes' third-party partner. | |||
Other benchmarks are also available on the Jacket community forums, here and here.
Built on Better Technology
Learn more about how Jacket technology compares to PCT in these blog posts.
- Customer frustration with R2011A blog post.
- A case study comparison using code from MATLAB Central is available as a blog post and video.
- Stanford GPU benchmarks blog post.
- Super Mario Brothers analogy to Jacket's GPU runtime blog post.
Finally, as everyone already knows, MATLAB® and PCT™ are trademarks of MathWorks.
« Back to Products Page


