GPU Support In MATLAB R2010b Versus Jacket

From Jacket Wiki

Jump to: navigation, search

In version R2010b, MATLAB includes support for using GPGPUs. This page provides some results for the performance of MATLAB when using its native GPU support (referred to in the following as MATLAB-GPU). This is the first release where MATLAB provides GPU support.

Some characteristics:

  1. No support for GPUs with compute capability less than 1.3 - this rules out using MATLAB-GPU on a laptop.
  2. No support for compiled code as known from Jacket JMC.
  3. No lazy execution.
  4. For the functions tested the performance is significantly below Jacket performance.

Besides this, I (Torben Larsen) unfortunately have experienced several memory problems with MATLAB-GPU on the Windows x64 platform.

The floating point performance of MATLAB-GPU has been compared to the performance of traditional CPU based MATLAB (MATLAB-CPU) as well as Jacket. The results are shown in Figs. 1-3 below where it is seen that Jacket outperforms MATLAB-GPU clearly. As one example, where MATLAB is able to get 310/140 (single/double precision) GFlops out of the NVIDIA Tesla C2050 where Jacket gets 515/250 (single/double precision) GFlops out of the same hardware. This is a very significant difference.


Fig. 1: Measurement of DGeMM single precision floating point performance versus square matrix size for MATLAB-CPU and Jacket. The method is based on multiplying two matrices with the DGeMM technique. Equipment used: Colfax CXT2000 with an Intel Core i7-975 Extreme CPU and an NVIDIA Tesla C2050 GPU. Jacket version: 1.5.0 (build 8250), MATLAB version: R2010b, NVIDIA driver: 258.96, NVIDIA Toolkit 3.1, OS: Microsoft Windows 7 Enterprise x64.


Fig. 2: Measurement of DGeMM double precision floating point performance versus square matrix size for MATLAB-CPU and MATLAB-GPU. The method is based on multiplying two matrices with the DGeMM technique. Equipment used: Colfax CXT2000 with an Intel Core i7-975 Extreme CPU and an NVIDIA Tesla C2050 GPU. MATLAB version: R2010b, NVIDIA driver: 258.96, NVIDIA Toolkit 3.1, OS: Microsoft Windows 7 Enterprise x64.


Fig. 3: Measurement of DGeMM double precision floating point performance versus square matrix size for MATLAB-CPU, MATLAB-GPU, and Jacket. The method is based on multiplying two matrices with the DGeMM technique. Equipment used: Colfax CXT2000 with an Intel Core i7-975 Extreme CPU and an NVIDIA Tesla C2050 GPU. Jacket version: 1.5.0 (build 8250), MATLAB version: R2010b, NVIDIA driver: 258.96, NVIDIA Toolkit 3.1, OS: Microsoft Windows 7 Enterprise x64.


Fig. 4: Measurement of speed-up of Jacket relative to MATLAB-GPU when using DGeMM double precision versus square matrix size. The method is based on multiplying two matrices with the DGeMM technique. Equipment used: Colfax CXT2000 with an Intel Core i7-975 Extreme CPU and an NVIDIA Tesla C2050 GPU. Jacket version: 1.5.0 (build 8250), MATLAB version: R2010b, NVIDIA driver: 258.96, NVIDIA Toolkit 3.1, OS: Microsoft Windows 7 Enterprise x64.




Go Home: Torben's Corner


Views
Personal tools