GPU accelerated high performance computing primer
by Gurajapu Raja Sumant (speaking)
Objective
The talk will focus on the emergence of GPU computing and how python can help us in taking the first steps towards it.
The audience will witness the full power of CUDA/OpenCL technology and how python can truly bring super computing to the masses.
Description
Outline of the talk:
++++++++++++++++++++++++++++++++++++++++++++++++++++++
1)The talk is split into two sections; background (7-10 min) and code examples(25 min).
2) the rest of time will be utilized for Q&A and interaction with audience
3) We will demonstrate the code examples in real-time
4)The emphasis will be on the application of Cuda/CL rather than it inner workings.
5)We do not wish to bore the audience so the examples will unique,concise,clear and most importantly original . github repo will be available soon
Examples will cover
vector addition The simplest Cuda/Cl program as a basis for understanding parallel programming, threads , blocks etc.
Monte Carlo Method
A really insightfull application of parallel processing
we brute force the value of pi here
FIR filter beautiful and extremely fast filter approach
Mandelbrot Benchmark for code speedup
Image processing with lena and Cuda
These examples were carefully chosen to illustrate some of the key
features of CUDA/CL and also serve as a tutorial.
github repo:
https://github.com/ashwinashok9111993/andromeda
+++++++++++++++++++++++++++++++++++++++++++++++++++++
Please also see the slides in the 'Slides' section
We also have some pre-reading stuff in the links section(not that necessary for the talk. Only if you are feeling adventurous :) )
+++++++++++++++++++++++++++++++++++++++++++++++++++++
If one is to realize the high performance computing "mantra" , i.e.
concurrency and parallelism one has to look no further than GPUs .
To over come the bottlenecks the CPUs are imposing by serial mode of computation,we embrace the fully parallel nature of the GPU.
Granted the GPUs were initially targetted towards graphics, we have witnessed a paradigm shift towards the inclusion of GPUs in
numerical and scientific computing . To this end , the speakers strive to potray python as a bridge between conventional computation
and this new ground breaking field of GPU computing .
We intend to acheive this by introducing our audience to technologies like PyCuda ,PyOpenCl and their numerous wrapper libraries.
+++++++++++++++++++++++++++++++++++++++++++++++++++++
We aim to familiarize the audience with predominantly PyCuda as it is the most mature GPU (NVIDIA) computing library till date as
it puts the entire power(read cores and threads!) at our disposal.
Also the abundance of great documentation and comprehensive code
examples make it the right candidate to lay emphasis on .
Requirements
The audience are not expected to bring their laptops ,but if they do want to execute some quick code snippets, it is recommended they
bring along the following :
1) A computer with NVIDIA GPU supporting CUDA or an AMD GPU supporting OpenCl (even 3rd generation i3/i5/i7 have experimental support for their IGP`s )
2)Softwares:
python2.7
cuda toolkit, pycuda , numpy ,scipy
Any OS will do(win7,linux3.4+,MacOSX)
If anyone has trouble installing the required toolkits to work, please leave the discription of the problem in the comment and we will be
willing to sort out your problem.
Speaker bio
There are two speakers dealing with the topic.
G.Raja Sumant is a TCS employee who happens to be an undergraduate in the field of Electronics and Communications Engineering who has 3 years of experiance in conducting various
python and embedded related workshops in conjunction with the IEEE Hyderabad Section. He has won the innovative project showcase at the IEEE
PES AISC 2013 for Smart Grid technology application for household devices using MSP430 microcontroller. He has good programming skills in
different python modules such as NumPy,Scipy,MatPlotLib and other signal processing libraries of Python. He has also good expertise in
embedded Python and embedded C ,thanks to his projects on BeagleBoard,ARM,MSP430,Atmel,RL78 and RaspberryPi.
He has completed a short term course in embedded system design from C-DAC(CENTER FOR DEVELOPMENT OF ADVANCED COMPUTING) an initiative of DIEIT(DEPARTMENT OF ELECTRONICS AND INFORMATION TECHNOLOGY).
You can find the speakers linkedIn profile in the links section
Ashok Ashwin is currently pursuing Bachelors degree in Electronics and Communications Engineering. He spents most of his spare time working on embedded
projects and Python happens to be a subject of great interest to him. He is actively involved in propagating the use of python as a viable
alternative to numerical computational packages like MATLAB.He is currently the vice president of the IEEE student branch in his college and many
workshops regarding Python were conducted under his leadership.His most noteworthy achivement till date is his project in creating an oscillosope using
python and MSP430 microcontroller. His expertise also extends to GUI programming with Qt and scientific computing using NumPy and SciPy . His current interests
include image processing using GPU computing and efficient digital filter synthesis using microcontrollers.
You can find his code in the github links and youtube channel given below in the links section.
4
▼
looks very interesting ; will you give lots of code examples to me started?
my laptop supports CUDA.
1
▼
dear usha sri
i am one of the speakers. we will start a github repo shortly with a large bank of code examples. we will try to give as many example as possible.
4
▼
very nice...! can you elaborate in detail.. it is very interesting
1
▼
dear nikitha,
i wish to see you at the talk, hopefully we will clarify all your doubts and get you started. :)
1
▼
hi nikhitha! It is nice that you are showing interest ! it is simply the power of parallel computing. it is a way of faster computing!! Please try to attend the session for a better understanding!
3
▼
Very interesting stuff, will the talk be very highly technical? If so can you point us to some pre-reading?
P.S : The slides arent loading for me.
Looking forward to seeing this in september.
0
▼
dear rohan,
please see if the problem is solved now! you can go through the slides now!
1
▼
dear rohan thacker, we are facing problems with slideshare.
we are working on a easy wrapper around PyCuda to simplify our research work that is the inspiration for our project.
the talk will not be highly technical. even though we are from an electronics background, we will stick to programming for the most part.
we look forward to your participation too
2
▼
I am looking forward to this ! It is quite interesting to know about using the GPU for computational purposes. May be this will be useful in my research.
1
▼
dear vijaya kumar,
i am one of the speakers. we personally use pyCUDA,CudaMat as a part of our research into image processing. migrating to PyCuda should not be that much of a problem
2
▼
cool STUFF!!!
1
▼
thanks harsha ,
i look forward to the seminar.
2
▼
awesome information...its very interesting....
1
▼
thanks..
2
▼
hey guys..
i did not realize what my cuda sticker on my laptop meant till i read this...
i specialize in web dev. i will try to attend this workshop because i am curious about cuda. "supercomputing for masses" .. thats a nice one
2
▼
PCs come with an amazingly powerful device (GPU). It is mostly underutilized, often doing little more than rendering a desktop to the user. but think of the gpu like a 100 /1000 core processor with a smaller instruction set.... all sharing a common memory.
you can do amazing stuff with that kind of parallelism... i will demonstrate that in the talk.
"http://www.pcper.com/news/General-Tech/NVIDIA-Launches-Jetson-TK1-Mobile-CUDA-Development-Platform" take a look at this
also gpu's can significantly reduce run time of many algorithms where stream processing is involved
2
▼
It looks like there are two speakers.. will there be division of work? or will there be section wise explanation?
1
▼
ok..
it is a matter of our convenience
CUDA/openCL require completely new form of thinking
since we will also show the code in action(if permitted)
we need more persons to clarify the doubts
1
▼
nicee useful stuff ashwin
1
▼
thanks sreekar... it is as cool as it is useful
1
▼
It is nice to see such response to this proposal
1
▼
Looking forward to see this in September. Your proposal seems to be unique in some aspects. All the best!
1
▼
I hope you guys don't deviate from the topic. Follow the KISS principle.
1
▼
we will.. thanks
1
▼
How can I apply these concepts in real time? Is the implementation bare bones enough?What level of abstraction are we talking about here?(judging from the description)It would be kind of you if you can answer these queries in the comments.
1
▼
we will cover them at the talk... we dont want to lose our thunder right?