https://github.com/kpetridis24/bmm
High performance Boolean-Matrix-Multiplication using MPI and OpenMP
https://github.com/kpetridis24/bmm
boolean distributed-computing high-performance linear-algebra masked matrix-multiplication parallel-computing
Last synced: 28 days ago
JSON representation
High performance Boolean-Matrix-Multiplication using MPI and OpenMP
- Host: GitHub
- URL: https://github.com/kpetridis24/bmm
- Owner: kpetridis24
- Created: 2021-07-31T11:46:36.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-10-14T15:13:53.000Z (over 4 years ago)
- Last Synced: 2023-03-06T08:59:12.176Z (over 3 years ago)
- Topics: boolean, distributed-computing, high-performance, linear-algebra, masked, matrix-multiplication, parallel-computing
- Language: C++
- Homepage:
- Size: 6.67 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Parallel & Distributed Boolean Matrix Multiplication Using Blocks
This project exhibits the implementation of a fast, high-performance *BMM* algorithm for sparse matrices. Blocking is introduced as a practical way of accelerating *BMM* and facilitating its parallelism, while *MPI* and *OpenMP* are used to distribute and parallelize the computations respectively.
## Build instructions
Compile and run *sequential* version:
```bash
make
```
Compile and run *parallel* version:
```bash
make openmp
```
Compile and run *distributed* version:
```bash
make mpi
```
Compile and run *hybrid* version:
```bash
make hybrid
```
\* An *OpenMP* and *MPI* compatible compiler is required.
\*\* Input datasets can be generated with `generator.m` and have to be placed in `mtx/in` folder.
\*\*\* In order for the tester to work, the result matrix `C.mtx` from `generator.m` have to be placed in `mtx/out` folder.