llvm-project/openmp/libomptarget/plugins
Shilei Tian a014fbbc21 [OpenMP] Improve D2D memcpy to use more efficient driver API
Summary:
In current implementation, D2D memcpy is first to copy data back to host and then
copy from host to device. This is very efficient if the device supports D2D
memcpy, like CUDA.

In this patch, D2D memcpy will first try to use native supported driver API. If
it fails, fall back to original way. It is worth noting that D2D memcpy in this
scenerio contains two ideas:
- Same devices: this is the D2D memcpy in the CUDA context.
- Different devices: this is the PeerToPeer memcpy in the CUDA context.
My implementation merges this two parts. It chooses the best API according to
the source device and destination device.

Reviewers: jdoerfert, AndreyChurbanov, grokos

Reviewed By: jdoerfert

Subscribers: yaxunl, guansong, sstefan1, openmp-commits

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D80649
2020-06-04 16:59:06 -04:00
..
aarch64 Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
common [Openmp][VE] Libomptarget plugin for NEC SX-Aurora 2020-05-12 10:47:30 +02:00
cuda [OpenMP] Improve D2D memcpy to use more efficient driver API 2020-06-04 16:59:06 -04:00
generic-elf-64bit/src [OpenMP] Put old APIs back and added new _async series for backward compatibility 2020-04-09 22:40:58 -04:00
ppc64 Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ppc64le Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ve [Openmp][VE] Libomptarget plugin for NEC SX-Aurora 2020-05-12 10:47:30 +02:00
x86_64 Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
CMakeLists.txt [Openmp][VE] Libomptarget plugin for NEC SX-Aurora 2020-05-12 10:47:30 +02:00
exports [OpenMP] Improve D2D memcpy to use more efficient driver API 2020-06-04 16:59:06 -04:00