Book Image

Mastering Python Scientific Computing

Book Image

Mastering Python Scientific Computing

Overview of this book

Table of Contents (17 chapters)
Mastering Python Scientific Computing
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Parallel computing using IPython


IPython allows users to perform parallel and high-performance computing in an interactive manner. We can use IPython's built-in support for parallel computing, which consists of four components that make IPython suitable for most types of parallelism. Specifically, IPython supports the following types of parallelism:

  • Single program, multiple data parallelism (SPMD): This is the most common style of parallel programming, and it is a subtype of Multiple Instruction and Multiple Data (MIMD). In this model, each task executes its own copy of the same program. Each task processes different datasets to achieve better performance.

  • Multiple program, multiple data parallelism: In the multiple program, multiple data (MPMD) style, each task executes different programs that process different datasets on each participant computing node.

  • Message passing using MPI: A Message Passing Interface (MPI) is a specification for developers of message passing libraries. It is a...