https://github.com/phrb/cpd-ep1
EP1 para a disciplina de Computação Paralela e Distribuída
https://github.com/phrb/cpd-ep1
Last synced: about 1 year ago
JSON representation
EP1 para a disciplina de Computação Paralela e Distribuída
- Host: GitHub
- URL: https://github.com/phrb/cpd-ep1
- Owner: phrb
- License: gpl-3.0
- Created: 2015-03-28T17:03:36.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-04-07T23:20:08.000Z (about 11 years ago)
- Last Synced: 2025-02-02T14:48:54.825Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 1.92 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Files
* Makefile:
Builds all C sources.
=======
* mult_orig.c:
Original version of matrix multiplication.
* mult_seq.c:
Sequential version of matrix multiplication (with time measuring).
* mult_seq_prio.c:
Sequential version with realtime priority (results not used in report).
* mult_par_v1.c:
Parallel version of matrix multiplication. Parallelization: inner loop (k)
* mult_par_v2.c:
Parallel version of matrix multiplication. Parallelization: middle loop (j)
* mult_par_v3.c:
Parallel version of matrix multiplication. Parallelization: outer loop (i)
=======
* measure_par.py:
Measure parallel version repeatedly and save stats in file.
* measure_seq.py:
Measure sequential version repeatedly output stats.
=======
* showresult*.dem:
Gnuplot scripts to generate diagrams.
* measure_all.sh:
Bash script to execute test series with different program versions.
## Measurement
* Compile executables: make
* Edit mult_measure_par.py to set matrix size, iterations, number of threads.
* Measurement: ./mult_measure_par.py .
* Edit showresult*.dem to adjust.
* Generate diagram e.g.: gnuplot showresult_cmp_versions.dem.
* Generate all diagrams at once ./produce_diagrams.sh
## Tips 'n tricks
Generate stress on OS with [this tool](http://weather.ou.edu/~apw/projects/stress/):
```stress --cpu 8 --vm 4 --timeout 200s```
(was used compare a normal with a high priorized version (mult_seq_prio.c))