13

I want to run MATLAB code on the GPU using NVIDIA's CUDA. I found a couple of 3rd-party engines:

Would anyone recommend these or are there better ones out there? Any tips or suggestions?

Pavan Yalamanchili
  • 12,021
  • 2
  • 35
  • 55
sjchoi
  • 608
  • 1
  • 4
  • 9

4 Answers4

6

Parallel Computing Toolbox released with MATLAB R2010b now has GPU support, including overloads for various mathematical operations, and an interface with pre-existing CUDA kernels.

Doc here: http://www.mathworks.com/discovery/matlab-gpu.html

Edric
  • 23,676
  • 2
  • 38
  • 40
  • Jacket now is part of Parallel Computing Toolbox http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/ – mrgloom Jun 25 '13 at 06:46
5

An additional source of information you may want to check out is this PDF white paper from NVIDIA: Accelerating MATLAB with CUDA Using MEX Files.

gnovice
  • 125,304
  • 15
  • 256
  • 359
3

For a comparison of Jacket vs Matlab with CUDA check this out http://www.accelereyes.com/products/compare

Also you could use Jacket SDK to develop your own mexfiles in a simpler and more efficient manner (memory management wise)

Pavan Yalamanchili
  • 12,021
  • 2
  • 35
  • 55
1

Overall, I would recommend Accelereyes Jacket; which was one of your findings in your original post.

While it is not freeware, they do give very substantial educational discounts.

Having said that, performance-wise, any GPU compiler/language/sdk is going to speed up matrix/vector/algebraic/FFT/etc code an order of magnitude or more vs. traditional CPU coding. Even hyper-threaded, 8 way CPU code on my personal machine runs 48x faster with GPU acceleration on a relatively inexpensive nvidia quadro 4000 card. (You don't need to drop $2100 on a tesla unless school or someone else is providing it!)

Having said that, although I am proficient in c, c++, SQL of any kind, etc... I have programmed for well over a decade, I found jacket to be much easier to quickly and efficiently and OPTIMALLY get my real research work up to speed. I looked into GPUMat and Matlab PCT GPU, and found jacket to be an odd combination of power and ease of integration within matlab and the foreign world of GPU's. Jacket's support is also top notch. I would get a highly competent response typically within 1 business day and resolution to problem within 2 days was typical.

To me, THAT is a huge advantage. I fear GPUmat has very limited support, and matlab, while having seemingly comparable support to jacket, their support is not free of charge.

In summary, if you need to get your existing code (assuming it is a viable candidate for GPU parallelization) running 10-48x faster in about 2 weeks with excellent support, go jacket! (YMMV)

rrstesiak
  • 11
  • 1