Skip to content

Praveen76/Parallel-programming-with-MPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Parallel Programming with MPI

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.

Learning Objectives

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

Files

  • Parallel_Programming_with_MPI.ipynb: The main Jupyter Notebook file that contains the code and explanations for parallel programming using MPI.

Getting Started

Prerequisites

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

Running the Notebook

  1. Clone the repository:
git clone https://github.com/Praveen76/Parallel-programming-with-MPI.git
  1. Navigate to the cloned directory:
cd Parallel-programming-with-MPI
  1. Launch Jupyter Notebook:
jupyter notebook
  1. Open the Parallel_Programming_with_MPI.ipynb notebook and run the cells to explore the concepts of parallel programming using MPI.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • 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.

Issues:

If you encounter any issues or have suggestions for improvement, please open an issue in the Issues section of this repository.


Contact:

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!!


About Me:

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published