From 045ec1919e26f6a51b1615f90082bbcc100a7ce4 Mon Sep 17 00:00:00 2001 From: Maneesh Gupta Date: Mon, 31 Jul 2023 08:53:58 -0400 Subject: [PATCH] Revert "SWDEV-264166 - [ABI Break] goodbye gcnArch, hello gcnArchName" This reverts commit 20add33513de67b3344fdc104a4917519633d40d. Change-Id: Ia7b9ca115be4f9591b195194eed967fc6c330012 [ROCm/clr commit: 8c89d165723cd2a223e213321a571efaa9f6c037] --- .../hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h | 1 + projects/clr/hipamd/src/hip_device.cpp | 2 ++ projects/clr/hipamd/src/hip_peer.cpp | 4 +--- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h b/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h index 72e2c5271e..a6331d9fc9 100644 --- a/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h +++ b/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h @@ -2034,6 +2034,7 @@ inline static hipError_t hipGetDeviceProperties(hipDeviceProp_t* p_prop, int dev p_prop->maxSharedMemoryPerMultiProcessor = cdprop.sharedMemPerMultiprocessor; p_prop->isMultiGpuBoard = cdprop.isMultiGpuBoard; p_prop->canMapHostMemory = cdprop.canMapHostMemory; + p_prop->gcnArch = 0; // Not a GCN arch p_prop->integrated = cdprop.integrated; p_prop->cooperativeLaunch = cdprop.cooperativeLaunch; p_prop->cooperativeMultiDeviceLaunch = cdprop.cooperativeMultiDeviceLaunch; diff --git a/projects/clr/hipamd/src/hip_device.cpp b/projects/clr/hipamd/src/hip_device.cpp index f114a8fd91..268e2ca815 100644 --- a/projects/clr/hipamd/src/hip_device.cpp +++ b/projects/clr/hipamd/src/hip_device.cpp @@ -337,6 +337,8 @@ hipError_t ihipGetDeviceProperties(hipDeviceProp_t* props, hipDevice_t device) { deviceProps.pciDeviceID = info.deviceTopology_.pcie.device; deviceProps.maxSharedMemoryPerMultiProcessor = info.localMemSizePerCU_; deviceProps.canMapHostMemory = 1; + // FIXME: This should be removed, targets can have character names as well. + deviceProps.gcnArch = isa.versionMajor() * 100 + isa.versionMinor() * 10 + isa.versionStepping(); sprintf(deviceProps.gcnArchName, "%s", isa.targetId()); deviceProps.cooperativeLaunch = info.cooperativeGroups_; deviceProps.cooperativeMultiDeviceLaunch = info.cooperativeMultiDeviceGroups_; diff --git a/projects/clr/hipamd/src/hip_peer.cpp b/projects/clr/hipamd/src/hip_peer.cpp index 4a7b8e4db1..17dc65da05 100644 --- a/projects/clr/hipamd/src/hip_peer.cpp +++ b/projects/clr/hipamd/src/hip_peer.cpp @@ -151,9 +151,7 @@ hipError_t hipDeviceGetP2PAttribute(int* value, hipDeviceP2PAttr attr, // Linear layout access is supported if P2P is enabled // Opaque Images are supported only on homogeneous systems // Might have more conditions to check, in future. - if ((0 == - strncmp(srcDeviceProp.gcnArchName, dstDeviceProp.gcnArchName, - sizeof(srcDeviceProp.gcnArchName)))) { + if (srcDeviceProp.gcnArch == dstDeviceProp.gcnArch) { HIP_RETURN_ONFAIL(canAccessPeer(value, srcDevice, dstDevice)); } else { *value = 0;