esc / numba-talk

Repo for my Numba talk(s)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Numba Talk

My Numba talk.

Abstract

In this talk I will take you on a whirlwind tour of Numba and you will be quipped with a mental model of how Numba works and what it is good at. At the end, you will be able to decide if Numba could be useful for you.

In this talk I will take you on a whirlwind tour of Numba, the just-in-time, type-specializing, function compiler for accelerating numerically-focused Python. Numba can compile the computationally intensive functions of your numerical programs and libraries from Python/NumPy to highly optimized binary code. It does this by inferring the data types used inside these functions and uses that information to generate code that is specific to those data types and specialised for your target hardware. On top of that, it does all of this on-the-fly---or just-in-time---as your program runs. This significantly reduces the potential complexity that traditionally comes with pre-compiling and shipping numerical code for a variety of operating systems, Python versions and hardware architectures. All you need in principle, is to conda install numba and decorate your compute intensive functions with @njit!

This talk will equip you with a mental model of how Numba is implemented and how it works at the algorithmic level. You will gain a deeper understanding of the types of use-cases where Numba excels and why. Also, you will understand the limitations and caveats that exist within Numba, including any potential ideas and strategies that might alleviate these. At the end of the talk you will be in a good position to decide if Numba is for you and you will have learnt about the concrete steps you need to take to include it as a dependency in your program or library.

Speaker-Bio

esc is a long-time "Python for Data" user and developer who still remembers hearing Travis Oliphant's keynote at the EuroScipy 2007. This was during a time where he first became aware of the nascent scientific Python stack. He started using Python for simple modeling of spiking neurons and evaluation of data from perception experiments during his Masters degree in computational neuroscience. Since then he has been active as a contributor across more than 75 open source projects. For example, within the Blosc ecosystem where he still maintains and contributes to Python-Blosc and Bloscpack. Furthermore, he has acquired significant experience as a Git trainer and consultant and had published the first German language book about the topic in 2011. In 2014 and 2015 he helped kickstart the PyData Berlin community alongside a few other volunteers and co-organized the first two editions of the PyData Berlin Conference. He now works for Anaconda as a software engineer / open source developer on the Numba project.

Past Events

Dependencies

The talk is made with:

Licensing

Content

All Content is...

Included Dependencies

The following dependencies are shipped with the sources:

  • Wiki2beamer (file: wiki2beamer-0.10.0) is licensed under Gnu Public Licence v2
  • Minted (file: minted.sty) is licensed under LaTeX Project Public License version 1.3
  • ccBeamer (directory: creative_commons/) is licensed under Creative Commons Attribution-ShareAlike 3.0

About

Repo for my Numba talk(s)


Languages

Language:TeX 57.3%Language:Python 42.1%Language:Makefile 0.6%