GPU Coding is a platform where you’ll be pitched against various computational problems, varying from combinational to numerical in nature, on a General Purpose GPU computing environment. GPUs are data parallel machines, with a multitude of processors on a single chip capable of performing similar computations over chunks of a large amount of data. They are programmed using frameworks such as CUDA, which is available for Nvidia GPU machines.

Programming parallel machines involves much greater skill than programming single core machines, as vectorization, synchronization, and distribution come up as major challenges. It is this dragon of parallelism, that we invite you to battle. If you haven't faced this dragon before, don't worry, as we'll be having a 2 day workshop before the contest, wherein you'll be given access to machines, in addition to problems and tutorials, for learning and practice.

Prizes worth INR 20,000

Click here to register

Additionally, labVIEW software package by National Instruments will be given to top three winners.


Please post your queries related to this event at


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


  • Introduction & Setup

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.

  • CUDA Basic Concepts

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.

  • Hardware & Memory

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.



  • Optimization Techniques

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.

  • External Libraries

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.

  • Future (If time available)

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.

  • Basic Programming – Hands on

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.


  • Only participants of the Workshop will be allowed to attend the Finals.

  • Users can bring their laptops for workshops, but they can’t be used in Finals.

  • All participants will be provided with participation certificate.

  • Judgment of the Organizers is final.

  • Finals will be conducted individually based on time slots.

Judging Criteria

  • Memory efficient coding will gain more points.

  • Runtime of the code on GPU will be ranked and codes with less runtime will be awarded more points.

Sample Problem Statement

Anu and Rahul are judges of a Racing Event in Pragyan. The participants of the event are so high that each Racing team is made to complete a lap and the time is noted. Based on the timing of each participants the prizes are to be awarded. Since the number of entries where high, it takes them a lot of time to sort it on a normal PC. They present this problem to you.

Your task is to write a CUDA C/C++ Coding to find the winner of the race in a minimal time possible using GPU Coding.


1. What if we are new to the field?

    No problem. We train you in GPU Coding by conducting a two day workshop. The event which will be conducted on the final day will be based on the topics covered in the workshop.


2. Whom to contact on any queries?

    We, Event Managers are available to solve your queries any time.


3. Is there any registration fee?

    No, GPU Coding, a grand new technical leap is absolutely free.


The entire details of GPU coding can be downloaded here


Sriram Suruliandi

Formula: 0


Krishna Talagampala

Formula: 1

Formula: 2


Faculty Advisor


Associate Professor

Department - Computer Applications

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.