An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# MPI_Matrix_Transpose
![License](https://img.shields.io/github/license/SHUcream00/MPI_Matrix_Transpose.svg)
![Forks](https://img.shields.io/github/forks/SHUcream00/MPI_Matrix_Transpose.svg)
![Stars](https://img.shields.io/github/stars/SHUcream00/MPI_Matrix_Transpose.svg)
![Watchers](https://img.shields.io/github/watchers/SHUcream00/MPI_Matrix_Transpose.svg)
[![LinkedIn][linkedin-shield]][linkedin-url]




MPI_Matrix_Transpose

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



  1. About The Project



  2. Getting Started


  3. Usage

  4. Roadmap

  5. Contributing

  6. License

  7. Contact

  8. Acknowledgments

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

(back to top)

### Built With

* [Python](https://www.python.org/)
* [mpi4py](https://mpi4py.readthedocs.io/en/stable/)

(back to top)

## 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
```

(back to top)

## Usage

![usage_gather][example_ss2]
![usage_gather][example_ss3]

(back to top)

## Roadmap

- [x] Implement MPI
- [x] Finalize

This project is final.

(back to top)

## Contributing

This project is final and not being maintained. You can fork this repository and keep going on.

(back to top)

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

(back to top)

## Contact

[![LinkedIn][linkedin-shield]][linkedin-url]

(back to top)

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