Book Image

Mastering IPython 4.0

By : Thomas Bitterman, Dipanjan Deb
Book Image

Mastering IPython 4.0

By: Thomas Bitterman, Dipanjan Deb

Overview of this book

IPython is an interactive computational environment in which you can combine code execution, rich text, mathematics, plots, and rich media. This book will get IPython developers up to date with the latest advancements in IPython and dive deep into interactive computing with IPython. This an advanced guide on interactive and parallel computing with IPython will explore advanced visualizations and high-performance computing with IPython in detail. You will quickly brush up your knowledge of IPython kernels and wrapper kernels, then we'?ll move to advanced concepts such as testing, Sphinx, JS events, interactive work, and the ZMQ cluster. The book will cover topics such as IPython Console Lexer, advanced configuration, and third-party tools. By the end of this book, you will be able to use IPython for interactive and parallel computing in a high-performance computing environment.
Table of Contents (18 chapters)
Mastering IPython 4.0
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
6
Works Well with Others – IPython and Third-Party Tools
Index

Types of parallelism


In 1966 Michael Flynn proposed a taxonomy of parallel programming models:

  • SISD: Single Instruction stream, Single Data stream

  • SIMD: Single Instruction stream, Multiple Data stream

  • MISD: Multiple Instruction stream, Single Data Stream

  • MIMD: Multiple Instruction stream, Multiple Data stream

This has not proven to be a completely satisfactory system. For example, it is possible for the same program to run in different categories during the same session, and the same hardware can be configured to operate in categories. In addition, experience with parallel systems has pointed out the need for additional models, including:

  • Single Program, Multiple Data streams (SPMD)

  • Multiple Programs, Single Data streams (MPMD)

  • Task farming

  • Data parallelism

In this chapter, we will look at the various categories and IPython's support for each.

The SISD model will not be covered here. The SISD model is the standard programming model for single processor machines and is covered in many other books.

SIMD...