https://github.com/iliatrofimov/parallel-multiplication
OpenMP and MPI implementation of Fox's algorithm for matrix multiplication.
https://github.com/iliatrofimov/parallel-multiplication
openmp openmpi parallel-programming
Last synced: about 1 year ago
JSON representation
OpenMP and MPI implementation of Fox's algorithm for matrix multiplication.
- Host: GitHub
- URL: https://github.com/iliatrofimov/parallel-multiplication
- Owner: IliaTrofimov
- Created: 2024-02-25T20:49:18.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-31T13:36:57.000Z (about 2 years ago)
- Last Synced: 2025-04-01T07:21:22.668Z (about 1 year ago)
- Topics: openmp, openmpi, parallel-programming
- Language: C++
- Homepage:
- Size: 332 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Parallel matrix multiplication
***Fox's algorithm***
This repository contains some implementations of Fox's algorithm for parallel matriceis multiplication.
You also can find here some utility functions for reading, printing, creating and comparing matricies.
Use different test methods in `main.c` to compare perfomance of different implementations.
C language implementations use flat arrays of type `double*` and size $n^2$ to store square matricies of size $n \times n$.
----
### TODO:
1. Erlang version;
2. Haskell version;
3. FPTL version (see FPTL [GitHub repo](https://github.com/Zumisha/FPTL));
----
### Installment
- I don't know how to run **OpenMP** library on Mac, so it's better to use Windows with Visual Studio. It should be avaliable by default.
To actually use OpenMP go to your C++ *project properties* -> *C/C++* -> *language* -> *Open MP support*.
- **MPI** library may be not installed with Visual Studio, but you can get it from [microsoft.com](https://www.microsoft.com/en-us/download/details.aspx?id=105289).
Also MPI might not work, so you will have to correctly add references to its files, see this [tutorial](https://610yilingliu.github.io/2020/07/21/ConfigureOpenMPI/).
If this won't help, you might need download `msmpi.dll` from internet and place it nearby.