Skip to main content
main-content

Über dieses Buch

Build an inexpensive cluster of multiple Raspberry Pi computers and install all the required libraries to write parallel and scientific programs in Python 3. This book covers setting up your Raspberry Pis, installing the necessary software, and making a cluster of multiple Pis.
Once the cluster is built, its power has to be exploited by means of programs to run on it. So, Raspberry Pi Supercomputing and Scientific Programming teaches you to code the cluster with the MPI4PY library of Python 3. Along the way, you will learn the concepts of the Message Passing Interface (MPI) standards and will explore the fundamentals of parallel programming on your inexpensive cluster. This will make this book a great starting point for supercomputing enthusiasts who want to get started with parallel programming.
The book finishes with details of symbolic mathematics and scientific and numerical programming in Python, using SymPi, SciPy, NumPy, and Matplotlib. You’ll see how to process signals and images, carry out calculations using linear algebra, and visualize your results, all using Python code. With the power of a Raspberry Pi supercomputer at your fingertips, data-intensive scientific programming becomes a reality at home.
What You Will Learn Discover the essentials of supercomputing
Build a low-cost cluster of Raspberry Pis at home
Harness the power of parallel programming and the Message Passing Interface (MPI)
Use your Raspberry Pi for symbolic, numerical, and scientific programming

Who This Book Is For
Python 3 developers who seek the knowledge of parallel programming, Raspberry Pi enthusiasts, researchers, and the scientific Python community.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Introduction to Single Board Computers and Raspberry Pi

Abstract
We will start our exciting journey of exploration into the scientific domain of supercomputing and scientific programming with Raspberry Pi. But for us to begin the journey, we must be comfortable with the basics of the single board computers and Raspberry Pi. In this chapter, we will study the definition, history, and philosophy behind single board computers. We will first compare it with a regular computer. We will then move on to the most popular and best-selling single board computer of all time, the Raspberry Pi. By the end of this chapter, readers will have adequate knowledge to set up their own Raspberry Pi independently. This chapter aims to make the readers comfortable with the very basic concepts of single board computers and the setup of the Raspberry Pi.
Ashwin Pajankar

Chapter 2. Important Linux Commands and Remote Connectivity

Abstract
In the last chapter, we studied the basics of single board computers and how to set up your Pi. We also learned to connect the Pi to the Internet. I hope all readers are quite comfortable with the basics now. With this accomplished, we will dig a bit deeper into some more basics. In this chapter, we will be studying a few important Linux commands which will be useful to us. We will also study how to connect to the Pi remotely.
Ashwin Pajankar

Chapter 3. Introduction to Python

Abstract
In the last chapter, we learned important Linux commands and how to connect to Raspberry Pi from other computers remotely. We also learned how to transfer files to and from Raspberry Pi.
Ashwin Pajankar

Chapter 4. Introduction to Supercomputing

Abstract
In the last chapter, we learned the history and philosophy of the Python programming language.
Ashwin Pajankar

Chapter 5. Message Passing Interface

Abstract
In the last chapter, we learned the history and philosophy of supercomputers. We also learned important concepts related to supercomputing.
Ashwin Pajankar

Chapter 6. Building the Supercomputer

Abstract
This chapter covers several basic but important aspects of Pixlr Editor that will be especially useful for those new to image editing. This chapter covers the following topics:
Ashwin Pajankar

Chapter 7. Overclocking Raspberry Pi

Abstract
In this chapter, we will learn how to increase the computing power of the various models of Raspberry Pi by overclocking the various components of this amazing little computer. We will study how to overclock through raspi-config and by altering the contents of config.txt.
Ashwin Pajankar

Chapter 8. Parallel Programming in Python 3

Abstract
In the last chapter, we learned how to overclock various models of Raspberry Pi to increase their computational power. In this chapter, we will learn how to write parallel programs with Python and MPI4PY. I prefer Python due to its simplicity, and the code in Python is less scary. We will explore MPI concepts and implement those in Python with MPI4PY.
Ashwin Pajankar

Chapter 9. Introduction to SciPy Stack and Symbolic Programming

Abstract
In the last chapter, we learned how to use the Raspberry Pi cluster we built for parallel programming with MPI4PY and Python 3. In this chapter, we will be introduced to the SciPy stack and install it on the Pi. We will also get started with symbolic programming with SymPy.
Ashwin Pajankar

Chapter 10. Introduction to NumPy

Abstract
In the last chapter, we learned how to install the SciPy stack and how to use SymPy for symbolic computation with Python 3. In this chapter, we will be introduced to the NumPy library, and we will study the basics of NumPy. We will also learn the basics of plotting and visualizing data with Matplotlib. So let's begin the exciting journey into the world of scientific computing by learning the foundations of NumPy.
Ashwin Pajankar

Chapter 11. Introduction to SciPy

Abstract
In the last chapter, we learned how to perform numerical computation with NumPy. We also learned how to use Jupyter for our convenience and how to use matplotlib for visualization. In this chapter, we will be introduced to the SciPy library. However, our journey with NumPy and matplotlib is far from over.
Ashwin Pajankar

Chapter 12. Signal Processing with SciPy

Abstract
In the last chapter, we learned how to perform scientific computations with SciPy. We were introduced to a few modules of the SciPy library.
Ashwin Pajankar

Chapter 13. Image Processing with SciPy

Abstract
In the last chapter, we studied signal processing with SciPy.
Ashwin Pajankar

Chapter 14. Matplotlib

Abstract
In this chapter, we will study a few more image processing and data representation techniques with matplotlib. We have already used matplotlib in earlier chapters for plotting and displaying images. As mentioned in earlier chapters, matplotlib is a MATLAB-style data visualization library.
Ashwin Pajankar

Backmatter

Weitere Informationen