Chapter 3. Stepping Up to IPython for Parallel Computing

In this chapter, we are going to look at the tools that IPython provides for parallel computing.

This chapter covers the following topics:

  • Multi-tasking
  • Threading
  • Multi-processing
  • IPython's parallel architecture
  • Getting started with ipyparallel
  • IPython parallel magic commands
  • Types of parallelism
  • SIMD and GPUs
  • SPMD and MapReduce
  • MIMD and MPMD
  • Task farming and load balancing
  • Data parallelism
  • Application steering

Serial processes

When first learning to program, many students find it difficult to think in terms of doing "one thing at a time". The advent of parallel machines relaxed this restriction. Unfortunately, doing several things at the same time is even more difficult than doing one thing at a time. ...

Get Mastering IPython 4.0 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.