From 072d96516ebf9473df3071996328d41205fac488 Mon Sep 17 00:00:00 2001 From: foreman Date: Thu, 13 Jun 2019 12:47:17 -0400 Subject: [PATCH] P4 to Git Change 1815146 by cpaquot@cpaquot-ocl-lc-lnx on 2019/06/12 13:43:33 SWDEV-192333 - [HIP] Implemented hipExtMallocWithFlags and hipExtGetLinkTypeAndHopCount Affected files ... ... //depot/stg/opencl/drivers/opencl/api/hip/hip_device_runtime.cpp#16 edit ... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.def.in#16 edit ... //depot/stg/opencl/drivers/opencl/api/hip/hip_hcc.map.in#18 edit ... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#59 edit [ROCm/clr commit: 752a4e57b694d9d1eaeef1f84545b4346e1a9e3a] --- .../clr/hipamd/api/hip/hip_device_runtime.cpp | 19 +++++++++++++++++++ projects/clr/hipamd/api/hip/hip_hcc.def.in | 2 ++ projects/clr/hipamd/api/hip/hip_hcc.map.in | 2 ++ projects/clr/hipamd/api/hip/hip_memory.cpp | 11 +++++++++++ 4 files changed, 34 insertions(+) diff --git a/projects/clr/hipamd/api/hip/hip_device_runtime.cpp b/projects/clr/hipamd/api/hip/hip_device_runtime.cpp index fea9fb4dd9..eabf622f28 100644 --- a/projects/clr/hipamd/api/hip/hip_device_runtime.cpp +++ b/projects/clr/hipamd/api/hip/hip_device_runtime.cpp @@ -476,3 +476,22 @@ hipError_t hipSetValidDevices ( int* device_arr, int len ) { HIP_RETURN(hipErrorUnknown); } +hipError_t hipExtGetLinkTypeAndHopCount(int device1, int device2, uint32_t* linktype, uint32_t* hopcount) { + HIP_INIT_API(device1, device2, linktype, hopcount); + + const int numDevices = static_cast(g_devices.size()); + + if ((device1 < 0) || (device1 >= numDevices) || (device2 < 0) || (device2 >= numDevices)) { + HIP_RETURN(hipErrorInvalidDevice); + } + + if (linktype != nullptr) { + *linktype = 0; + } + if (hopcount != nullptr) { + *hopcount = 1; + } + + HIP_RETURN(hipSuccess); +} + diff --git a/projects/clr/hipamd/api/hip/hip_hcc.def.in b/projects/clr/hipamd/api/hip/hip_hcc.def.in index 662bfd04c3..f33515ec18 100644 --- a/projects/clr/hipamd/api/hip/hip_hcc.def.in +++ b/projects/clr/hipamd/api/hip/hip_hcc.def.in @@ -47,6 +47,8 @@ hipEventElapsedTime hipEventQuery hipEventRecord hipEventSynchronize +hipExtGetLinkTypeAndHopCount +hipExtMallocWithFlags hipExtModuleLaunchKernel hipFree hipFreeArray diff --git a/projects/clr/hipamd/api/hip/hip_hcc.map.in b/projects/clr/hipamd/api/hip/hip_hcc.map.in index f6ab5a533b..fc8a302b2a 100644 --- a/projects/clr/hipamd/api/hip/hip_hcc.map.in +++ b/projects/clr/hipamd/api/hip/hip_hcc.map.in @@ -48,6 +48,8 @@ global: hipEventQuery; hipEventRecord; hipEventSynchronize; + hipExtGetLinkTypeAndHopCount; + hipExtMallocWithFlags; hipExtModuleLaunchKernel; hipFree; hipFreeArray; diff --git a/projects/clr/hipamd/api/hip/hip_memory.cpp b/projects/clr/hipamd/api/hip/hip_memory.cpp index d932c88705..0c0cdcd6ba 100644 --- a/projects/clr/hipamd/api/hip/hip_memory.cpp +++ b/projects/clr/hipamd/api/hip/hip_memory.cpp @@ -202,6 +202,17 @@ hipError_t ihipMemset(void* dst, int value, size_t valueSize, size_t sizeBytes, return hipSuccess; } +hipError_t hipExtMallocWithFlags(void** ptr, size_t sizeBytes, unsigned int flags) { + HIP_INIT_API(ptr, sizeBytes, flags); + + if (flags != hipDeviceMallocDefault && + flags != hipDeviceMallocFinegrained) { + HIP_RETURN(hipErrorInvalidValue); + } + + HIP_RETURN(ihipMalloc(ptr, sizeBytes, (flags & hipDeviceMallocFinegrained)? CL_MEM_SVM_FINE_GRAIN_BUFFER : 0)); +} + hipError_t hipMalloc(void** ptr, size_t sizeBytes) { HIP_INIT_API(ptr, sizeBytes);