From 61bacfd131d1d57ae76404e57e42e77b0a42629a Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 15 May 2019 12:22:50 -0400
Subject: [PATCH] P4 to Git Change 1783301 by cpaquot@cpaquot-ocl-lc-lnx on
2019/05/15 11:57:57
SWDEV-189488 - [HIP] Caffe2 TensorTest.TensorSerializationMultiDevices fails
1. Make sure to set attributes->device to current device for host malloc'd
2. Return hipSuccess for hipDeviceCanAccessPeer
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_peer.cpp#4 edit
---
hipamd/api/hip/hip_memory.cpp | 4 +++-
hipamd/api/hip/hip_peer.cpp | 4 ++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/hipamd/api/hip/hip_memory.cpp b/hipamd/api/hip/hip_memory.cpp
index 5190bd4fdb..f34b9e99c0 100644
--- a/hipamd/api/hip/hip_memory.cpp
+++ b/hipamd/api/hip/hip_memory.cpp
@@ -1489,8 +1489,10 @@ hipError_t hipPointerGetAttributes(hipPointerAttribute_t* attributes, const void
attributes->allocationFlags = memObj->getMemFlags() >> 16;
amd::Context &memObjCtx = memObj->getContext();
- if (*hip::host_context == memObjCtx)
+ if (*hip::host_context == memObjCtx) {
+ attributes->device = ihipGetDevice();
HIP_RETURN(hipSuccess);
+ }
for (auto& ctx : g_devices) {
if (*ctx == memObjCtx) {
attributes->device = device;
diff --git a/hipamd/api/hip/hip_peer.cpp b/hipamd/api/hip/hip_peer.cpp
index 9c2da315ca..14a41f9953 100644
--- a/hipamd/api/hip/hip_peer.cpp
+++ b/hipamd/api/hip/hip_peer.cpp
@@ -55,7 +55,7 @@ hipError_t hipDeviceCanAccessPeer(int* canAccessPeer, int deviceId, int peerDevi
*canAccessPeer = 0;
- return hipErrorInvalidDevice;
+ return HIP_RETURN(hipSuccess);
}
hipError_t hipDeviceDisablePeerAccess(int peerDeviceId) {
@@ -106,4 +106,4 @@ hipError_t hipCtxDisablePeerAccess(hipCtx_t peerCtx) {
assert(0 && "Unimplemented");
HIP_RETURN(hipErrorUnknown);
-}
\ No newline at end of file
+}