Introduction from translator:PCT / GPU - Parallel Computing Toolbox in the MATLAB environment, a tool for performing distributed computing on a graphics card, is considered to be a fairly advanced library.
Jacket is a little-known, but promising, platform for GPU-based computing. Uses MATLAB as a frontend.
Recently, researchers at the Stanford Laboratory of Parallel Computing (
Pervasive Parallelism Laboratory ) published a paper about a new framework for distributed computing. One of the parts of their research is to compare Jacket with Parallel Computing Toolbox
™ , the results of which clearly indicate that the optimization in Jacket greatly influences performance.
In their study, four algorithms were used:
- Gaussian discriminant analysis (Gaussian Discriminant Analysis, GDA) - a generational algorithm for modeling the probability distribution (multidimensional Gaussian) for a data set, accepts a 1200 x 1024 matrix as an input
- The restricted Boltzmann method (Restricted Boltzmann Machine, RBM) is a stochastic recurrent neural network with no connections between internal elements, it accepts 2000 elements, with dimension 2000
- The Support Vector Machine (SVM) method - a classifier with a maximum gap, implemented using the Sequential Minimal Optimization (SMO) algorithm, takes an 800 x 1448 matrix as an input
- The naive Bayes classifier (Naïve Bayes, NB) is a fast and non-demanding learning algorithm with a teacher for classification, accepts a matrix of 25000 x 1448 as input
The following system was used for tests:
Dell Precision T7500n ,
Quad-core Intel Xeon X5550 2.67 GHz processor (each core has double hyperthreading, that is, only 16 hardware contexts),
24 GB RAM and
NVIDIA GTX 275 graphics card.
')
The execution time of the algorithms can be seen in the graphs below (the smaller, the better)




To learn more about Jacket, you can see the page on
the manufacturer's website.From the translator:Very impressive, especially pleased that almost all low-level things are hidden from the developer, and he may not think about the intricacies of how his calculations will parallelize. It is unpleasant, of course, that there is only one front-end - MATLAB, but it is to be hoped that this will be fixed in the future.