🎉 First commit
This commit is contained in:
commit
3b8d21dde2
17 changed files with 571 additions and 0 deletions
60
README.md
Normal file
60
README.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
# Parallel matrix multiplication
|
||||
|
||||
Performance tests for parallel matrix multiplication algorithms.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Install the required python libraries, found in `requirements.txt`. The following command shows how to do it using `pip`, but `conda` or any package manager can also be used.
|
||||
|
||||
```shell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. Build the matrix multiplication executables using `make`.
|
||||
|
||||
```shell
|
||||
cd MatMult
|
||||
make
|
||||
```
|
||||
|
||||
3. Run the experiments using the launcher.
|
||||
|
||||
```shell
|
||||
cd ..
|
||||
python launcher.py experiments.csv
|
||||
```
|
||||
|
||||
4. Generate the graphics, using the results of the experiments from every machine.
|
||||
|
||||
```shell
|
||||
python graphics.py experiments1.csv experiments2.csv experiments3.csv -o img/
|
||||
```
|
||||
|
||||
## Results
|
||||
|
||||
The experimentation results are summarized in the following figures.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
In this case, the experiments were run in 3 different machines:
|
||||
|
||||
- A ml.c5.9xlarge AWS instance, with 36 vCPUs and 72 GiB RAM.
|
||||
- A ml.m5.8xlarge AWS instance, with 32 vCPUs and 128 GiB RAM.
|
||||
- A ml.r5.8xlarge AWS instance, with 32 vCPUs and 128 GiB RAM.
|
||||
|
||||
Every matrix size - number of threads combination was executed 30 times, in order to make the experiments statistically significant. The values in the graphics represent the mean values of those 30 repetitions.
|
||||
|
||||
### Metrics
|
||||
|
||||
The following metrics summarize the experimentation results, regarding the algorithms performance for different number of threads:
|
||||
|
||||
- Speed up: $$Sp = \frac{t_{serial}}{t_{parallel}}$$
|
||||
|
||||

|
||||
|
||||
- Efficiency: $$Ep = \frac{Sp}{p}$$
|
||||
|
||||

|
Loading…
Add table
Add a link
Reference in a new issue