[Openmp-commits] [openmp] 2933845 - [OpenMP] Trim error messages in CUDA plugin
via Openmp-commits
openmp-commits at lists.llvm.org
Mon Mar 29 09:20:41 PDT 2021
Author: Joseph Huber
Date: 2021-03-29T12:20:19-04:00
New Revision: 29338459fb7e5f063ec5c22bd4aa0067647317cf
URL: https://github.com/llvm/llvm-project/commit/29338459fb7e5f063ec5c22bd4aa0067647317cf
DIFF: https://github.com/llvm/llvm-project/commit/29338459fb7e5f063ec5c22bd4aa0067647317cf.diff
LOG: [OpenMP] Trim error messages in CUDA plugin
Summary:
Remove some of the error messages printed when the CUDA plugin fails. The current error messages can be confusing because they are the first error messages printed after the async stream finds an error. This means that the printed values aren't related to what caused the issue, but are simply the last asyncronous operation that succeeded on the device. Remove these as they can be misleading.
Reviewers: jdoerfert
Differential Revision: https://reviews.llvm.org/D99510
Added:
Modified:
openmp/docs/design/Runtimes.rst
openmp/libomptarget/plugins/cuda/src/rtl.cpp
Removed:
################################################################################
diff --git a/openmp/docs/design/Runtimes.rst b/openmp/docs/design/Runtimes.rst
index ad36e43eccdc..7f281a6d5cb3 100644
--- a/openmp/docs/design/Runtimes.rst
+++ b/openmp/docs/design/Runtimes.rst
@@ -220,7 +220,6 @@ going wrong.
.. code-block:: text
- CUDA error: Error when copying data from device to host.
CUDA error: an illegal memory access was encountered
Libomptarget error: Copying data from device failed.
Libomptarget error: Call to targetDataEnd failed, abort target.
diff --git a/openmp/libomptarget/plugins/cuda/src/rtl.cpp b/openmp/libomptarget/plugins/cuda/src/rtl.cpp
index a2f3cf4ba0c8..25c80ee6021b 100644
--- a/openmp/libomptarget/plugins/cuda/src/rtl.cpp
+++ b/openmp/libomptarget/plugins/cuda/src/rtl.cpp
@@ -114,9 +114,9 @@ int memcpyDtoD(const void *SrcPtr, void *DstPtr, int64_t Size,
cuMemcpyDtoDAsync((CUdeviceptr)DstPtr, (CUdeviceptr)SrcPtr, Size, Stream);
if (Err != CUDA_SUCCESS) {
- REPORT("Error when copying data from device to device. Pointers: src "
- "= " DPxMOD ", dst = " DPxMOD ", size = %" PRId64 "\n",
- DPxPTR(SrcPtr), DPxPTR(DstPtr), Size);
+ DP("Error when copying data from device to device. Pointers: src "
+ "= " DPxMOD ", dst = " DPxMOD ", size = %" PRId64 "\n",
+ DPxPTR(SrcPtr), DPxPTR(DstPtr), Size);
CUDA_ERR_STRING(Err);
return OFFLOAD_FAIL;
}
@@ -823,9 +823,9 @@ class DeviceRTLTy {
Err = cuMemcpyHtoDAsync((CUdeviceptr)TgtPtr, HstPtr, Size, Stream);
if (Err != CUDA_SUCCESS) {
- REPORT("Error when copying data from host to device. Pointers: host "
- "= " DPxMOD ", device = " DPxMOD ", size = %" PRId64 "\n",
- DPxPTR(HstPtr), DPxPTR(TgtPtr), Size);
+ DP("Error when copying data from host to device. Pointers: host "
+ "= " DPxMOD ", device = " DPxMOD ", size = %" PRId64 "\n",
+ DPxPTR(HstPtr), DPxPTR(TgtPtr), Size);
CUDA_ERR_STRING(Err);
return OFFLOAD_FAIL;
}
@@ -845,9 +845,9 @@ class DeviceRTLTy {
Err = cuMemcpyDtoHAsync(HstPtr, (CUdeviceptr)TgtPtr, Size, Stream);
if (Err != CUDA_SUCCESS) {
- REPORT("Error when copying data from device to host. Pointers: host "
- "= " DPxMOD ", device = " DPxMOD ", size = %" PRId64 "\n",
- DPxPTR(HstPtr), DPxPTR(TgtPtr), Size);
+ DP("Error when copying data from device to host. Pointers: host "
+ "= " DPxMOD ", device = " DPxMOD ", size = %" PRId64 "\n",
+ DPxPTR(HstPtr), DPxPTR(TgtPtr), Size);
CUDA_ERR_STRING(Err);
return OFFLOAD_FAIL;
}
@@ -897,10 +897,9 @@ class DeviceRTLTy {
if (Err == CUDA_SUCCESS)
return OFFLOAD_SUCCESS;
- REPORT("Error returned from cuMemcpyPeerAsync. src_ptr = " DPxMOD
- ", src_id =%" PRId32 ", dst_ptr = " DPxMOD ", dst_id =%" PRId32
- "\n",
- DPxPTR(SrcPtr), SrcDevId, DPxPTR(DstPtr), DstDevId);
+ DP("Error returned from cuMemcpyPeerAsync. src_ptr = " DPxMOD
+ ", src_id =%" PRId32 ", dst_ptr = " DPxMOD ", dst_id =%" PRId32 "\n",
+ DPxPTR(SrcPtr), SrcDevId, DPxPTR(DstPtr), DstDevId);
CUDA_ERR_STRING(Err);
}
@@ -1044,9 +1043,9 @@ class DeviceRTLTy {
AsyncInfo->Queue = nullptr;
if (Err != CUDA_SUCCESS) {
- REPORT("Error when synchronizing stream. stream = " DPxMOD
- ", async info ptr = " DPxMOD "\n",
- DPxPTR(Stream), DPxPTR(AsyncInfo));
+ DP("Error when synchronizing stream. stream = " DPxMOD
+ ", async info ptr = " DPxMOD "\n",
+ DPxPTR(Stream), DPxPTR(AsyncInfo));
CUDA_ERR_STRING(Err);
}
return (Err == CUDA_SUCCESS) ? OFFLOAD_SUCCESS : OFFLOAD_FAIL;
More information about the Openmp-commits
mailing list