devreal / parallel_task_bench

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

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

License:Other


Languages

Language:ReScript 95.5%Language:C++ 3.3%Language:Shell 0.7%Language:C 0.3%Language:Python 0.2%Language:CMake 0.0%