An open API service indexing awesome lists of open source software.

https://github.com/sandialabs/parallel_task_bench

OMP-TB is a collection of benchmarks to measure tasking performance and tasking-related features in OpenMP.
https://github.com/sandialabs/parallel_task_bench

scr-2805 snl-mini-apps

Last synced: 3 months ago
JSON representation

OMP-TB is a collection of benchmarks to measure tasking performance and tasking-related features in OpenMP.

Awesome Lists containing this project

README

        

# Parallel Task Bench (PTB)

PTB is a collection of benchmarks to measure tasking performance and tasking-related features. Currently it includes benchmark as listed below. In general, such benchmarks are useful to evaluate compiler language support as well as its efficient implementation.

## PTB Benchmarks
- reductions/dot (Dot Product)
- reductions/fib (Fibonacci)
- reductions/powerset (Powerset Permutations)
- reductions/powerset-final (Powerset Permutations using the final OpenMP clause)
- reductions/powerset-UDR (Powerset Permutations using user-defined reductions)
- reductions/others/array_sum (Array Sum)
- reductions/others/knapsack (Knapsack)
- reductions/others/knightstour (Knights Tour)
- reductions/others/max_height_tree (Max Height)
- reductions/others/nbinarywords (n-Permutations)
- reductions/others/nqueens (N-Queens)
- reductions/others/TSP (Travelling Salesman Problem)

## Usage

This software suite uses the CMake meta build system. The following steps show an example of how to configure and build OMP-TB relative to the source root directory for the GCC/g++ compiler and a user-defined reduction over type size of 4 bytes.
```
export COMPILER=g++
export TYPE_SIZE=4
mkdir build && cd build
cmake -DCMAKE_CXX_COMPILER=$COMPILER -DRED_TYPE_SIZE=$TYPE_SIZE
make -j
```

## Performance Insights

Executing the included run scripts on a two-nodes dual-socket 24-core Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz gives the following performance charts.