+1 -1 +75
Vote on this proposal

GPU accelerated high performance computing primer

by Gurajapu Raja Sumant (speaking)

Section
Embedded Python
Technical level
Intermediate

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.

Comments


  • 4

    [-] uhasri akunuru 292 days ago

    looks very interesting ; will you give lots of code examples to me started?
    my laptop supports CUDA.


    • 1

      [-] Ashwin Ashok 292 days ago (edited 292 days ago)

      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

    [-] Kondaparti Nikhitha 289 days ago

    very nice...! can you elaborate in detail.. it is very interesting


    • 1

      [-] Ashwin Ashok 289 days ago

      dear nikitha,

      i wish to see you at the talk, hopefully we will clarify all your doubts and get you started. :)


    • 1

      [-] Gurajapu Raja Sumant 289 days ago (edited 289 days ago)

      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

    [-] Rohan Thacker 292 days ago (edited 292 days ago)

    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

      [-] Gurajapu Raja Sumant 289 days ago

      dear rohan,
      please see if the problem is solved now! you can go through the slides now!


    • 1

      [-] Ashwin Ashok 292 days ago

      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

    [-] Vijaya kumar 292 days ago

    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

      [-] Ashwin Ashok 292 days ago

      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

    [-] Harsha Bandaru 292 days ago

    cool STUFF!!!


  • 2

    [-] sai meghams 290 days ago

    awesome information...its very interesting....


  • 2

    [-] kamalesh chatterjee 252 days ago

    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

      [-] Ashwin Ashok 252 days ago

      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

    [-] hima girija 246 days ago

    It looks like there are two speakers.. will there be division of work? or will there be section wise explanation?


    • 1

      [-] Ashwin Ashok 233 days ago

      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

    [-] Sreekar Reddy 292 days ago

    nicee useful stuff ashwin


  • 1

    [-] Gurajapu Raja Sumant 291 days ago

    It is nice to see such response to this proposal


  • 1

    [-] susheela sri 246 days ago

    Looking forward to see this in September. Your proposal seems to be unique in some aspects. All the best!


  • 1

    [-] vijaySrikar 246 days ago

    I hope you guys don't deviate from the topic. Follow the KISS principle.


  • 1

    [-] Gaurav Kumar 246 days ago

    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.

Login with Twitter or Google to leave a comment →