This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Changes in the plugin interface
ClosedPublic

Authored by grokos on May 9 2017, 9:25 PM.

Details

Summary

This patch applies the changes in the plugin interface that were requested some time ago. More specifically:

  • __tgt_rtl_data_alloc is called with an extra argument, the corresponding host address of the data we want to map. On systems with shared physical memory between the CPU and the device the plugin can decide whether to use shared storage instead of allocating space on the device.
  • __tgt_rtl_run_target_region and __tgt_rtl_run_target_team_region iare now passed the target addresses of the kernel's arguments and the base offsets explicitly instead of the base addresses. This fixes a problem with Xeon Phi(TM) and the COI API which operates with pointers to allocated data, not base addresses.

Thanks to Serguei Dmitriev for submitting the proposal and the initial patch.

Diff Detail

Event Timeline

grokos created this revision.May 9 2017, 9:25 PM
Hahnfeld accepted this revision.May 10 2017, 5:42 AM

LGTM. Have you run clang-format on omptargetplugin.h? Some lines look weirdly wrapped...

This revision is now accepted and ready to land.May 10 2017, 5:42 AM

Please always add the relevant -commits mailing list

This revision was automatically updated to reflect the committed changes.

Thanks for reviewing! I fixed the format of omptargetplugin.h.