Stern School of Business, New York University

GPU Computing

GPU Computing

A GPU is a Graphical Processing Unit on board a server that can be used for a particular class of computationally intensive problems – typically those that spend most of their time doing things like manipulating large vectors and matrices. SCRC has a 240 core Super Micro NVIDIA Tesla equipped server – gpu01.

Matlab and the GPU

gpu01 is particularly useful for many types of Matlab computations with initial results showing an 8-10 times performance increase for code that does very large multiple regressions. To use gpu01 with Matlab requires an add-on toolkit, the “Jacket” from AccelerEyes; see, which in turn relies on the CUDA toolkit from NVIDIA.

Getting Started

See Accelereyes’ documentation for help and examples using the Jacket toolkit.
These instructions show how to create and move data and computations to the GPU then return the data back to the CPU environment.

>> G = gones( 3 );    % Create a GPU matrix
>> G = fft( G );      % Perform a GPU Fast Fourier Transform
>> G = G * G;         % GPU Matrix Multiply
>> C = double( G );   % Bring data back to CPU