https://github.com/joon-won/mpi_matrix_transpose
Parallelized Program for Mathematical Matrix Operations using Message Passing Interface
https://github.com/joon-won/mpi_matrix_transpose
mpi mpi4py python
Last synced: 3 months ago
JSON representation
Parallelized Program for Mathematical Matrix Operations using Message Passing Interface
- Host: GitHub
- URL: https://github.com/joon-won/mpi_matrix_transpose
- Owner: joon-won
- License: mit
- Created: 2021-12-03T08:59:30.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-22T20:30:50.000Z (about 4 years ago)
- Last Synced: 2025-03-29T05:34:04.711Z (10 months ago)
- Topics: mpi, mpi4py, python
- Language: Python
- Homepage:
- Size: 167 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MPI_Matrix_Transpose




[![LinkedIn][linkedin-shield]][linkedin-url]
This project utilizes [Message Passing Interface](https://en.wikipedia.org/wiki/Message_Passing_Interface) to create a distributed program that creates and outputs the transpose of the original matrix. There will be only one process with rank 0, that will read the file name with the input data, read from the file the values of n and m, read from the file the entire matrix, and will output the resulting matrix on the screen. All the other processes will receive portions of the matrix and contribute to creating the transposed matrix.
Table of Contents
## About The Project
![Sample_screenshot][example_ss]
There are many ways to build a distributed, scalable program to achieve high performance.
This project is built as demonstration of one of such parallel programming models using [MSMPI](https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi), to distribute mathematical operations on several threads to improve scalabilty, processing speed.
This program can be further modified to comply with other requirements.
With this program, you can:
* Transpose your beautiful matrix elegantly with parallel process.
### Built With
* [Python](https://www.python.org/)
* [mpi4py](https://mpi4py.readthedocs.io/en/stable/)
## Getting Started
This is a simple code with only dependency being [mpi4py](https://mpi4py.readthedocs.io/en/stable/)
### Prerequisites
MPI_Matrix_Transpose requires [mpi4py](https://mpi4py.readthedocs.io/en/stable/) library to run.
You can easily install the library through pip.
* mpi4py
```sh
pip -install mpi4py
```
### Installation
1. Clone the repo
```sh
git clone https://github.com/SHUcream00/MPI_Matrix_Transpose
```
## Usage
![usage_gather][example_ss2]
![usage_gather][example_ss3]
## Roadmap
- [x] Implement MPI
- [x] Finalize
This project is final.
## Contributing
This project is final and not being maintained. You can fork this repository and keep going on.
## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
## Contact
[![LinkedIn][linkedin-shield]][linkedin-url]
## Acknowledgments
I send my thanks to the authors of the following resources for helping me get this project get better.
* [Othneil Drew's Readme Template](https://github.com/othneildrew/Best-README-Template)
[linkedin-shield]: https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white
[linkedin-url]: https://www.linkedin.com/in/joon-won-choi
[example_ss]: images/example.png
[example_ss2]: images/MPI_Gather.gif
[example_ss3]: images/MPI_Scatter.gif