Description
Overview
It's never been easier to use all manner of interesting computing devices such as multicore CPUs, GPUs and FPGAs using OpenCL, an open heterogeneous computing standard, supported by major hardware vendors: Intel, NVIDIA, AMD, ARM, etc. And it's never been easier to use OpenCL via the excellent Python bindings, PyOpenCL.
In this talk, I will introduce the basics of the OpenCL programming and runtime APIs, using examples run in Jupyter notebooks on a variety of devices. I will also help identify the situations where it makes sense to accelerate portions of a codebase.
Audience
This talk is aimed at anyone who loves the expressiveness of Python, but has bumped into its performance limitations. I assume no background in HPC and/or heterogeneous computing, and will be using simple, yet hopefully relevant examples such as fundamental linear algebra and analysis applications.
By the end of the talk, provided it isn't a post-lunch slot, the audience should be ready to identify the hotspots in their code, and start accelerating using the CPUs, GPUs and FPGAs in their laptops and favourite public clouds such as AWS, Azure and GCE.