Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matthiasdiener/communication-samples
https://github.com/matthiasdiener/communication-samples
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/matthiasdiener/communication-samples
- Owner: matthiasdiener
- License: gpl-3.0
- Created: 2014-12-27T16:10:45.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-12-13T15:02:48.000Z (almost 8 years ago)
- Last Synced: 2024-03-18T02:11:02.228Z (8 months ago)
- Language: C
- Size: 16.6 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Communication in parallel applications based on shared memory: sample code
This project contains a set of small benchmarks to show various different communication patterns in parallel applications based on the shared memory paradigm (more specifically, the OpenMP standard).
## Benchmarks
The following benchmarks are provided:
### init
Simple initialization code with an initialization communication pattern.### reduce
Simple reduction code with a reduction communication pattern.### matrix
Matrix multiplication with an all-to-all communication pattern.### gauss-seidel
Gauss-Seidel method with a nearest-neighbor communication pattern.### gauss-blur
Gaussian blur with a matrix communication pattern.### prodcons
Producer-consumer benchmark with a pipeline communication pattern.## Compilation
Compile the benchmarks with
make
## Execution
Benchmarks inputs have been chosen such that the patterns are best visible with 8 threads.
Therefore, executing with 8 threads is recommended, even on platforms that support executing more or less than 8 threads at the same time.export OMP_NUM_THREADS=8
./init