0
$\begingroup$

What is the the simplest way to get started using GPU computing?

My interests are primarily in neural networks and I would love to start using GPUs, but my time for learning GPU computing is very limited. Are there simple libraries for R or something that make it easy to multiply matrices on GPUs?

$\endgroup$
2
  • $\begingroup$ Welcome to SciComp.SE. What references have you looked for? Have you check this tutorial? $\endgroup$
    – nicoguaro
    Aug 8, 2015 at 18:38
  • $\begingroup$ Please select an answer as "chosen" if you have been satisfied. If you aren't satisfied, how more can we help? $\endgroup$
    – jvriesem
    Oct 18, 2016 at 3:39

4 Answers 4

3
$\begingroup$

If time is of grave concern, I would highly suggest looking at Intels Xeon phi coprocessor. Not only are they nearly or as fast, only require openmp to code for, but Intels customer service on the Intel developer forums is fantastic. I don't know if you can use R, but standards languages such as c, c++ , and fortran can be used. You could also use Intels mkl library directly on the coprocessor for matrix multiplication

$\endgroup$
3
$\begingroup$

I know time may be limited for you, but if you have ~1-3 weeks to really learn CUDA, I highly recommend CUDA by Example: An Introduction to General-Purpose GPU Programming (Amazon.com). It does a fantastic job of explaining the general concepts of GPU programming, and does a great job of getting one up to speed with NVIDIA's GPU language, CUDA.

CUDA is arguably one of the most widely-used GPU languages—certainly within the high-performance computing community (e.g. NASA). It gives great control over lots of details, but for many tasks, it also requires low-level knowledge of the graphics card. It's not something you'll learn in a day, probably not even in a week, but it can be worth it.

$\endgroup$
1
2
$\begingroup$

There is a tutorial on GPU computing in R at r-tutor.com. It has various examples you can look at and primarily uses the RPUD package which is open source and also makes use of the non-free RPUDPLUS.

Additionally this website has a discussion of a few different packages that aid in GPU computing in R. The packages mentioned are

  • gputools
  • HiPLARM
  • rpud
  • magma
  • gcbd
  • OpenCL
  • WideLM
  • cudaBayesreg
  • permGPU

but only the first three are discussed in any detail.

$\endgroup$
-5
$\begingroup$

A few more pointers on how to start with GPUs: 1. the new free online course that covers libraries and OpenACC directives: https://developer.nvidia.com/intro-to-openacc-course-2016 2. the list of libraries already accelerated with GPUs: https://developer.nvidia.com/gpu-accelerated-libraries 3. openacc.org - also has a lot of resources

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.