From 607ffbef03ffb8d717f957459c78a47bab29f5ce Mon Sep 17 00:00:00 2001 From: "Manocha, Rahul" Date: Fri, 11 Jul 2025 14:27:46 -0700 Subject: [PATCH] SWDEV-533787 - Add cuda mapping for hipMemGetHandleForAddressRange (#14) Co-authored-by: Rahul Manocha --- .../nvidia_detail/nvidia_hip_runtime_api.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h b/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h index d9774dddfb..65d8dbf900 100644 --- a/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h +++ b/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h @@ -300,6 +300,12 @@ typedef enum cudaMemRangeAttribute hipMemRangeAttribute; #define hipMemRangeAttributeAccessedBy cudaMemRangeAttributeAccessedBy #define hipMemRangeAttributeLastPrefetchLocation cudaMemRangeAttributeLastPrefetchLocation +#if CUDA_VERSION >= CUDA_12000 +typedef enum CUmemRangeHandleType_enum hipMemRangeHandleType; +#define hipMemRangeHandleTypeDmaBufFd CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD +#define hipMemRangeHandleTypeMax CU_MEM_RANGE_HANDLE_TYPE_MAX +#endif + #define hipSurfaceBoundaryMode cudaSurfaceBoundaryMode #define hipBoundaryModeZero cudaBoundaryModeZero #define hipBoundaryModeTrap cudaBoundaryModeTrap @@ -2998,6 +3004,16 @@ inline static hipError_t hipMemUnmap(hipDeviceptr_t ptr, size_t size) { } #endif // CUDA_VERSION >= CUDA_10020 +#if CUDA_VERSION >= CUDA_12000 +inline static hipError_t hipMemGetHandleForAddressRange(void* handle, hipDeviceptr_t dptr, + size_t size, + hipMemRangeHandleType handleType, + unsigned long long flags) { + return hipCUResultTohipError(cuMemGetHandleForAddressRange(handle, dptr, size, handleType, + flags)); +} +#endif + inline static hipError_t hipOccupancyMaxActiveBlocksPerMultiprocessor(int* numBlocks, const void* func, int blockSize, @@ -4830,6 +4846,9 @@ inline static hipError_t hipMemcpy2DArrayToArray(hipArray_t dst, size_t wOffsetD inline static hipError_t hipSetValidDevices(int* device_arr, int len) { return hipCUDAErrorTohipError(cudaSetValidDevices(device_arr, len)); } + + + #endif //__CUDACC__ #endif // HIP_INCLUDE_HIP_NVIDIA_DETAIL_HIP_RUNTIME_API_H