Chapter 5. High-performance Computing

In this chapter, we will cover the following topics:

  • Accelerating pure Python code with Numba and Just-In-Time compilation
  • Accelerating array computations with Numexpr
  • Wrapping a C library in Python with ctypes
  • Accelerating Python code with Cython
  • Optimizing Cython code by writing less Python and more C
  • Releasing the GIL to take advantage of multi-core processors with Cython and OpenMP
  • Writing massively parallel code for NVIDIA graphics cards (GPUs) with CUDA
  • Writing massively parallel code for heterogeneous platforms with OpenCL
  • Distributing Python code across multiple cores with IPython
  • Interacting with asynchronous parallel tasks in IPython
  • Parallelizing code with MPI in IPython
  • Trying the Julia language in the notebook ...

Get IPython Interactive Computing and Visualization Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.