This is an archive of the discontinued LLVM Phabricator instance.

Fix for large overhead in OpenMP runtime with itt notifications on region/barrier name composing
ClosedPublic

Authored by jlpeyton on Jun 13 2016, 2:15 PM.

Details

Summary

Currently, there is a big overhead in reporting of loop metadata through ittnotify.
The pair of functions: __kmp_str_loc_init/__kmp_str_loc_free are replaced with strchr/atoi calls.
Thus, a lot of time consuming actions are skipped - many memory allocations/deallocations, heavy string duplication, etc.
The loop metadata only needs line and column info from the source string, so no allocations and string splitting actually needed.

Patch by Andrey Churbanov

Diff Detail

Repository
rL LLVM

Event Timeline

jlpeyton updated this revision to Diff 60601.Jun 13 2016, 2:15 PM
jlpeyton retitled this revision from to Fix for large overhead in OpenMP runtime with itt notifications on region/barrier name composing.
jlpeyton updated this object.
jlpeyton added reviewers: tlwilmar, omalyshe, hbae.
jlpeyton set the repository for this revision to rL LLVM.
jlpeyton added a subscriber: openmp-commits.
tlwilmar accepted this revision.Jun 13 2016, 2:17 PM
tlwilmar edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jun 13 2016, 2:17 PM
This revision was automatically updated to reflect the committed changes.