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

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. In this section, we describe how a process is structured and some different scheduling mechanisms: batch systems, multitasking, and time slicing.

Program counters and address spaces

A program can be viewed as a series of instructions acting on data. When it is executed, the processor must keep track of which instruction(s) is to be executed during the current clock cycle, and what data the instruction refers to. The mechanism used by the processor to keep track of instructions is called a program counter. The idea of an address space is similar, but applicable to data. The move from serial to parallel architectures can be described in terms of the increasing complexity of these mechanisms.

Batch systems...