- Historically used for loop-level and regular parallelism through its compiler directives
- From OpenMP 3.0, supports task parallelism
- Provides language contrasts for both task and data parallelism
- Simple and High level of abstraction
- Scheduling policy provides load balance close to the optimal
- Deprecated in 2018
- Object C++ runtime library
- Contains data structures and algorithms used in parallel programs
- Abstracts the low-level thread interface
Problem Size Setup : increased number of vertices and set the number of edges as a factor of 12 of the number of vertices.
(reference : Hong, Sungpack & Kim, Sang Kyun & Oguntebi, Tayo & Olukotun, Kunle. (2011). Accelerating CUDA graph algorithms at maximum warp)
Comparing the performance overhead with different scheduling methods (Static, Dynamic, Guided) with OpenMP
Comparing the workload balance with different scheduling methods (Static, Dynamic, Guided) with OpenMP
(From here, used a different computer enviorment due to small issues on the TBB setup which could have caused some problems)