Leveraging the power of your GPU/CPU for math intensive computations with python

Shubham Bhardwaj (~shubham0704)


48

Votes

Description:

Thinking parallel is an art, applying it is another. While applying it, the first hurdle for us is to move to another language like C or C++ to get performance gains. What if we write simple python code and someone magically helps us gain C like performance? Sounds like a dream, it ain't ! . Enter Numba :)

In this workshop you will -

  • Witness how Numba help you get insane performance gains to your code without changing a line of it.
  • Learn to harness the power of your GPU/CPU for performing math intensive computations.
  • See how it compares to other libraries like Numpy , etc. and how they can complement it.
  • Use Numba to parallelize the very famous Particle Swarm Optimization Algorithm

Flow of the workshop -

  • Where to use Numba in your code - (time profiling, small examples)
  • The wow of Numba in my life, a small example of how it helped in my research
  • Introduction to jit complier, internals of Numba
  • Introduction to the Particle Swarm Optimization (this is where the fun starts :) )
  • Code up basic PSO
  • Profile PSO to find pain areas
  • Try to speed up the pain areas using Numba
  • Kick up a hierarchical swarm (just for fun, if time permits)
  • QA Session

Prerequisites:

numpy, matplotlib, jupyter, ipython, numba, line_profiler , llvmlite. A more specific description is available here

Content URLs:

To get a feel of Numba see - first steps

Speaker Info:

Hi, I am Shubham Bhardwaj. I am currently a Research Intern at Jio CoE for AI/ML and a final year undergrad at VIT University, Vellore. I am a die-hard pythonista. My daily work involves developing and implementing algorithms for interesting problems in AI.

Apart from this I am also an organizer at GDGVIT, I love dev :) and contribute to various open source organisations, organise workshops, promote python whenever I can.

Speaker Links:

Section: Others
Type: Workshops
Target Audience: Advanced
Last Updated: