This is an archive of the discontinued LLVM Phabricator instance.

Support for OpenMP-Offload Record Replay
ClosedPublic

Authored by koparasy on Jul 24 2023, 3:17 PM.

Details

Summary

Enable record-replay for OpenMP offload kernels. On recording the initialization is performed on device initialization by reading env variables. (This is similar to the way rr used to operate). The primary change takes place in the replay phase with the replay tool explicitly initializing the record-replay functionality.

Diff Detail

Event Timeline

koparasy created this revision.Jul 24 2023, 3:17 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 24 2023, 3:17 PM
koparasy requested review of this revision.Jul 24 2023, 3:17 PM
jdoerfert accepted this revision.Jul 24 2023, 4:15 PM

I like the change to an explicit initialization rather than a env var based one (for the replay tool).
There are minor style changes we can fix in tree, and one issue with a missing sync. We also need tests.
All that said, I think we should get this into 17.

openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.cpp
171

There is some kind of sync missing here. We should not use an async retrieve to begin with, or wait for it.

This revision is now accepted and ready to land.Jul 24 2023, 4:15 PM
koparasy updated this revision to Diff 547319.Aug 4 2023, 1:06 PM

Add synchronize between data transfers

koparasy updated this revision to Diff 547454.Aug 5 2023, 12:30 AM
This revision was landed with ongoing or failed builds.Aug 5 2023, 12:47 AM
This revision was automatically updated to reflect the committed changes.