Skip to content
/ bmm Public
forked from kpetridis24/bmm

High performance C++ implementation of Boolean Matrix Multiplication using MPI and OpenMP

Notifications You must be signed in to change notification settings

georgegito/bmm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

make

Compile and run parallel version:

make openmp

Compile and run distributed version:

make mpi

Compile and run hybrid version:

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.

About

High performance C++ implementation of Boolean Matrix Multiplication using MPI and OpenMP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.9%
  • MATLAB 7.0%
  • Makefile 1.1%