Day 1 – Workshop Phase I

Day 2 – Workshop Phase II

Day 3 – Contest Finals


Details about the Workshop

This is a 2 day workshop for programmers who want to learn how to program and utilize the parallel computing power of the Graphics Processing Unit (GPU) using NVIDIA’s CUDA programming framework.



1.    The attendees will need to have some basic C or C++ knowledge, but no prior knowledge of parallel computing concepts is necessary.

2.    It will be fine if people bring a laptop with CUDA Enabled Graphics Card with Visual Studio 2008 preinstalled.

3.    The course will be held in English.


What Will I Learn?

By the end of this workshop you will have built a number of CUDA enabled applications and have an understanding of the CUDA programming methodology to apply to and solve your own problems.


Course Description


The course will start by introducing the concepts of general purpose GPU programming and go into the process of installing and setting up the development environment on the system. We will also talk about the different language bindings for languages like Java, Python and Ruby.

Then we will give a hands on introduction to CUDA, introducing the concepts of threads and blocks to learn the fundamental way that CUDA exposes parallelism.

The main gist of the course will involve learning the concepts of CUDA memory management together with the hardware capability of the GPU we are developing on. This will lead us into learning about the different types of GPU memories available to the programmer and it’s optimal utilization.



We will go into the various concepts of GPU kernel optimization to get the most out of the hardware we are planning to write code for.

This will lead us to talk about different external libraries both 3rd party as well as those provided by NVIDIA which provide optimized algorithms running on the GPU, for applications ranging from Finance to Medical Imaging.

Finally, we will talk about the future of GPU computing, in particular the new features in CUDA 5.x and GPUs on the cloud. We will also give an introduction to OpenCL, since many of the concepts from this course will carry over to OpenCL. We will talk about the advantages and disadvantages of OpenCL here as well.

Once we are familiar with the core concepts, we will have a hands on programming with CUDA Enabled machines.




The problem statement will be given during Pragyan and will be based on the topics covered in the workshop.



Follow @nitt_pragyan
Click here for details about
L&T Technical Ideation Contest
Controls Help [H]


Select / Go To
Close / Go Back
Home Menu
Mute BG Music
Mute Sound Effects
For queries, mail to

Developed by Delta Force.
Designed by NITT-Design Team.