Skip to content

Increase performances of the omp-for model - #3

Open
nicolas-bouton wants to merge 5 commits into
UoB-HPC:masterfrom
SiPearl:nb/increase-omp-for-performance
Open

Increase performances of the omp-for model#3
nicolas-bouton wants to merge 5 commits into
UoB-HPC:masterfrom
SiPearl:nb/increase-omp-for-performance

Conversation

@nicolas-bouton

Copy link
Copy Markdown

The guided OpenMP schedule kind doesn't provide the best performances.

By running different tests, it is exhibited that the dynamic schedule kind achieves the best performances even with the default chunk size.

However, more performance can be obtained by tweaking the chunk size, so this patch allows the user to decide at runtime which OpenMP schedule kind to use (along with its own chunk size).

Also, the timer was not restarted after calling the upwards function, thus the dtt timer was computed using the time spent in the upwards + deps + compute functions instead of deps + compute functions. For readability the deps and compute code has been moved into the omp_dtt function.

The guided OpenMP schedule kind doesn't provide the best performances.

By running different tests, it is exhibited that the dynamic schedule kind
achieves the best performances even with the default chunk size.

However, more performance can be obtained by tweaking the chunk size, so this
patch allows the user to decide at runtime which OpenMP schedule kind to use
(along with its own chunk size).

* omp-for/traversal.hh: Here.

Signed-off-by: Nicolas Bouton <nicolas.bouton@sipearl.com>
Other models don’t measure how long deps arrays take to be created.

* omp-for/traversal.hh: Here.

Signed-off-by: Nicolas Bouton <nicolas.bouton@sipearl.com>
The timer was not restarted after calling the upwards function, thus the dtt
timer was computed using the time spent in the upwards + deps + compute
functions instead of deps + compute functions. For readability the deps and
compute code has been moved into the omp_dtt function.

* omp-for/traversal.hh: Here.

Signed-off-by: Nicolas Bouton <nicolas.bouton@sipearl.com>
As with other model implementations.

* omp-for/traversal.hh: Here.

Signed-off-by: Nicolas Bouton <nicolas.bouton@sipearl.com>
* omp-for/traversal.hh: Here.

Signed-off-by: Nicolas Bouton <nicolas.bouton@sipearl.com>
@nicolas-bouton
nicolas-bouton force-pushed the nb/increase-omp-for-performance branch from 470e400 to 43d6514 Compare August 12, 2026 08:22
@nicolas-bouton

Copy link
Copy Markdown
Author

The commits were amended to provide additional context for each change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant