This repository contains a Jupyter Notebook that demonstrates the implementation of standard message-passing algorithms using MPI (Message Passing Interface). It aims to help you understand the basics of point-to-point communication, blocking and non-blocking communication, and collective communication, along with their impact on program performance.
At the end of this experiment, you will be able to:
- Implement standard message-passing algorithms in MPI
- Debug simple MPI code
- Understand the basics of point-to-point communication
- Understand the difference between blocking and non-blocking communication
- Understand how non-blocking communication can improve program performance
- Understand the basics of collective communication
- Learn about the different types of collective communication
- Parallel_Programming_with_MPI.ipynb: The main Jupyter Notebook file that contains the code and explanations for parallel programming using MPI.
To run the notebook, you need to have the following installed:
- Python 3.x
- Jupyter Notebook
mpi4py
package (MPI for Python)
You can install the required packages using pip
:
pip install notebook mpi4py
Additionally, you need to have MPI installed on your system. For example, on Ubuntu, you can install mpich
or openmpi
using:
sudo apt-get install mpich
# or
sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev
- Clone the repository:
git clone https://github.com/Praveen76/Parallel-programming-with-MPI.git
- Navigate to the cloned directory:
cd Parallel-programming-with-MPI
- Launch Jupyter Notebook:
jupyter notebook
- Open the
Parallel_Programming_with_MPI.ipynb
notebook and run the cells to explore the concepts of parallel programming using MPI.
This project is licensed under the MIT License. See the LICENSE file for details.
- The developers of Jupyter Notebook for providing an interactive platform to demonstrate and learn concepts.
- The MPI for Python (
mpi4py
) community for creating and maintaining a robust tool for parallel programming.
If you encounter any issues or have suggestions for improvement, please open an issue in the Issues section of this repository.
The code has been tested on Windows system. It should work well on other distributions but has not yet been tested. In case of any issue with installation or otherwise, please contact me on Linkedin
Happy coding!!
I’m a seasoned Data Scientist and founder of TowardsMachineLearning.Org. I've worked on various Machine Learning, NLP, and cutting-edge deep learning frameworks to solve numerous business problems.