Felix Wellschmied

Associate Professor, Universidad Carlos III de Madrid

Based on my own experience, I have written some notes on GPU computing using CUDA that students who think about getting into it may find useful. The notes provide a detailed description of how to set up your first CUDA programs which hopefully facilitates them writing their own code. The codes are in C++, and I explain a few particularities that I, someone being used to Fortran and Matlab, would have found useful to know. However, the slides are not a C++ tutorial. For that, type into Youtube: Learn C++ in X hours.

I also discuss a little the physical environment of GPU computing which may help you decide on which GPU to buy. Moreover, having an idea about the physical environment is crucial for efficient programming. As I have no background in computer sciences, I would be thankful to anyone pointing out imprecisions in my slides. If you just want to get started, you can also skip that part and directly go to the discussion of the code examples.

The discussion comes from a Macro perspective but GPU computing is also used in other areas. Its most prominent applciation is in machine learning algorithms. Moreover, it is used heavily to speed up non-linear system solvers and, hence, in ML estimation.

 [Slides]

Codes:

Matrix multiplication  [download]

Value function iteration  [download]

Golden section search  [download]