diff --git a/hipamd/CMakeLists.txt b/hipamd/CMakeLists.txt index 3c62ea4365..e018a5e4fe 100644 --- a/hipamd/CMakeLists.txt +++ b/hipamd/CMakeLists.txt @@ -207,9 +207,6 @@ if(HIP_PLATFORM STREQUAL "hcc") src/env.cpp src/program_state.cpp) - set(SOURCE_FILES_DEVICE - src/device_util.cpp) - execute_process(COMMAND ${HCC_HOME}/bin/hcc-config --ldflags OUTPUT_VARIABLE HCC_LD_FLAGS) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${HCC_LD_FLAGS} -Wl,-Bsymbolic") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --amdgpu-target=gfx701 --amdgpu-target=gfx803 --amdgpu-target=gfx900 --amdgpu-target=gfx906") @@ -222,19 +219,18 @@ if(HIP_PLATFORM STREQUAL "hcc") target_link_libraries(hip_hcc PRIVATE hc_am) target_link_libraries(hip_hcc_static PRIVATE hc_am) endif() - add_library(hip_device STATIC ${SOURCE_FILES_DEVICE}) string(REPLACE " " ";" HCC_CXX_FLAGS_LIST ${HCC_CXX_FLAGS}) - foreach(TARGET hip_hcc hip_hcc_static hip_device) + foreach(TARGET hip_hcc hip_hcc_static) target_include_directories(${TARGET} SYSTEM INTERFACE $/include>;${HSA_PATH}/include) endforeach() add_library(host INTERFACE) target_link_libraries(host INTERFACE hip_hcc) add_library(device INTERFACE) if(HIP_COMPILER STREQUAL "hcc") - target_link_libraries(device INTERFACE host hip_device hcc::hccrt hcc::hc_am) - elseif(HIP_COMPILER STREQUAL "clang") - target_link_libraries(device INTERFACE host hip_device) + target_link_libraries(device INTERFACE host hcc::hccrt hcc::hc_am) + else() + target_link_libraries(device INTERFACE host) endif() # Generate .hipInfo @@ -256,7 +252,7 @@ endif() ############################# # Install hip_hcc if platform is hcc if(HIP_PLATFORM STREQUAL "hcc") - install(TARGETS hip_hcc_static hip_hcc hip_device DESTINATION lib) + install(TARGETS hip_hcc_static hip_hcc DESTINATION lib) # Install .hipInfo install(FILES ${PROJECT_BINARY_DIR}/.hipInfo DESTINATION lib) @@ -284,7 +280,7 @@ set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin) set(CONFIG_PACKAGE_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/hip) if(HIP_PLATFORM STREQUAL "hcc") - install(TARGETS hip_hcc_static hip_hcc hip_device host device EXPORT hip-targets DESTINATION ${LIB_INSTALL_DIR}) + install(TARGETS hip_hcc_static hip_hcc host device EXPORT hip-targets DESTINATION ${LIB_INSTALL_DIR}) install(EXPORT hip-targets DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} NAMESPACE hip::) include(CMakePackageConfigHelpers) @@ -353,7 +349,7 @@ add_custom_target(pkg_hip_hcc COMMAND ${CMAKE_COMMAND} . COMMAND cp *.rpm ${PROJECT_BINARY_DIR} COMMAND cp *.tar.gz ${PROJECT_BINARY_DIR} WORKING_DIRECTORY ${BUILD_DIR} - DEPENDS hip_hcc hip_device hip_hcc_static) + DEPENDS hip_hcc hip_hcc_static) # Package: hip_nvcc set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/hip_nvcc) diff --git a/hipamd/bin/hipcc b/hipamd/bin/hipcc index 5942b20b8d..68e4a96721 100755 --- a/hipamd/bin/hipcc +++ b/hipamd/bin/hipcc @@ -498,6 +498,10 @@ foreach $arg (@ARGV) $obj = "$tmpdir/$obj"; my $fileType = `file $obj`; my $isObj = ($fileType =~ m/ELF/ or $fileType =~ m/COFF/); + if ($fileType =~ m/ELF/) { + my $sections = `readelf -e -W $obj`; + $isObj = !($sections =~ m/__CLANG_OFFLOAD_BUNDLE__/); + } $allIsObj = ($allIsObj and $isObj); if ($isObj) { $realObjs = ($realObjs . " " . $obj); @@ -723,9 +727,9 @@ if ($setStdLib eq 0 and $HIP_PLATFORM eq 'hcc') if ($needHipHcc) { if ($linkType eq 0) { - substr($HIPLDFLAGS,0,0) = " $HIP_PATH/lib/libhip_hcc_static.a $HIP_PATH/lib/libhip_device.a " ; + substr($HIPLDFLAGS,0,0) = " $HIP_PATH/lib/libhip_hcc_static.a " ; } else { - substr($HIPLDFLAGS,0,0) = " -Wl,--rpath=$HIP_PATH/lib $HIP_PATH/lib/libhip_hcc.so $HIP_PATH/lib/libhip_device.a "; + substr($HIPLDFLAGS,0,0) = " -Wl,--rpath=$HIP_PATH/lib $HIP_PATH/lib/libhip_hcc.so "; } } diff --git a/hipamd/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md b/hipamd/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md index 41532d9932..b4f379879b 100644 --- a/hipamd/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md +++ b/hipamd/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md @@ -22,12 +22,12 @@ | typedef |`CUDA_RESOURCE_VIEW_DESC_st` | | | struct |`CUDA_TEXTURE_DESC` | | | typedef |`CUDA_TEXTURE_DESC_st` | | -| struct |`CUdevprop` |`hipDeviceProp_t` | -| typedef |`CUdevprop_st` |`hipDeviceProp_t` | -| struct |`CUipcEventHandle` | | -| typedef |`CUipcEventHandle_st` | | -| struct |`CUipcMemHandle` | | -| typedef |`CUipcMemHandle_st` | | +| struct |`CUdevprop` | | +| typedef |`CUdevprop_st` | | +| struct |`CUipcEventHandle` |`ihipIpcEventHandle_t` | +| typedef |`CUipcEventHandle_st` |`ihipIpcEventHandle_t` | +| struct |`CUipcMemHandle` |`hipIpcMemHandle_t` | +| typedef |`CUipcMemHandle_st` |`hipIpcMemHandle_st` | | union |`CUstreamBatchMemOpParams` | | | typedef |`CUstreamBatchMemOpParams_union` | | | enum |***`CUaddress_mode`*** | | @@ -56,14 +56,14 @@ | 0x20 |*`CU_AD_FORMAT_FLOAT`* |*`HIP_AD_FORMAT_FLOAT`* | | enum |***`CUctx_flags`*** | | | typedef |***`CUctx_flags_enum`*** | | -| 0x00 |*`CU_CTX_SCHED_AUTO`* | | -| 0x01 |*`CU_CTX_SCHED_SPIN`* | | -| 0x02 |*`CU_CTX_SCHED_YIELD`* | | -| 0x04 |*`CU_CTX_SCHED_BLOCKING_SYNC`* | | -| 0x04 |*`CU_CTX_BLOCKING_SYNC`* | | -| 0x07 |*`CU_CTX_SCHED_MASK`* | | -| 0x08 |*`CU_CTX_MAP_HOST`* | | -| 0x10 |*`CU_CTX_LMEM_RESIZE_TO_MAX`* | | +| 0x00 |*`CU_CTX_SCHED_AUTO`* |`hipDeviceScheduleAuto` | +| 0x01 |*`CU_CTX_SCHED_SPIN`* |`hipDeviceScheduleSpin` | +| 0x02 |*`CU_CTX_SCHED_YIELD`* |`hipDeviceScheduleYield` | +| 0x04 |*`CU_CTX_SCHED_BLOCKING_SYNC`* |`hipDeviceScheduleBlockingSync` | +| 0x04 |*`CU_CTX_BLOCKING_SYNC`* |`hipDeviceScheduleBlockingSync` | +| 0x07 |*`CU_CTX_SCHED_MASK`* |`hipDeviceScheduleMask` | +| 0x08 |*`CU_CTX_MAP_HOST`* |`hipDeviceMapHost` | +| 0x10 |*`CU_CTX_LMEM_RESIZE_TO_MAX`* |`hipDeviceLmemResizeToMax` | | 0x1f |*`CU_CTX_FLAGS_MASK`* | | | enum |***`CUdevice_attribute`*** |***`hipDeviceAttribute_t`*** | | typedef |***`CUdevice_attribute_enum`*** |***`hipDeviceAttribute_t`*** | @@ -154,8 +154,8 @@ | 80 |*`CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED`* | | | 81 |*`CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR`* |*`hipDeviceAttributeMaxSharedMemoryPerMultiprocessor`* | | 82 |*`CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR`* | | -| 83 |*`CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY`* |*`hipDeviceAttributeManagedMemory`* | -| 84 |*`CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD`* | | +| 83 |*`CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY`* | | +| 84 |*`CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD`* |*`hipDeviceAttributeIsMultiGpuBoard`* | | 85 |*`CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID`* | | | 86 |*`CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED`* | | | 87 |*`CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO`* | | @@ -184,8 +184,8 @@ | typedef |***`CUfilter_mode_enum`*** |***`hipTextureFilterMode`*** | | 0 |*`CU_TR_FILTER_MODE_POINT`* |*`hipFilterModePoint`* | | 1 |*`CU_TR_FILTER_MODE_LINEAR`* |*`hipFilterModeLinear`* | -| enum |***`CUfunc_cache`*** |***`hipFuncCache`*** | -| typedef |***`CUfunc_cache_enum`*** |***`hipFuncCache`*** | +| enum |***`CUfunc_cache`*** |***`hipFuncCache_t`*** | +| typedef |***`CUfunc_cache_enum`*** |***`hipFuncCache_t`*** | | 0x00 |*`CU_FUNC_CACHE_PREFER_NONE`* |*`hipFuncCachePreferNone`* | | 0x01 |*`CU_FUNC_CACHE_PREFER_SHARED`* |*`hipFuncCachePreferShared`* | | 0x02 |*`CU_FUNC_CACHE_PREFER_L1`* |*`hipFuncCachePreferL1`* | @@ -301,12 +301,12 @@ | 0x1 |*`CU_MEM_ATTACH_GLOBAL`* | | | 0x2 |*`CU_MEM_ATTACH_HOST`* | | | 0x4 |*`CU_MEM_ATTACH_SINGLE`* | | -| enum |***`CUmemorytype`*** | | -| typedef |***`CUmemorytype_enum`*** | | -| 0x01 |*`CU_MEMORYTYPE_HOST`* | | -| 0x02 |*`CU_MEMORYTYPE_DEVICE`* | | -| 0x03 |*`CU_MEMORYTYPE_ARRAY`* | | -| 0x04 |*`CU_MEMORYTYPE_UNIFIED`* | | +| enum |***`CUmemorytype`*** |*`hipMemoryType`* | +| typedef |***`CUmemorytype_enum`*** |*`hipMemoryType`* | +| 0x01 |*`CU_MEMORYTYPE_HOST`* |*`hipMemoryTypeHost`* | +| 0x02 |*`CU_MEMORYTYPE_DEVICE`* |*`hipMemoryTypeDevice`* | +| 0x03 |*`CU_MEMORYTYPE_ARRAY`* |*`hipMemoryTypeArray`* | +| 0x04 |*`CU_MEMORYTYPE_UNIFIED`* |*`hipMemoryTypeUnified`* | | enum |***`CUmem_range_attribute`*** | | | typedef |***`CUmem_range_attribute_enum`*** | | | 1 |*`CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY`* | | @@ -513,28 +513,28 @@ | 0x01 |*`CU_D3D11_DEVICE_LIST_ALL`* | | | 0x02 |*`CU_D3D11_DEVICE_LIST_CURRENT_FRAME`* | | | 0x03 |*`CU_D3D11_DEVICE_LIST_NEXT_FRAME`* | | -| typedef |`CUarray` |`hipArray *` | | struct |`CUarray_st` |`hipArray` | +| typedef |`CUarray` |`hipArray *` | | struct |`CUctx` |`ihipCtx_t` | | typedef |`CUcontext_st` |`hipCtx_t` | | typedef |`CUdevice` |`hipDevice_t` | | typedef |`CUdeviceptr` |`hipDeviceptr_t` | -| typedef |`CUeglStreamConnection` | | | struct |`CUeglStreamConnection_st` | | +| typedef |`CUeglStreamConnection` | | | typedef |`CUevent` |`hipEvent_t` | | struct |`CUevent_st` |`ihipEvent_t` | | typedef |`CUfunction` |`hipFunction_t` | | struct |`CUfunc_st` |`ihipModuleSymbol_t` | | typedef |`CUgraphicsResource` | | | struct |`CUgraphicsResource_st` | | -| typedef |`CUmipmappedArray` | | -| struct |`CUmipmappedArray_st` | | +| typedef |`CUmipmappedArray` |`hipMipmappedArray_t` | +| struct |`CUmipmappedArray_st` |`hipMipmappedArray` | | typedef |`CUmodule` |`hipModule_t` | | struct |`CUmod_st` |`ihipModule_t` | | typedef |`CUstream` |`hipStream_t` | | struct |`CUstream_st` |`ihipStream_t` | | typedef |`CUstreamCallback` |`hipStreamCallback_t` | -| typedef |`CUsurfObject` | | +| typedef |`CUsurfObject` |`hipSurfaceObject_t` | | typedef |`CUsurfref` | | | struct |`CUsurfref_st` | | | typedef |`CUtexObject` |`hipTextureObject_t` | @@ -544,12 +544,12 @@ | define |`CU_LAUNCH_PARAM_BUFFER_POINTER` |`HIP_LAUNCH_PARAM_BUFFER_POINTER` | | define |`CU_LAUNCH_PARAM_BUFFER_SIZE` |`HIP_LAUNCH_PARAM_BUFFER_SIZE` | | define |`CU_LAUNCH_PARAM_END` |`HIP_LAUNCH_PARAM_END` | -| define |`CU_MEMHOSTALLOC_DEVICEMAP` | | -| define |`CU_MEMHOSTALLOC_PORTABLE` | | -| define |`CU_MEMHOSTALLOC_WRITECOMBINED` | | -| define |`CU_MEMHOSTREGISTER_DEVICEMAP` | | -| define |`CU_MEMHOSTREGISTER_IOMEMORY` | | -| define |`CU_MEMHOSTREGISTER_PORTABLE` | | +| define |`CU_MEMHOSTALLOC_DEVICEMAP` |`hipHostMallocMapped` | +| define |`CU_MEMHOSTALLOC_PORTABLE` |`hipHostMallocPortable` | +| define |`CU_MEMHOSTALLOC_WRITECOMBINED` |`hipHostAllocWriteCombined` | +| define |`CU_MEMHOSTREGISTER_DEVICEMAP` |`hipHostRegisterMapped` | +| define |`CU_MEMHOSTREGISTER_IOMEMORY` |`hipHostRegisterIoMemory` | +| define |`CU_MEMHOSTREGISTER_PORTABLE` |`hipHostRegisterPortable` | | define |`CU_PARAM_TR_DEFAULT` | | | define |`CU_STREAM_LEGACY` | | | define |`CU_STREAM_PER_THREAD` | | @@ -558,11 +558,11 @@ | define |`CU_TRSF_READ_AS_INTEGER` | | | define |`CU_TRSF_SRGB` | | | define |`CUDA_ARRAY3D_2DARRAY` | | -| define |`CUDA_ARRAY3D_CUBEMAP` | | +| define |`CUDA_ARRAY3D_CUBEMAP` |`hipArrayCubemap` | | define |`CUDA_ARRAY3D_DEPTH_TEXTURE` | | -| define |`CUDA_ARRAY3D_LAYERED` | | -| define |`CUDA_ARRAY3D_SURFACE_LDST` | | -| define |`CUDA_ARRAY3D_TEXTURE_GATHER` | | +| define |`CUDA_ARRAY3D_LAYERED` |`hipArrayLayered` | +| define |`CUDA_ARRAY3D_SURFACE_LDST` |`hipArraySurfaceLoadStore` | +| define |`CUDA_ARRAY3D_TEXTURE_GATHER` |`hipArrayTextureGather` | | define |`CUDA_ARRAY3D_COLOR_ATTACHMENT` | | | define |`CUDA_VERSION` | | | typedef |`CUexternalMemory` | | @@ -697,8 +697,8 @@ | 1 |*`CU_EGL_FRAME_TYPE_PITCH`* | | | enum |***`CUeglResourceLocationFlags`*** | | | typedef |***`CUeglResourceLocationFlags_enum`*** | | -| 0 |*`CU_EGL_RESOURCE_LOCATION_SYSMEM`* | | -| 1 |*`CU_EGL_RESOURCE_LOCATION_VIDMEM`* | | +| 0x00 |*`CU_EGL_RESOURCE_LOCATION_SYSMEM`* | | +| 0x01 |*`CU_EGL_RESOURCE_LOCATION_VIDMEM`* | | | enum |***`CUexternalMemoryHandleType`*** | | | typedef |***`CUexternalMemoryHandleType_enum`*** | | | 1 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD`* | | @@ -731,6 +731,8 @@ | define |`CUDA_CB` | | | define |`CU_DEVICE_CPU` | | | define |`CU_DEVICE_INVALID` | | +| struct |`CUuuid` | | +| typedef |`CUuuid_st` | | ## **2. Error Handling** @@ -761,6 +763,7 @@ | `cuDeviceGetName` | `hipDeviceGetName` | | `cuDeviceTotalMem` | `hipDeviceTotalMem` | | `cuDeviceGetLuid` | | +| `cuDeviceGetUuid` | | ## **6. Device Management [DEPRECATED]** @@ -790,9 +793,9 @@ | `cuCtxGetCurrent` | `hipCtxGetCurrent` | | `cuCtxGetDevice` | `hipCtxGetDevice` | | `cuCtxGetFlags` | `hipCtxGetFlags` | -| `cuCtxGetLimit` | | +| `cuCtxGetLimit` | `hipDeviceGetLimit` | | `cuCtxGetSharedMemConfig` | `hipCtxGetSharedMemConfig` | -| `cuCtxGetStreamPriorityRange` | | +| `cuCtxGetStreamPriorityRange` | `hipDeviceGetStreamPriorityRange`| | `cuCtxPopCurrent` | `hipCtxPopCurrent` | | `cuCtxPushCurrent` | `hipCtxPushCurrent` | | `cuCtxSetCacheConfig` | `hipCtxSetCacheConfig` | @@ -833,16 +836,16 @@ |-----------------------------------------------------------|-------------------------------| | `cuArray3DCreate` | `hipArray3DCreate` | | `cuArray3DGetDescriptor` | | -| `cuArrayCreate` | | +| `cuArrayCreate` | `hipArrayCreate` | | `cuArrayDestroy` | | | `cuArrayGetDescriptor` | | | `cuDeviceGetByPCIBusId` | `hipDeviceGetByPCIBusId` | | `cuDeviceGetPCIBusId` | `hipDeviceGetPCIBusId` | -| `cuIpcCloseMemHandle` | | +| `cuIpcCloseMemHandle` | `hipIpcCloseMemHandle` | | `cuIpcGetEventHandle` | | -| `cuIpcGetMemHandle` | | +| `cuIpcGetMemHandle` | `hipIpcGetMemHandle` | | `cuIpcOpenEventHandle` | | -| `cuIpcOpenMemHandle` | | +| `cuIpcOpenMemHandle` | `hipIpcOpenMemHandle` | | `cuMemAlloc` | `hipMalloc` | | `cuMemAllocHost` | | | `cuMemAllocManaged` | | @@ -865,7 +868,7 @@ | `cuMemcpyDtoDAsync` | `hipMemcpyDtoDAsync` | | `cuMemcpyDtoH` | `hipMemcpyDtoH` | | `cuMemcpyDtoHAsync` | `hipMemcpyDtoHAsync` | -| `cuMemcpyHtoA` | | +| `cuMemcpyHtoA` | `hipMemcpyHtoA` | | `cuMemcpyHtoAAsync` | | | `cuMemcpyHtoD` | `hipMemcpyHtoD` | | `cuMemcpyHtoDAsync` | `hipMemcpyHtoDAsync` | @@ -873,11 +876,11 @@ | `cuMemcpyPeerAsync` | | | `cuMemFree` | `hipFree` | | `cuMemFreeHost` | `hipFreeHost` | -| `cuMemGetAddressRange` | | +| `cuMemGetAddressRange` | `hipMemGetAddressRange` | | `cuMemGetInfo` | `hipMemGetInfo` | | `cuMemHostAlloc` | `hipHostMalloc` | -| `cuMemHostGetDevicePointer` | | -| `cuMemHostGetFlags` | | +| `cuMemHostGetDevicePointer` | `hipHostGetDevicePointer` | +| `cuMemHostGetFlags` | `hipHostGetFlags` | | `cuMemHostRegister` | `hipHostRegister` | | `cuMemHostUnregister` | `hipHostUnregister` | | `cuMemsetD16` | | @@ -890,8 +893,8 @@ | `cuMemsetD2D8Async` | | | `cuMemsetD32` | `hipMemset` | | `cuMemsetD32Async` | `hipMemsetAsync` | -| `cuMemsetD2D8` | | -| `cuMemsetD2D8Async` | | +| `cuMemsetD8` | `hipMemsetD8` | +| `cuMemsetD8Async` | | | `cuMipmappedArrayCreate` | | | `cuMipmappedArrayDestroy` | | | `cuMipmappedArrayGetLevel` | | @@ -914,8 +917,8 @@ |-----------------------------------------------------------|-------------------------------| | `cuStreamAddCallback` | `hipStreamAddCallback` | | `cuStreamAttachMemAsync` | | -| `cuStreamCreate` | | -| `cuStreamCreateWithPriority` | | +| `cuStreamCreate` | `hipStreamCreateWithFlags` | +| `cuStreamCreateWithPriority` | `hipStreamCreateWithPriority` | | `cuStreamDestroy` | `hipStreamDestroy` | | `cuStreamGetFlags` | `hipStreamGetFlags` | | `cuStreamGetPriority` | `hipStreamGetPriority` | @@ -930,7 +933,7 @@ | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| -| `cuEventCreate` | `hipEventCreate` | +| `cuEventCreate` | `hipEventCreateWithFlags` | | `cuEventDestroy` | `hipEventDestroy` | | `cuEventElapsedTime` | `hipEventElapsedTime` | | `cuEventQuery` | `hipEventQuery` | @@ -965,10 +968,13 @@ | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| | `cuFuncGetAttribute` | | +| `cuFuncSetAttribute` | | | `cuFuncSetCacheConfig` | `hipFuncSetCacheConfig` | | `cuFuncSetSharedMemConfig` | | | `cuLaunchKernel` | `hipModuleLaunchKernel` | | `cuLaunchHostFunc` | | +| `cuLaunchCooperativeKernel` | | +| `cuLaunchCooperativeKernelMultiDevice` | | ## **18. Execution Control [DEPRECATED]** @@ -1045,8 +1051,8 @@ | `cuTexRefGetMipmapLevelBias` | | | `cuTexRefGetMipmapLevelClamp` | | | `cuTexRefGetMipmappedArray` | | -| `cuTexRefSetAddress` | | -| `cuTexRefSetAddress2D` | | +| `cuTexRefSetAddress` | `hipTexRefSetAddress` | +| `cuTexRefSetAddress2D` | `hipTexRefSetAddress2D` | | `cuTexRefSetAddressMode` | `hipTexRefSetAddressMode` | | `cuTexRefSetArray` | `hipTexRefSetArray` | | `cuTexRefSetBorderColor` | | @@ -1231,3 +1237,4 @@ | `cuEGLStreamProducerReturnFrame` | | | `cuGraphicsEGLRegisterImage` | | | `cuGraphicsResourceGetMappedEglFrame` | | +| `cuEventCreateFromEGLSync` | | diff --git a/hipamd/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md b/hipamd/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md index 7f87981000..6190f6565a 100644 --- a/hipamd/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md +++ b/hipamd/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md @@ -11,7 +11,7 @@ | `cudaDeviceGetLimit` | `hipDeviceGetLimit` | | `cudaDeviceGetPCIBusId` | `hipDeviceGetPCIBusId` | | `cudaDeviceGetSharedMemConfig` | `hipDeviceGetSharedMemConfig` | -| `cudaDeviceGetStreamPriorityRange` | | +| `cudaDeviceGetStreamPriorityRange` | `hipDeviceGetStreamPriorityRange` | | `cudaDeviceReset` | `hipDeviceReset` | | `cudaDeviceSetCacheConfig` | `hipDeviceSetCacheConfig` | | `cudaDeviceSetLimit` | `hipDeviceSetLimit` | @@ -19,7 +19,7 @@ | `cudaDeviceSynchronize` | `hipDeviceSynchronize` | | `cudaGetDevice` | `hipGetDevice` | | `cudaGetDeviceCount` | `hipGetDeviceCount` | -| `cudaGetDeviceFlags` | | +| `cudaGetDeviceFlags` | `hipCtxGetFlags` | | `cudaGetDeviceProperties` | `hipGetDeviceProperties` | | `cudaIpcCloseMemHandle` | `hipIpcCloseMemHandle` | | `cudaIpcGetEventHandle` | `hipIpcGetEventHandle` | @@ -56,12 +56,15 @@ |-----------------------------------------------------------|-------------------------------| | `cudaStreamAddCallback` | `hipStreamAddCallback` | | `cudaStreamAttachMemAsync` | | +| `cudaStreamBeginCapture` | | +| `cudaStreamEndCapture` | | +| `cudaStreamIsCapturing` | | | `cudaStreamCreate` | `hipStreamCreate` | | `cudaStreamCreateWithFlags` | `hipStreamCreateWithFlags` | -| `cudaStreamCreateWithPriority` | | +| `cudaStreamCreateWithPriority` | `hipStreamCreateWithPriority` | | `cudaStreamDestroy` | `hipStreamDestroy` | | `cudaStreamGetFlags` | `hipStreamGetFlags` | -| `cudaStreamGetPriority` | | +| `cudaStreamGetPriority` | `hipStreamGetPriority` | | `cudaStreamQuery` | `hipStreamQuery` | | `cudaStreamSynchronize` | `hipStreamSynchronize` | | `cudaStreamWaitEvent` | `hipStreamWaitEvent` | @@ -78,7 +81,20 @@ | `cudaEventRecord` | `hipEventRecord` | | `cudaEventSynchronize` | `hipEventSynchronize` | -## **6. Execution Control** +## **6. External Resource Interoperability** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------| +| `cudaSignalExternalSemaphoresAsync` | | +| `cudaWaitExternalSemaphoresAsync` | | +| `cudaImportExternalMemory` | | +| `cudaExternalMemoryGetMappedBuffer` | | +| `cudaExternalMemoryGetMappedMipmappedArray` | | +| `cudaDestroyExternalMemory` | | +| `cudaImportExternalSemaphore` | | +| `cudaDestroyExternalSemaphore` | | + +## **7. Execution Control** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -91,14 +107,14 @@ | `cudaSetDoubleForDevice` | | | `cudaSetDoubleForHost` | | -## **7. Occupancy** +## **8. Occupancy** | **CUDA** | **HIP** | |-----------------------------------------------------------|-----------------------------------------------| | `cudaOccupancyMaxActiveBlocksPerMultiprocessor` | `hipOccupancyMaxActiveBlocksPerMultiprocessor`| | `cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags` | | -## **8. Execution Control [deprecated since 7.0]** +## **9. Execution Control [DEPRECATED since 7.0]** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -106,7 +122,7 @@ | `cudaLaunch` | `hipLaunchByPtr` | | `cudaSetupArgument` | `hipSetupArgument` | -## **9. Memory Management** +## **10. Memory Management** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -166,13 +182,13 @@ | `make_cudaPitchedPtr` | `make_hipPitchedPtr` | | `make_cudaPos` | `make_hipPos` | -## **10. Unified Addressing** +## **11. Unified Addressing** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| | `cudaPointerGetAttributes` | `hipPointerGetAttributes` | -## **11. Peer Device Memory Access** +## **12. Peer Device Memory Access** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -180,7 +196,7 @@ | `cudaDeviceDisablePeerAccess` | `hipDeviceDisablePeerAccess` | | `cudaDeviceEnablePeerAccess` | `hipDeviceEnablePeerAccess` | -## **12. OpenGL Interoperability** +## **13. OpenGL Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -189,7 +205,7 @@ | `cudaGraphicsGLRegisterImage` | | | `cudaWGLGetDevice` | | -## **13. OpenGL Interoperability [DEPRECATED]** +## **14. OpenGL Interoperability [DEPRECATED]** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -202,7 +218,7 @@ | `cudaGLUnmapBufferObjectAsync` | | | `cudaGLUnregisterBufferObject` | | -## **14. Direct3D 9 Interoperability** +## **15. Direct3D 9 Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -212,7 +228,7 @@ | `cudaD3D9SetDirect3DDevice` | | | `cudaGraphicsD3D9RegisterResource` | | -## **15. Direct3D 9 Interoperability [DEPRECATED]** +## **16. Direct3D 9 Interoperability [DEPRECATED]** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -227,7 +243,7 @@ | `cudaD3D9UnmapResources` | | | `cudaD3D9UnregisterResource` | | -## **16. Direct3D 10 Interoperability** +## **17. Direct3D 10 Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -235,7 +251,7 @@ | `cudaD3D10GetDevices` | | | `cudaGraphicsD3D10RegisterResource` | | -## **17. Direct3D 10 Interoperability [DEPRECATED]** +## **18. Direct3D 10 Interoperability [DEPRECATED]** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -252,7 +268,7 @@ | `cudaD3D10UnmapResources` | | | `cudaD3D10UnregisterResource` | | -## **18. Direct3D 11 Interoperability** +## **19. Direct3D 11 Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -260,14 +276,14 @@ | `cudaD3D11GetDevices` | | | `cudaGraphicsD3D11RegisterResource` | | -## **19. Direct3D 11 Interoperability [DEPRECATED]** +## **20. Direct3D 11 Interoperability [DEPRECATED]** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| | `cudaD3D11GetDirect3DDevice` | | | `cudaD3D11SetDirect3DDevice` | | -## **20. VDPAU Interoperability** +## **21. VDPAU Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -276,7 +292,7 @@ | `cudaVDPAUGetDevice` | | | `cudaVDPAUSetVDPAUDevice` | | -## **21. EGL Interoperability** +## **22. EGL Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -291,7 +307,7 @@ | `cudaGraphicsEGLRegisterImage` | | | `cudaGraphicsResourceGetMappedEglFrame` | | -## **22. Graphics Interoperability** +## **23. Graphics Interoperability** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -303,7 +319,7 @@ | `cudaGraphicsUnmapResources` | | | `cudaGraphicsUnregisterResource` | | -## **23. Texture Reference Management** +## **24. Texture Reference Management** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -317,14 +333,14 @@ | `cudaGetTextureReference` | | | `cudaUnbindTexture` | `hipUnbindTexture` | -## **24. Surface Reference Management** +## **25. Surface Reference Management** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| | `cudaBindSurfaceToArray` | | | `cudaGetSurfaceReference` | | -## **25. Texture Object Management** +## **26. Texture Object Management** | **CUDA** | **HIP** | |-----------------------------------------------------------|--------------------------------------| @@ -334,7 +350,7 @@ | `cudaGetTextureObjectResourceViewDesc` |`hipGetTextureObjectResourceViewDesc` | | `cudaGetTextureObjectTextureDesc` |`hipGetTextureObjectTextureDesc` | -## **26. Surface Object Management** +## **27. Surface Object Management** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -342,14 +358,19 @@ | `cudaDestroySurfaceObject` | `hipDestroySurfaceObject` | | `cudaGetSurfaceObjectResourceDesc` | | -## **27. Version Management** +## **28. Version Management** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| | `cudaDriverGetVersion` | `hipDriverGetVersion` | | `cudaRuntimeGetVersion` | `hipRuntimeGetVersion` | -## **28. C++ API Routines** +## **29. Graph Management** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------| + +## **30. C++ API Routines** *(7.0 contains, 7.5 doesn’t)* | **CUDA** | **HIP** | @@ -383,7 +404,7 @@ | `cudaStreamAttachMemAsync` | | | `cudaUnbindTexture` | `hipUnbindTexture` | -## **30. Profiler Control** +## **32. Profiler Control** | **CUDA** | **HIP** | |-----------------------------------------------------------|-------------------------------| @@ -393,416 +414,622 @@ # Data types used by CUDA Runtime API and supported by HIP -## **31. Data types** +## **33. Data types** -| **type** | **CUDA** | **HIP** |**HIP value** (if differs) | -|-------------:|-----------------------------------------------|------------------------------------------------------|---------------------------| -| struct | `cudaChannelFormatDesc` | `hipChannelFormatDesc` | -| struct | `cudaDeviceProp` | `hipDeviceProp_t` | -| struct | `cudaExtent` | `hipExtent` | -| struct | `cudaFuncAttributes` | | -| struct | `cudaIpcEventHandle_t` | `hipIpcEventHandle_t` | -| struct | `cudaIpcMemHandle_t` | `hipIpcMemHandle_t` | -| struct | `cudaMemcpy3DParms` | `hipMemcpy3DParms` | -| struct | `cudaMemcpy3DPeerParms` | | -| struct | `cudaPitchedPtr` | `hipPitchedPtr` | -| struct | `cudaPointerAttributes` | `hipPointerAttribute_t` | -| struct | `cudaPos` | `hipPos` | -| struct | `cudaResourceDesc` | `hipResourceDesc` | -| struct | `cudaResourceViewDesc` | `hipResourceViewDesc` | -| struct | `cudaTextureDesc` | `hipTextureDesc` | -| struct | `surfaceReference` | | -| struct | `textureReference` | `textureReference` | -| enum |***`cudaChannelFormatKind`*** |***`hipChannelFormatKind`*** | -| 0 |*`cudaChannelFormatKindSigned`* |*`hipChannelFormatKindSigned`* | -| 1 |*`cudaChannelFormatKindUnsigned`* |*`hipChannelFormatKindUnsigned`* | -| 2 |*`cudaChannelFormatKindFloat`* |*`hipChannelFormatKindFloat`* | -| 3 |*`cudaChannelFormatKindNone`* |*`hipChannelFormatKindNone`* | -| enum |***`cudaComputeMode`*** |***`hipComputeMode`*** | -| 0 |*`cudaComputeModeDefault`* |*`hipComputeModeDefault`* | -| 1 |*`cudaComputeModeExclusive`* |*`hipComputeModeExclusive`* | -| 2 |*`cudaComputeModeProhibited`* |*`hipComputeModeProhibited`* | -| 3 |*`cudaComputeModeExclusiveProcess`* |*`hipComputeModeExclusiveProcess`* | -| enum |***`cudaDeviceAttr`*** |***`hipDeviceAttribute_t`*** | -| 1 |*`cudaDevAttrMaxThreadsPerBlock`* |*`hipDeviceAttributeMaxThreadsPerBlock`* | -| 2 |*`cudaDevAttrMaxBlockDimX`* |*`hipDeviceAttributeMaxBlockDimX`* | -| 3 |*`cudaDevAttrMaxBlockDimY`* |*`hipDeviceAttributeMaxBlockDimY`* | -| 4 |*`cudaDevAttrMaxBlockDimZ`* |*`hipDeviceAttributeMaxBlockDimZ`* | -| 5 |*`cudaDevAttrMaxGridDimX`* |*`hipDeviceAttributeMaxGridDimX`* | -| 6 |*`cudaDevAttrMaxGridDimY`* |*`hipDeviceAttributeMaxGridDimY`* | -| 7 |*`cudaDevAttrMaxGridDimZ`* |*`hipDeviceAttributeMaxGridDimZ`* | -| 8 |*`cudaDevAttrMaxSharedMemoryPerBlock`* |*`hipDeviceAttributeMaxSharedMemoryPerBlock`* | -| 9 |*`cudaDevAttrTotalConstantMemory`* |*`hipDeviceAttributeTotalConstantMemory`* | -| 10 |*`cudaDevAttrWarpSize`* |*`hipDeviceAttributeWarpSize`* | -| 11 |*`cudaDevAttrMaxPitch`* | | -| 12 |*`cudaDevAttrMaxRegistersPerBlock`* |*`hipDeviceAttributeMaxRegistersPerBlock`* | -| 13 |*`cudaDevAttrClockRate`* |*`hipDeviceAttributeClockRate`* | -| 14 |*`cudaDevAttrTextureAlignment`* | | -| 15 |*`cudaDevAttrGpuOverlap`* | | -| 16 |*`cudaDevAttrMultiProcessorCount`* |*`hipDeviceAttributeMultiprocessorCount`* | -| 17 |*`cudaDevAttrKernelExecTimeout`* | | -| 18 |*`cudaDevAttrIntegrated`* | | -| 19 |*`cudaDevAttrCanMapHostMemory`* | | -| 20 |*`cudaDevAttrComputeMode`* |*`hipDeviceAttributeComputeMode`* | -| 21 |*`cudaDevAttrMaxTexture1DWidth`* | | -| 22 |*`cudaDevAttrMaxTexture2DWidth`* | | -| 23 |*`cudaDevAttrMaxTexture2DHeight`* | | -| 24 |*`cudaDevAttrMaxTexture3DWidth`* | | -| 25 |*`cudaDevAttrMaxTexture3DHeight`* | | -| 26 |*`cudaDevAttrMaxTexture3DDepth`* | | -| 27 |*`cudaDevAttrMaxTexture2DLayeredWidth`* | | -| 28 |*`cudaDevAttrMaxTexture2DLayeredHeight`* | | -| 29 |*`cudaDevAttrMaxTexture2DLayeredLayers`* | | -| 30 |*`cudaDevAttrSurfaceAlignment`* | | -| 31 |*`cudaDevAttrConcurrentKernels`* |*`hipDeviceAttributeConcurrentKernels`* | -| 32 |*`cudaDevAttrEccEnabled`* | | -| 33 |*`cudaDevAttrPciBusId`* |*`hipDeviceAttributePciBusId`* | -| 34 |*`cudaDevAttrPciDeviceId`* |*`hipDeviceAttributePciDeviceId`* | -| 35 |*`cudaDevAttrTccDriver`* | | -| 36 |*`cudaDevAttrMemoryClockRate`* |*`hipDeviceAttributeMemoryClockRate`* | -| 37 |*`cudaDevAttrGlobalMemoryBusWidth`* |*`hipDeviceAttributeMemoryBusWidth`* | -| 38 |*`cudaDevAttrL2CacheSize`* |*`hipDeviceAttributeL2CacheSize`* | -| 39 |*`cudaDevAttrMaxThreadsPerMultiProcessor`* |*`hipDeviceAttributeMaxThreadsPerMultiProcessor`* | -| 40 |*`cudaDevAttrAsyncEngineCount`* | | -| 41 |*`cudaDevAttrUnifiedAddressing`* | | -| 42 |*`cudaDevAttrMaxTexture1DLayeredWidth`* | | -| 43 |*`cudaDevAttrMaxTexture1DLayeredLayers`* | | -| 44 | | | -| 45 |*`cudaDevAttrMaxTexture2DGatherWidth`* | | -| 46 |*`cudaDevAttrMaxTexture2DGatherHeight`* | | -| 47 |*`cudaDevAttrMaxTexture3DWidthAlt`* | | -| 48 |*`cudaDevAttrMaxTexture3DHeightAlt`* | | -| 49 |*`cudaDevAttrMaxTexture3DDepthAlt`* | | -| 50 |*`cudaDevAttrPciDomainId`* | | -| 51 |*`cudaDevAttrTexturePitchAlignment`* | | -| 52 |*`cudaDevAttrMaxTextureCubemapWidth`* | | -| 53 |*`cudaDevAttrMaxTextureCubemapLayeredWidth`* | | -| 54 |*`cudaDevAttrMaxTextureCubemapLayeredLayers`* | | -| 55 |*`cudaDevAttrMaxSurface1DWidth`* | | -| 56 |*`cudaDevAttrMaxSurface2DWidth`* | | -| 57 |*`cudaDevAttrMaxSurface2DHeight`* | | -| 58 |*`cudaDevAttrMaxSurface3DWidth`* | | -| 59 |*`cudaDevAttrMaxSurface3DHeight`* | | -| 60 |*`cudaDevAttrMaxSurface3DDepth`* | | -| 61 |*`cudaDevAttrMaxSurface1DLayeredWidth`* | | -| 62 |*`cudaDevAttrMaxSurface1DLayeredLayers`* | | -| 63 |*`cudaDevAttrMaxSurface2DLayeredWidth`* | | -| 64 |*`cudaDevAttrMaxSurface2DLayeredHeight`* | | -| 65 |*`cudaDevAttrMaxSurface2DLayeredLayers`* | | -| 66 |*`cudaDevAttrMaxSurfaceCubemapWidth`* | | -| 67 |*`cudaDevAttrMaxSurfaceCubemapLayeredWidth`* | | -| 68 |*`cudaDevAttrMaxSurfaceCubemapLayeredLayers`* | | -| 69 |*`cudaDevAttrMaxTexture1DLinearWidth`* | | -| 70 |*`cudaDevAttrMaxTexture2DLinearWidth`* | | -| 71 |*`cudaDevAttrMaxTexture2DLinearHeight`* | | -| 72 |*`cudaDevAttrMaxTexture2DLinearPitch`* | | -| 73 |*`cudaDevAttrMaxTexture2DMipmappedWidth`* | | -| 74 |*`cudaDevAttrMaxTexture2DMipmappedHeight`* | | -| 75 |*`cudaDevAttrComputeCapabilityMajor`* |*`hipDeviceAttributeComputeCapabilityMajor`* | -| 76 |*`cudaDevAttrComputeCapabilityMinor`* |*`hipDeviceAttributeComputeCapabilityMinor`* | -| 77 |*`cudaDevAttrMaxTexture1DMipmappedWidth`* | | -| 78 |*`cudaDevAttrStreamPrioritiesSupported`* | | -| 79 |*`cudaDevAttrGlobalL1CacheSupported`* | | -| 80 |*`cudaDevAttrLocalL1CacheSupported`* | | -| 81 |*`cudaDevAttrMaxSharedMemoryPerMultiprocessor`*|*`hipDeviceAttributeMaxSharedMemoryPerMultiprocessor`*| -| 82 |*`cudaDevAttrMaxRegistersPerMultiprocessor`* | | -| 83 |*`cudaDevAttrManagedMemory`* | | -| 84 |*`cudaDevAttrIsMultiGpuBoard`* |*`hipDeviceAttributeIsMultiGpuBoard`* | -| 85 |*`cudaDevAttrMultiGpuBoardGroupID`* | | -| enum |***`cudaError`*** |***`hipError_t`*** | -| enum |***`cudaError_t`*** |***`hipError_t`*** | -| 0 |*`cudaSuccess`* |*`hipSuccess`* | -| 1 |*`cudaErrorMissingConfiguration`* | | -| 2 |*`cudaErrorMemoryAllocation`* |*`hipErrorMemoryAllocation`* | -| 3 |*`cudaErrorInitializationError`* |*`hipErrorInitializationError`* | -| 4 |*`cudaErrorLaunchFailure`* | | -| 5 |*`cudaErrorPriorLaunchFailure`* | | -| 6 |*`cudaErrorLaunchTimeout`* | | -| 7 |*`cudaErrorLaunchOutOfResources`* |*`hipErrorLaunchOutOfResources`* | -| 8 |*`cudaErrorInvalidDeviceFunction`* | | -| 9 |*`cudaErrorInvalidConfiguration`* | | -| 10 |*`cudaErrorInvalidDevice`* |*`hipErrorInvalidDevice`* | -| 11 |*`cudaErrorInvalidValue`* |*`hipErrorInvalidValue`* | -| 12 |*`cudaErrorInvalidPitchValue`* | | -| 13 |*`cudaErrorInvalidSymbol`* | | -| 14 |*`cudaErrorMapBufferObjectFailed`* | | -| 15 |*`cudaErrorUnmapBufferObjectFailed`* | | -| 16 |*`cudaErrorInvalidHostPointer`* | | -| 17 |*`cudaErrorInvalidDevicePointer`* |*`hipErrorInvalidDevicePointer`* | -| 18 |*`cudaErrorInvalidTexture`* | | -| 19 |*`cudaErrorInvalidTextureBinding`* | | -| 20 |*`cudaErrorInvalidChannelDescriptor`* | | -| 21 |*`cudaErrorInvalidMemcpyDirection`* | | -| 22 |*`cudaErrorAddressOfConstant`* | | -| 23 |*`cudaErrorTextureFetchFailed`* | | -| 24 |*`cudaErrorTextureNotBound`* | | -| 25 |*`cudaErrorSynchronizationError`* | | -| 26 |*`cudaErrorInvalidFilterSetting`* | | -| 27 |*`cudaErrorInvalidNormSetting`* | | -| 28 |*`cudaErrorMixedDeviceExecution`* | | -| 29 |*`cudaErrorCudartUnloading`* | | -| 30 |*`cudaErrorUnknown`* |*`hipErrorUnknown`* | -| 31 |*`cudaErrorNotYetImplemented`* | | -| 32 |*`cudaErrorMemoryValueTooLarge`* | | -| 33 |*`cudaErrorInvalidResourceHandle`* |*`hipErrorInvalidResourceHandle`* | -| 34 |*`cudaErrorNotReady`* |*`hipErrorNotReady`* | -| 35 |*`cudaErrorInsufficientDriver`* | | -| 36 |*`cudaErrorSetOnActiveProcess`* | | -| 37 |*`cudaErrorInvalidSurface`* | | -| 38 |*`cudaErrorNoDevice`* |*`hipErrorNoDevice`* | -| 39 |*`cudaErrorECCUncorrectable`* | | -| 40 |*`cudaErrorSharedObjectSymbolNotFound`* | | -| 41 |*`cudaErrorSharedObjectInitFailed`* | | -| 42 |*`cudaErrorUnsupportedLimit`* |*`hipErrorUnsupportedLimit`* | -| 43 |*`cudaErrorDuplicateVariableName`* | | -| 44 |*`cudaErrorDuplicateTextureName`* | | -| 45 |*`cudaErrorDuplicateSurfaceName`* | | -| 46 |*`cudaErrorDevicesUnavailable`* | | -| 47 |*`cudaErrorInvalidKernelImage`* | | -| 48 |*`cudaErrorNoKernelImageForDevice`* | | -| 49 |*`cudaErrorIncompatibleDriverContext`* | | -| 50 |*`cudaErrorPeerAccessAlreadyEnabled`* |*`hipErrorPeerAccessAlreadyEnabled`* | -| 51 |*`cudaErrorPeerAccessNotEnabled`* |*`hipErrorPeerAccessNotEnabled`* | -| 52 | | | -| 53 | | | -| 54 |*`cudaErrorDeviceAlreadyInUse`* | | -| 55 |*`cudaErrorProfilerDisabled`* | | -| 56 |*`cudaErrorProfilerNotInitialized`* | | -| 57 |*`cudaErrorProfilerAlreadyStarted`* | | -| 58 |*`cudaErrorProfilerAlreadyStopped`* | | -| 59 |*`cudaErrorAssert`* | | -| 60 |*`cudaErrorTooManyPeers`* | | -| 61 |*`cudaErrorHostMemoryAlreadyRegistered`* | *`hipErrorHostMemoryAlreadyRegistered`* | -| 62 |*`cudaErrorHostMemoryNotRegistered`* | *`hipErrorHostMemoryNotRegistered`* | -| 63 |*`cudaErrorOperatingSystem`* | | -| 64 |*`cudaErrorPeerAccessUnsupported`* | | -| 65 |*`cudaErrorLaunchMaxDepthExceeded`* | | -| 66 |*`cudaErrorLaunchFileScopedTex`* | | -| 67 |*`cudaErrorLaunchFileScopedSurf`* | | -| 68 |*`cudaErrorSyncDepthExceeded`* | | -| 69 |*`cudaErrorLaunchPendingCountExceeded`* | | -| 70 |*`cudaErrorNotPermitted`* | | -| 71 |*`cudaErrorNotSupported`* | | -| 72 |*`cudaErrorHardwareStackError`* | | -| 73 |*`cudaErrorIllegalInstruction`* | | -| 74 |*`cudaErrorMisalignedAddress`* | | -| 75 |*`cudaErrorInvalidAddressSpace`* | | -| 76 |*`cudaErrorInvalidPc`* | | -| 77 |*`cudaErrorIllegalAddress`* | | -| 78 |*`cudaErrorInvalidPtx`* | | -| 79 |*`cudaErrorInvalidGraphicsContext`* | | -| 0x7f |*`cudaErrorStartupFailure`* | | -| 1000 |*`cudaErrorApiFailureBase`* | | -| enum |***`cudaFuncCache`*** |***`hipFuncCache_t`*** | -| 0 |*`cudaFuncCachePreferNone`* |*`hipFuncCachePreferNone`* | -| 1 |*`cudaFuncCachePreferShared`* |*`hipFuncCachePreferShared`* | -| 2 |*`cudaFuncCachePreferL1`* |*`hipFuncCachePreferL1`* | -| 3 |*`cudaFuncCachePreferEqual`* |*`hipFuncCachePreferEqual`* | -| enum |***`cudaGraphicsCubeFace`*** | | -| 0x00 |*`cudaGraphicsCubeFacePositiveX`* | | -| 0x01 |*`cudaGraphicsCubeFaceNegativeX`* | | -| 0x02 |*`cudaGraphicsCubeFacePositiveY`* | | -| 0x03 |*`cudaGraphicsCubeFaceNegativeY`* | | -| 0x04 |*`cudaGraphicsCubeFacePositiveZ`* | | -| 0x05 |*`cudaGraphicsCubeFaceNegativeZ`* | | -| enum |***`cudaGraphicsMapFlags`*** | | -| 0 |*`cudaGraphicsMapFlagsNone`* | | -| 1 |*`cudaGraphicsMapFlagsReadOnly`* | | -| 2 |*`cudaGraphicsMapFlagsWriteDiscard`* | | -| enum |***`cudaGraphicsRegisterFlags`*** | | -| 0 |*`cudaGraphicsRegisterFlagsNone`* | | -| 1 |*`cudaGraphicsRegisterFlagsReadOnly`* | | -| 2 |*`cudaGraphicsRegisterFlagsWriteDiscard`* | | -| 4 |*`cudaGraphicsRegisterFlagsSurfaceLoadStore`* | | -| 8 |*`cudaGraphicsRegisterFlagsTextureGather`* | | -| enum |***`cudaLimit`*** |***`hipLimit_t`*** | -| 0x00 |*`cudaLimitStackSize`* | | -| 0x01 |*`cudaLimitPrintfFifoSize`* | | -| 0x02 |*`cudaLimitMallocHeapSize`* |*`hipLimitMallocHeapSize`* | -| 0x03 |*`cudaLimitDevRuntimeSyncDepth`* | | -| 0x04 |*`cudaLimitDevRuntimePendingLaunchCount`* | | -| enum |***`cudaMemcpyKind`*** |***`hipMemcpyKind`*** | -| 0 |*`cudaMemcpyHostToHost`* |*`hipMemcpyHostToHost`* | -| 1 |*`cudaMemcpyHostToDevice`* |*`hipMemcpyHostToDevice`* | -| 2 |*`cudaMemcpyDeviceToHost`* |*`hipMemcpyDeviceToHost`* | -| 3 |*`cudaMemcpyDeviceToDevice`* |*`hipMemcpyDeviceToDevice`* | -| 4 |*`cudaMemcpyDefault`* |*`hipMemcpyDefault`* | -| enum |***`cudaMemoryType`*** |***`hipMemoryType`*** | -| 1 |*`cudaMemoryTypeHost`* |*`hipMemoryTypeHost`* | -| 2 |*`cudaMemoryTypeDevice`* |*`hipMemoryTypeDevice`* | -| enum |***`cudaResourceType`*** |***`hipResourceType`*** | -| 0 |*`cudaResourceTypeArray`* |*`hipResourceTypeArray`* | -| 1 |*`cudaResourceTypeMipmappedArray`* |*`hipResourceTypeMipmappedArray`* | -| 2 |*`cudaResourceTypeLinear`* |*`hipResourceTypeLinear`* | -| 3 |*`cudaResourceTypePitch2D`* |*`hipResourceTypePitch2D`* | -| enum |***`cudaResourceViewFormat`*** |***`hipResourceViewFormat`*** | -| 0x00 |*`cudaResViewFormatNone`* |*`hipResViewFormatNone`* | -| 0x01 |*`cudaResViewFormatUnsignedChar1`* |*`hipResViewFormatUnsignedChar1`* | -| 0x02 |*`cudaResViewFormatUnsignedChar2`* |*`hipResViewFormatUnsignedChar2`* | -| 0x03 |*`cudaResViewFormatUnsignedChar4`* |*`hipResViewFormatUnsignedChar4`* | -| 0x04 |*`cudaResViewFormatSignedChar1`* |*`hipResViewFormatSignedChar1`* | -| 0x05 |*`cudaResViewFormatSignedChar2`* |*`hipResViewFormatSignedChar2`* | -| 0x06 |*`cudaResViewFormatSignedChar4`* |*`hipResViewFormatSignedChar4`* | -| 0x07 |*`cudaResViewFormatUnsignedShort1`* |*`hipResViewFormatUnsignedShort1`* | -| 0x08 |*`cudaResViewFormatUnsignedShort2`* |*`hipResViewFormatUnsignedShort2`* | -| 0x09 |*`cudaResViewFormatUnsignedShort4`* |*`hipResViewFormatUnsignedShort4`* | -| 0x0a |*`cudaResViewFormatSignedShort1`* |*`hipResViewFormatSignedShort1`* | -| 0x0b |*`cudaResViewFormatSignedShort2`* |*`hipResViewFormatSignedShort2`* | -| 0x0c |*`cudaResViewFormatSignedShort4`* |*`hipResViewFormatSignedShort4`* | -| 0x0d |*`cudaResViewFormatUnsignedInt1`* |*`hipResViewFormatUnsignedInt1`* | -| 0x0e |*`cudaResViewFormatUnsignedInt2`* |*`hipResViewFormatUnsignedInt2`* | -| 0x0f |*`cudaResViewFormatUnsignedInt4`* |*`hipResViewFormatUnsignedInt4`* | -| 0x10 |*`cudaResViewFormatSignedInt1`* |*`hipResViewFormatSignedInt1`* | -| 0x11 |*`cudaResViewFormatSignedInt2`* |*`hipResViewFormatSignedInt2`* | -| 0x12 |*`cudaResViewFormatSignedInt4`* |*`hipResViewFormatSignedInt4`* | -| 0x13 |*`cudaResViewFormatHalf1`* |*`hipResViewFormatHalf1`* | -| 0x14 |*`cudaResViewFormatHalf2`* |*`hipResViewFormatHalf2`* | -| 0x15 |*`cudaResViewFormatHalf4`* |*`hipResViewFormatHalf4`* | -| 0x16 |*`cudaResViewFormatFloat1`* |*`hipResViewFormatFloat1`* | -| 0x17 |*`cudaResViewFormatFloat2`* |*`hipResViewFormatFloat2`* | -| 0x18 |*`cudaResViewFormatFloat4`* |*`hipResViewFormatFloat4`* | -| 0x19 |*`cudaResViewFormatUnsignedBlockCompressed1`* |*`hipResViewFormatUnsignedBlockCompressed1`* | -| 0x1a |*`cudaResViewFormatUnsignedBlockCompressed2`* |*`hipResViewFormatUnsignedBlockCompressed2`* | -| 0x1b |*`cudaResViewFormatUnsignedBlockCompressed3`* |*`hipResViewFormatUnsignedBlockCompressed3`* | -| 0x1c |*`cudaResViewFormatUnsignedBlockCompressed4`* |*`hipResViewFormatUnsignedBlockCompressed4`* | -| 0x1d |*`cudaResViewFormatSignedBlockCompressed4`* |*`hipResViewFormatSignedBlockCompressed4`* | -| 0x1e |*`cudaResViewFormatUnsignedBlockCompressed5`* |*`hipResViewFormatUnsignedBlockCompressed5`* | -| 0x1f |*`cudaResViewFormatSignedBlockCompressed5`* |*`hipResViewFormatSignedBlockCompressed5`* | -| 0x20 |*`cudaResViewFormatUnsignedBlockCompressed6H`* |*`hipResViewFormatUnsignedBlockCompressed6H`* | -| 0x21 |*`cudaResViewFormatSignedBlockCompressed6H`* |*`hipResViewFormatSignedBlockCompressed6H`* | -| 0x22 |*`cudaResViewFormatUnsignedBlockCompressed7`* |*`hipResViewFormatUnsignedBlockCompressed7`* | -| enum |***`cudaSharedMemConfig`*** |***`hipSharedMemConfig`*** | -| 0 |*`cudaSharedMemBankSizeDefault`* |*`hipSharedMemBankSizeDefault`* | -| 1 |*`cudaSharedMemBankSizeFourByte`* |*`hipSharedMemBankSizeFourByte`* | -| 2 |*`cudaSharedMemBankSizeEightByte`* |*`hipSharedMemBankSizeEightByte`* | -| enum |***`cudaSurfaceBoundaryMode`*** |***`hipSurfaceBoundaryMode`*** | -| 0 |*`cudaBoundaryModeZero`* |*`hipBoundaryModeZero`* | -| 1 |*`cudaBoundaryModeClamp`* |*`hipBoundaryModeClamp`* | -| 2 |*`cudaBoundaryModeTrap`* |*`hipBoundaryModeTrap`* | -| enum |***`cudaSurfaceFormatMode`*** | | -| 0 |*`cudaFormatModeForced`* | | -| 1 |*`cudaFormatModeAuto`* | | -| enum |***`cudaTextureAddressMode`*** |***`hipTextureAddressMode`*** | -| 0 |*`cudaAddressModeWrap`* |*`hipAddressModeWrap`* | -| 1 |*`cudaAddressModeClamp`* |*`hipAddressModeClamp`* | -| 2 |*`cudaAddressModeMirror`* |*`hipAddressModeMirror`* | -| 3 |*`cudaAddressModeBorder`* |*`hipAddressModeBorder`* | -| enum |***`cudaTextureFilterMode`*** |***`hipTextureFilterMode`*** | -| 0 |*`cudaFilterModePoint`* |*`hipFilterModePoint`* | -| 1 |*`cudaFilterModeLinear`* |*`hipFilterModeLinear`* | -| enum |***`cudaTextureReadMode`*** |***`hipTextureReadMode`*** | -| 0 |*`cudaReadModeElementType`* |*`hipReadModeElementType`* | -| 1 |*`cudaReadModeNormalizedFloat`* |*`hipReadModeNormalizedFloat`* | -| enum |***`cudaGLDeviceList`*** | | -| 0x01 |*`cudaGLDeviceListAll`* | | -| 0x02 |*`cudaGLDeviceListCurrentFrame`* | | -| 0x03 |*`cudaGLDeviceListNextFrame`* | | -| enum |***`cudaGLMapFlags`*** | | -| 0x00 |*`cudaGLMapFlagsNone`* | | -| 0x01 |*`cudaGLMapFlagsReadOnly`* | | -| 0x02 |*`cudaGLMapFlagsWriteDiscard`* | | -| enum |***`cudaD3D9DeviceList`*** | | -| 1 |*`cudaD3D9DeviceListAll`* | | -| 2 |*`cudaD3D9DeviceListCurrentFrame`* | | -| 3 |*`cudaD3D9DeviceListNextFrame`* | | -| enum |***`cudaD3D9MapFlags`*** | | -| 0 |*`cudaD3D9MapFlagsNone`* | | -| 1 |*`cudaD3D9MapFlagsReadOnly`* | | -| 2 |*`cudaD3D9MapFlagsWriteDiscard`* | | -| enum |***`cudaD3D9RegisterFlags`*** | | -| 0 |*`cudaD3D9RegisterFlagsNone`* | | -| 1 |*`cudaD3D9RegisterFlagsArray`* | | -| enum |***`cudaD3D10DeviceList`*** | | -| 1 |*`cudaD3D10DeviceListAll`* | | -| 2 |*`cudaD3D10DeviceListCurrentFrame`* | | -| 3 |*`cudaD3D10DeviceListNextFrame`* | | -| enum |***`cudaD3D10MapFlags`*** | | -| 0 |*`cudaD3D10MapFlagsNone`* | | -| 1 |*`cudaD3D10MapFlagsReadOnly`* | | -| 2 |*`cudaD3D10MapFlagsWriteDiscard`* | | -| enum |***`cudaD3D10RegisterFlags`*** | | -| 0 |*`cudaD3D10RegisterFlagsNone`* | | -| 1 |*`cudaD3D10RegisterFlagsArray`* | | -| enum |***`cudaD3D11DeviceList`*** | | -| 1 |*`cudaD3D11DeviceListAll`* | | -| 2 |*`cudaD3D11DeviceListCurrentFrame`* | | -| 3 |*`cudaD3D11DeviceListNextFrame`* | | -| struct | `cudaArray` | `hipArray` | -| typedef | `cudaArray_t` | `hipArray_t` | -| typedef | `cudaArray_const_t` | `hipArray_const_t` | -| enum | `cudaError` | `hipError_t` | -| typedef | `cudaError_t` | `hipError_t` | -| typedef | `cudaEvent_t` | `hipEvent_t` | -| typedef | `cudaGraphicsResource_t` | | -| typedef | `cudaMipmappedArray_t` | `hipMipmappedArray_t` | -| typedef | `cudaMipmappedArray_const_t` | `hipMipmappedArray_const_t` | -| enum |***`cudaOutputMode`*** | | -| 0x00 |*`cudaKeyValuePair`* | | -| 0x01 |*`cudaCSV`* | | -| typedef | `cudaOutputMode_t` | | -| typedef | `cudaStream_t` | `hipStream_t` | -| typedef | `cudaStreamCallback_t` | `hipStreamCallback_t` | -| typedef | `cudaSurfaceObject_t` | `hipSurfaceObject_t` | -| typedef | `cudaTextureObject_t` | `hipTextureObject_t` | -| typedef | `CUuuid_stcudaUUID_t` | | -| define | `CUDA_IPC_HANDLE_SIZE` | | -| define | `cudaArrayCubemap` | `hipArrayCubemap` | -| define | `cudaArrayDefault` | `hipArrayDefault` | -| define | `cudaArrayLayered` | `hipArrayLayered` | -| define | `cudaArraySurfaceLoadStore` | `hipArraySurfaceLoadStore` | -| define | `cudaArrayTextureGather` | `hipArrayTextureGather` | -| define | `cudaDeviceBlockingSync` | `hipDeviceScheduleBlockingSync` | -| define | `cudaDeviceLmemResizeToMax` | | -| define | `cudaDeviceMapHost` | `hipDeviceMapHost` | -| define | `cudaDeviceMask` | | -| define | `cudaDevicePropDontCare` | | -| define | `cudaDeviceScheduleAuto` | `hipDeviceScheduleAuto` | -| define | `cudaDeviceScheduleBlockingSync` | `hipDeviceScheduleBlockingSync` | -| define | `cudaDeviceScheduleMask` | `hipDeviceScheduleMask` | -| define | `cudaDeviceScheduleSpin` | `hipDeviceScheduleSpin` | -| define | `cudaDeviceScheduleYield` | `hipDeviceScheduleYield` | -| define | `cudaEventDefault` | `hipEventDefault` | -| define | `cudaEventDisableTiming` | `hipEventDisableTiming` | -| define | `cudaEventInterprocess` | `hipEventInterprocess` | -| define | `cudaHostAllocDefault` | `hipHostMallocDefault` | -| define | `cudaHostAllocMapped` | `hipHostMallocMapped` | -| define | `cudaHostAllocPortable` | `hipHostMallocPortable` | -| define | `cudaHostAllocWriteCombined` | `hipHostMallocWriteCombined` | -| define | `cudaHostRegisterDefault` | `hipHostRegisterDefault` | -| define | `cudaHostRegisterIoMemory` | `hipHostRegisterIoMemory` | -| define | `cudaHostRegisterMapped` | `hipHostRegisterMapped` | -| define | `cudaHostRegisterPortable` | `hipHostRegisterPortable` | -| define | `cudaIpcMemLazyEnablePeerAccess` | `hipIpcMemLazyEnablePeerAccess` | -| define | `cudaMemAttachGlobal` | | -| define | `cudaMemAttachHost` | | -| define | `cudaMemAttachSingle` | | -| define | `cudaOccupancyDefault` | | -| define | `cudaOccupancyDisableCachingOverride` | | -| define | `cudaPeerAccessDefault` | | -| define | `cudaStreamDefault` | `hipStreamDefault` | -| define | `cudaStreamLegacy` | | -| define | `cudaStreamNonBlocking` | `hipStreamNonBlocking` | -| define | `cudaStreamPerThread` | | -| define | `cudaTextureType1D` | `hipTextureType1D` | -| define | `cudaTextureType2D` | `hipTextureType2D` | -| define | `cudaTextureType3D` | `hipTextureType3D` | -| define | `cudaTextureTypeCubemap` | `hipTextureTypeCubemap` | -| define | `cudaTextureType1DLayered` | `hipTextureType1DLayered` | -| define | `cudaTextureType2DLayered` | `hipTextureType2DLayered` | -| define | `cudaTextureTypeCubemapLayered` | `hipTextureTypeCubemapLayered` | -| enum |***`cudaDataType_t`*** |***`hipblasDatatype_t`*** | -| enum |***`cudaDataType`*** |***`hipblasDatatype_t`*** | -| 2 |*`CUDA_R_16F`* |*`HIPBLAS_R_16F`* | 150 | -| 6 |*`CUDA_C_16F`* |*`HIPBLAS_C_16F`* | 153 | -| 0 |*`CUDA_R_32F`* |*`HIPBLAS_R_32F`* | 151 | -| 4 |*`CUDA_C_32F`* |*`HIPBLAS_C_32F`* | 154 | -| 1 |*`CUDA_R_64F`* |*`HIPBLAS_R_64F`* | 152 | -| 5 |*`CUDA_C_64F`* |*`HIPBLAS_C_64F`* | 155 | -| 3 |*`CUDA_R_8I`* | | -| 7 |*`CUDA_C_8I`* | | -| 8 |*`CUDA_R_8U`* | | -| 9 |*`CUDA_C_8U`* | | -| 10 |*`CUDA_R_32I`* | | -| 11 |*`CUDA_C_32I`* | | -| 12 |*`CUDA_R_32U`* | | -| 13 |*`CUDA_C_32U`* | | +| **type** | **CUDA** | **HIP** |**HIP value** (if differs) | +|-------------:|-----------------------------------------------------|------------------------------------------------------------|---------------------------| +| struct |`cudaChannelFormatDesc` |`hipChannelFormatDesc` | +| struct |`cudaDeviceProp` |`hipDeviceProp_t` | +| struct |`cudaEglFrame` | | +| typedef |`cudaEglFrame_st` | | +| struct |`cudaEglPlaneDesc` | | +| typedef |`cudaEglPlaneDesc_st` | | +| struct |`cudaExtent` |`hipExtent` | +| struct |`cudaFuncAttributes` |`hipFuncAttributes` | +| struct |`cudaIpcEventHandle_t` |`hipIpcEventHandle_t` | +| struct |`cudaIpcMemHandle_t` |`hipIpcMemHandle_t` | +| struct |`cudaMemcpy3DParms` |`hipMemcpy3DParms` | +| struct |`cudaMemcpy3DPeerParms` | | +| struct |`cudaPitchedPtr` |`hipPitchedPtr` | +| struct |`cudaPointerAttributes` |`hipPointerAttribute_t` | +| struct |`cudaPos` |`hipPos` | +| struct |`cudaResourceDesc` |`hipResourceDesc` | +| struct |`cudaResourceViewDesc` |`hipResourceViewDesc` | +| struct |`cudaTextureDesc` |`hipTextureDesc` | +| struct |`textureReference` |`textureReference` | +| struct |`surfaceReference` | | +| struct |`CUuuid_st` | | +| enum |***`cudaCGScope`*** | | +| 0 |*`cudaCGScopeInvalid`* | | +| 1 |*`cudaCGScopeGrid`* | | +| 2 |*`cudaCGScopeMultiGrid`* | | +| enum |***`cudaChannelFormatKind`*** |***`hipChannelFormatKind`*** | +| 0 |*`cudaChannelFormatKindSigned`* |*`hipChannelFormatKindSigned`* | +| 1 |*`cudaChannelFormatKindUnsigned`* |*`hipChannelFormatKindUnsigned`* | +| 2 |*`cudaChannelFormatKindFloat`* |*`hipChannelFormatKindFloat`* | +| 3 |*`cudaChannelFormatKindNone`* |*`hipChannelFormatKindNone`* | +| enum |***`cudaComputeMode`*** |***`hipComputeMode`*** | +| 0 |*`cudaComputeModeDefault`* |*`hipComputeModeDefault`* | +| 1 |*`cudaComputeModeExclusive`* |*`hipComputeModeExclusive`* | +| 2 |*`cudaComputeModeProhibited`* |*`hipComputeModeProhibited`* | +| 3 |*`cudaComputeModeExclusiveProcess`* |*`hipComputeModeExclusiveProcess`* | +| enum |***`cudaDeviceAttr`*** |***`hipDeviceAttribute_t`*** | +| 1 |*`cudaDevAttrMaxThreadsPerBlock`* |*`hipDeviceAttributeMaxThreadsPerBlock`* | +| 2 |*`cudaDevAttrMaxBlockDimX`* |*`hipDeviceAttributeMaxBlockDimX`* | +| 3 |*`cudaDevAttrMaxBlockDimY`* |*`hipDeviceAttributeMaxBlockDimY`* | +| 4 |*`cudaDevAttrMaxBlockDimZ`* |*`hipDeviceAttributeMaxBlockDimZ`* | +| 5 |*`cudaDevAttrMaxGridDimX`* |*`hipDeviceAttributeMaxGridDimX`* | +| 6 |*`cudaDevAttrMaxGridDimY`* |*`hipDeviceAttributeMaxGridDimY`* | +| 7 |*`cudaDevAttrMaxGridDimZ`* |*`hipDeviceAttributeMaxGridDimZ`* | +| 8 |*`cudaDevAttrMaxSharedMemoryPerBlock`* |*`hipDeviceAttributeMaxSharedMemoryPerBlock`* | +| 9 |*`cudaDevAttrTotalConstantMemory`* |*`hipDeviceAttributeTotalConstantMemory`* | +| 10 |*`cudaDevAttrWarpSize`* |*`hipDeviceAttributeWarpSize`* | +| 11 |*`cudaDevAttrMaxPitch`* | | +| 12 |*`cudaDevAttrMaxRegistersPerBlock`* |*`hipDeviceAttributeMaxRegistersPerBlock`* | +| 13 |*`cudaDevAttrClockRate`* |*`hipDeviceAttributeClockRate`* | +| 14 |*`cudaDevAttrTextureAlignment`* | | +| 15 |*`cudaDevAttrGpuOverlap`* | | +| 16 |*`cudaDevAttrMultiProcessorCount`* |*`hipDeviceAttributeMultiprocessorCount`* | +| 17 |*`cudaDevAttrKernelExecTimeout`* | | +| 18 |*`cudaDevAttrIntegrated`* |*`hipDeviceAttributeIntegrated`* | +| 19 |*`cudaDevAttrCanMapHostMemory`* | | +| 20 |*`cudaDevAttrComputeMode`* |*`hipDeviceAttributeComputeMode`* | +| 21 |*`cudaDevAttrMaxTexture1DWidth`* | | +| 22 |*`cudaDevAttrMaxTexture2DWidth`* | | +| 23 |*`cudaDevAttrMaxTexture2DHeight`* | | +| 24 |*`cudaDevAttrMaxTexture3DWidth`* | | +| 25 |*`cudaDevAttrMaxTexture3DHeight`* | | +| 26 |*`cudaDevAttrMaxTexture3DDepth`* | | +| 27 |*`cudaDevAttrMaxTexture2DLayeredWidth`* | | +| 28 |*`cudaDevAttrMaxTexture2DLayeredHeight`* | | +| 29 |*`cudaDevAttrMaxTexture2DLayeredLayers`* | | +| 30 |*`cudaDevAttrSurfaceAlignment`* | | +| 31 |*`cudaDevAttrConcurrentKernels`* |*`hipDeviceAttributeConcurrentKernels`* | +| 32 |*`cudaDevAttrEccEnabled`* | | +| 33 |*`cudaDevAttrPciBusId`* |*`hipDeviceAttributePciBusId`* | +| 34 |*`cudaDevAttrPciDeviceId`* |*`hipDeviceAttributePciDeviceId`* | +| 35 |*`cudaDevAttrTccDriver`* | | +| 36 |*`cudaDevAttrMemoryClockRate`* |*`hipDeviceAttributeMemoryClockRate`* | +| 37 |*`cudaDevAttrGlobalMemoryBusWidth`* |*`hipDeviceAttributeMemoryBusWidth`* | +| 38 |*`cudaDevAttrL2CacheSize`* |*`hipDeviceAttributeL2CacheSize`* | +| 39 |*`cudaDevAttrMaxThreadsPerMultiProcessor`* |*`hipDeviceAttributeMaxThreadsPerMultiProcessor`* | +| 40 |*`cudaDevAttrAsyncEngineCount`* | | +| 41 |*`cudaDevAttrUnifiedAddressing`* | | +| 42 |*`cudaDevAttrMaxTexture1DLayeredWidth`* | | +| 43 |*`cudaDevAttrMaxTexture1DLayeredLayers`* | | +| 44 | | | +| 45 |*`cudaDevAttrMaxTexture2DGatherWidth`* | | +| 46 |*`cudaDevAttrMaxTexture2DGatherHeight`* | | +| 47 |*`cudaDevAttrMaxTexture3DWidthAlt`* | | +| 48 |*`cudaDevAttrMaxTexture3DHeightAlt`* | | +| 49 |*`cudaDevAttrMaxTexture3DDepthAlt`* | | +| 50 |*`cudaDevAttrPciDomainId`* | | +| 51 |*`cudaDevAttrTexturePitchAlignment`* | | +| 52 |*`cudaDevAttrMaxTextureCubemapWidth`* | | +| 53 |*`cudaDevAttrMaxTextureCubemapLayeredWidth`* | | +| 54 |*`cudaDevAttrMaxTextureCubemapLayeredLayers`* | | +| 55 |*`cudaDevAttrMaxSurface1DWidth`* | | +| 56 |*`cudaDevAttrMaxSurface2DWidth`* | | +| 57 |*`cudaDevAttrMaxSurface2DHeight`* | | +| 58 |*`cudaDevAttrMaxSurface3DWidth`* | | +| 59 |*`cudaDevAttrMaxSurface3DHeight`* | | +| 60 |*`cudaDevAttrMaxSurface3DDepth`* | | +| 61 |*`cudaDevAttrMaxSurface1DLayeredWidth`* | | +| 62 |*`cudaDevAttrMaxSurface1DLayeredLayers`* | | +| 63 |*`cudaDevAttrMaxSurface2DLayeredWidth`* | | +| 64 |*`cudaDevAttrMaxSurface2DLayeredHeight`* | | +| 65 |*`cudaDevAttrMaxSurface2DLayeredLayers`* | | +| 66 |*`cudaDevAttrMaxSurfaceCubemapWidth`* | | +| 67 |*`cudaDevAttrMaxSurfaceCubemapLayeredWidth`* | | +| 68 |*`cudaDevAttrMaxSurfaceCubemapLayeredLayers`* | | +| 69 |*`cudaDevAttrMaxTexture1DLinearWidth`* | | +| 70 |*`cudaDevAttrMaxTexture2DLinearWidth`* | | +| 71 |*`cudaDevAttrMaxTexture2DLinearHeight`* | | +| 72 |*`cudaDevAttrMaxTexture2DLinearPitch`* | | +| 73 |*`cudaDevAttrMaxTexture2DMipmappedWidth* | | +| 74 |*`cudaDevAttrMaxTexture2DMipmappedHeight`* | | +| 75 |*`cudaDevAttrComputeCapabilityMajor`* |*`hipDeviceAttributeComputeCapabilityMajor`* | +| 76 |*`cudaDevAttrComputeCapabilityMinor`* |*`hipDeviceAttributeComputeCapabilityMinor`* | +| 77 |*`cudaDevAttrMaxTexture1DMipmappedWidth`* | | +| 78 |*`cudaDevAttrStreamPrioritiesSupported`* | | +| 79 |*`cudaDevAttrGlobalL1CacheSupported`* | | +| 80 |*`cudaDevAttrLocalL1CacheSupported`* | | +| 81 |*`cudaDevAttrMaxSharedMemoryPerMultiprocessor`* |*`hipDeviceAttributeMaxSharedMemoryPerMultiprocessor`* | +| 82 |*`cudaDevAttrMaxRegistersPerMultiprocessor`* | | +| 83 |*`cudaDevAttrManagedMemory`* | | +| 84 |*`cudaDevAttrIsMultiGpuBoard`* |*`hipDeviceAttributeIsMultiGpuBoard`* | +| 85 |*`cudaDevAttrMultiGpuBoardGroupID`* | | +| 86 |*`cudaDevAttrHostNativeAtomicSupported`* | | +| 87 |*`cudaDevAttrSingleToDoublePrecisionPerfRatio`* | | +| 88 |*`cudaDevAttrPageableMemoryAccess`* | | +| 89 |*`cudaDevAttrConcurrentManagedAccess`* | | +| 90 |*`cudaDevAttrComputePreemptionSupported`* | | +| 91 |*`cudaDevAttrCanUseHostPointerForRegisteredMem`* | | +| 92 |*`cudaDevAttrReserved92`* | | +| 93 |*`cudaDevAttrReserved93`* | | +| 94 |*`cudaDevAttrReserved94`* | | +| 95 |*`cudaDevAttrCooperativeLaunch`* | | +| 96 |*`cudaDevAttrCooperativeMultiDeviceLaunch`* | | +| 97 |*`cudaDevAttrMaxSharedMemoryPerBlockOptin`* | | +| 98 |*`cudaDevAttrCanFlushRemoteWrites`* | | +| 99 |*`cudaDevAttrHostRegisterSupported`* | | +| 100 |*`cudaDevAttrPageableMemoryAccessUsesHostPageTables`*| | +| 101 |*`cudaDevAttrDirectManagedMemAccessFromHost`* | | +| enum |***`cudaDeviceP2PAttr`*** | | +| 1 |*`cudaDevP2PAttrPerformanceRank`* | | +| 2 |*`cudaDevP2PAttrAccessSupported`* | | +| 3 |*`cudaDevP2PAttrNativeAtomicSupported`* | | +| 4 |*`cudaDevP2PAttrCudaArrayAccessSupported`* | | +| enum |***`cudaEglColorFormat`*** | | +| 0 |*`cudaEglColorFormatYUV420Planar`* | | +| 1 |*`cudaEglColorFormatYUV420SemiPlanar`* | | +| 2 |*`cudaEglColorFormatYUV422Planar`* | | +| 3 |*`cudaEglColorFormatYUV422SemiPlanar`* | | +| 4 |*`cudaEglColorFormatRGB`* | | +| 5 |*`cudaEglColorFormatBGR`* | | +| 6 |*`cudaEglColorFormatARGB`* | | +| 7 |*`cudaEglColorFormatRGBA`* | | +| 8 |*`cudaEglColorFormatL`* | | +| 9 |*`cudaEglColorFormatR`* | | +| 10 |*`cudaEglColorFormatYUV444Planar`* | | +| 11 |*`cudaEglColorFormatYUV444SemiPlanar`* | | +| 12 |*`cudaEglColorFormatYUYV422`* | | +| 13 |*`cudaEglColorFormatUYVY422`* | | +| 14 |*`cudaEglColorFormatABGR`* | | +| 15 |*`cudaEglColorFormatBGRA`* | | +| 16 |*`cudaEglColorFormatA`* | | +| 17 |*`cudaEglColorFormatRG`* | | +| 18 |*`cudaEglColorFormatAYUV`* | | +| 19 |*`cudaEglColorFormatYVU444SemiPlanar`* | | +| 20 |*`cudaEglColorFormatYVU422SemiPlanar`* | | +| 21 |*`cudaEglColorFormatYVU420SemiPlanar`* | | +| 22 |*`cudaEglColorFormatY10V10U10_444SemiPlanar`* | | +| 23 |*`cudaEglColorFormatY10V10U10_420SemiPlanar`* | | +| 24 |*`cudaEglColorFormatY12V12U12_444SemiPlanar`* | | +| 25 |*`cudaEglColorFormatY12V12U12_420SemiPlanar`* | | +| 26 |*`cudaEglColorFormatVYUY_ER`* | | +| 27 |*`cudaEglColorFormatUYVY_ER`* | | +| 28 |*`cudaEglColorFormatYUYV_ER`* | | +| 29 |*`cudaEglColorFormatYVYU_ER`* | | +| 30 |*`cudaEglColorFormatYUV_ER`* | | +| 31 |*`cudaEglColorFormatYUVA_ER`* | | +| 32 |*`cudaEglColorFormatAYUV_ER`* | | +| 33 |*`cudaEglColorFormatYUV444Planar_ER`* | | +| 34 |*`cudaEglColorFormatYUV422Planar_ER`* | | +| 35 |*`cudaEglColorFormatYUV420Planar_ER`* | | +| 36 |*`cudaEglColorFormatYUV444SemiPlanar_ER`* | | +| 37 |*`cudaEglColorFormatYUV422SemiPlanar_ER`* | | +| 38 |*`cudaEglColorFormatYUV420SemiPlanar_ER`* | | +| 39 |*`cudaEglColorFormatYVU444Planar_ER`* | | +| 40 |*`cudaEglColorFormatYVU422Planar_ER`* | | +| 41 |*`cudaEglColorFormatYVU420Planar_ER`* | | +| 42 |*`cudaEglColorFormatYVU444SemiPlanar_ER`* | | +| 43 |*`cudaEglColorFormatYVU422SemiPlanar_ER`* | | +| 44 |*`cudaEglColorFormatYVU420SemiPlanar_ER`* | | +| 45 |*`cudaEglColorFormatBayerRGGB`* | | +| 46 |*`cudaEglColorFormatBayerBGGR`* | | +| 47 |*`cudaEglColorFormatBayerGRBG`* | | +| 48 |*`cudaEglColorFormatBayerGBRG`* | | +| 49 |*`cudaEglColorFormatBayer10RGGB`* | | +| 50 |*`cudaEglColorFormatBayer10BGGR`* | | +| 51 |*`cudaEglColorFormatBayer10GRBG`* | | +| 52 |*`cudaEglColorFormatBayer10GBRG`* | | +| 53 |*`cudaEglColorFormatBayer12RGGB`* | | +| 54 |*`cudaEglColorFormatBayer12BGGR`* | | +| 55 |*`cudaEglColorFormatBayer12GRBG`* | | +| 56 |*`cudaEglColorFormatBayer12GBRG`* | | +| 57 |*`cudaEglColorFormatBayer14RGGB`* | | +| 58 |*`cudaEglColorFormatBayer14BGGR`* | | +| 59 |*`cudaEglColorFormatBayer14GRBG`* | | +| 60 |*`cudaEglColorFormatBayer14GBRG`* | | +| 61 |*`cudaEglColorFormatBayer20RGGB`* | | +| 62 |*`cudaEglColorFormatBayer20BGGR`* | | +| 63 |*`cudaEglColorFormatBayer20GRBG`* | | +| 64 |*`cudaEglColorFormatBayer20GBRG`* | | +| 65 |*`cudaEglColorFormatYVU444Planar`* | | +| 66 |*`cudaEglColorFormatYVU422Planar`* | | +| 67 |*`cudaEglColorFormatYVU420Planar`* | | +| 68 |*`cudaEglColorFormatBayerIspRGGB`* | | +| 69 |*`cudaEglColorFormatBayerIspBGGR`* | | +| 70 |*`cudaEglColorFormatBayerIspGRBG`* | | +| 71 |*`cudaEglColorFormatBayerIspGBRG`* | | +| enum |***`cudaEglFrameType`*** | | +| 0 |*`cudaEglFrameTypeArray`* | | +| 1 |*`cudaEglFrameTypePitch`* | | +| enum |***`cudaExternalMemoryHandleType`*** | | +| 1 |*`cudaExternalMemoryHandleTypeOpaqueFd`* | | +| 2 |*`cudaExternalMemoryHandleTypeOpaqueWin32`* | | +| 3 |*`cudaExternalMemoryHandleTypeOpaqueWin32Kmt`* | | +| 4 |*`cudaExternalMemoryHandleTypeD3D12Heap`* | | +| 5 |*`cudaExternalMemoryHandleTypeD3D12Resource`* | | +| enum |***`cudaExternalSemaphoreHandleType`*** | | +| 1 |*`cudaExternalSemaphoreHandleTypeOpaqueFd`* | | +| 2 |*`cudaExternalSemaphoreHandleTypeOpaqueWin32`* | | +| 3 |*`cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt`* | | +| 4 |*`cudaExternalSemaphoreHandleTypeD3D12Fence`* | | +| enum |***`cudaFuncAttribute`*** | | +| 8 |*`cudaFuncAttributeMaxDynamicSharedMemorySize`* | | +| 9 |*`cudaFuncAttributePreferredSharedMemoryCarveout`* | | +| 10 |*`cudaFuncAttributeMax`* | | +| enum |***`cudaEglResourceLocationFlags`*** | | +| 0x00 |*`cudaEglResourceLocationSysmem`* | | +| 0x01 |*`cudaEglResourceLocationVidmem`* | | +| enum |***`cudaError`*** |***`hipError_t`*** | +| typedef |***`cudaError_t`*** |***`hipError_t`*** | +| 0 |*`cudaSuccess`* |*`hipSuccess`* | +| 1 |*`cudaErrorMissingConfiguration`* |*`hipErrorMissingConfiguration`* | 1001 | +| 2 |*`cudaErrorMemoryAllocation`* |*`hipErrorMemoryAllocation`* | 1002 | +| 3 |*`cudaErrorInitializationError`* |*`hipErrorInitializationError`* | 1003 | +| 4 |*`cudaErrorLaunchFailure`* |*`hipErrorLaunchFailure`* | 1004 | +| 5 |*`cudaErrorPriorLaunchFailure`* |*`hipErrorPriorLaunchFailure`* | 1005 | +| 6 |*`cudaErrorLaunchTimeout`* |*`hipErrorLaunchTimeOut`* | 1006 | +| 7 |*`cudaErrorLaunchOutOfResources`* |*`hipErrorLaunchOutOfResources`* | 1007 | +| 8 |*`cudaErrorInvalidDeviceFunction`* |*`hipErrorInvalidDeviceFunction`* | 1008 | +| 9 |*`cudaErrorInvalidConfiguration`* |*`hipErrorInvalidConfiguration`* | 1009 | +| 10 |*`cudaErrorInvalidDevice`* |*`hipErrorInvalidDevice`* | 1010 | +| 11 |*`cudaErrorInvalidValue`* |*`hipErrorInvalidValue`* | 1011 | +| 12 |*`cudaErrorInvalidPitchValue`* | | +| 13 |*`cudaErrorInvalidSymbol`* |*`hipErrorInvalidSymbol`* | 701 | +| 14 |*`cudaErrorMapBufferObjectFailed`* |*`hipErrorMapFailed`* | 205 | +| 15 |*`cudaErrorUnmapBufferObjectFailed`* |*`hipErrorUnmapFailed`* | 206 | +| 16 |*`cudaErrorInvalidHostPointer`* | | +| 17 |*`cudaErrorInvalidDevicePointer`* |*`hipErrorInvalidDevicePointer`* | 1017 | +| 18 |*`cudaErrorInvalidTexture`* | | +| 19 |*`cudaErrorInvalidTextureBinding`* | | +| 20 |*`cudaErrorInvalidChannelDescriptor`* | | +| 21 |*`cudaErrorInvalidMemcpyDirection`* |*`hipErrorInvalidMemcpyDirection`* | 1021 | +| 22 |*`cudaErrorAddressOfConstant`* | | +| 23 |*`cudaErrorTextureFetchFailed`* | | +| 24 |*`cudaErrorTextureNotBound`* | | +| 25 |*`cudaErrorSynchronizationError`* | | +| 26 |*`cudaErrorInvalidFilterSetting`* | | +| 27 |*`cudaErrorInvalidNormSetting`* | | +| 28 |*`cudaErrorMixedDeviceExecution`* | | +| 29 |*`cudaErrorCudartUnloading`* |*`hipErrorDeinitialized`* | 4 | +| 30 |*`cudaErrorUnknown`* |*`hipErrorUnknown`* | 1030 | +| 31 |*`cudaErrorNotYetImplemented`* | | +| 32 |*`cudaErrorMemoryValueTooLarge`* | | +| 33 |*`cudaErrorInvalidResourceHandle`* |*`hipErrorInvalidResourceHandle`* | 1033 | +| 34 |*`cudaErrorNotReady`* |*`hipErrorNotReady`* | 1034 | +| 35 |*`cudaErrorInsufficientDriver`* |*`hipErrorInsufficientDriver`* | +| 36 |*`cudaErrorSetOnActiveProcess`* | | +| 37 |*`cudaErrorInvalidSurface`* | | +| 38 |*`cudaErrorNoDevice`* |*`hipErrorNoDevice`* | 1038 | +| 39 |*`cudaErrorECCUncorrectable`* |*`hipErrorECCNotCorrectable`* | 214 | +| 40 |*`cudaErrorSharedObjectSymbolNotFound`* |*`hipErrorSharedObjectSymbolNotFound`* | 302 | +| 41 |*`cudaErrorSharedObjectInitFailed`* |*`hipErrorSharedObjectInitFailed`* | 303 | +| 42 |*`cudaErrorUnsupportedLimit`* |*`hipErrorUnsupportedLimit`* | 215 | +| 43 |*`cudaErrorDuplicateVariableName`* | | +| 44 |*`cudaErrorDuplicateTextureName`* | | +| 45 |*`cudaErrorDuplicateSurfaceName`* | | +| 46 |*`cudaErrorDevicesUnavailable`* | | +| 47 |*`cudaErrorInvalidKernelImage`* |*`hipErrorInvalidImage`* | 200 | +| 48 |*`cudaErrorNoKernelImageForDevice`* |*`hipErrorNoBinaryForGpu`* | 209 | +| 49 |*`cudaErrorIncompatibleDriverContext`* | | +| 50 |*`cudaErrorPeerAccessAlreadyEnabled`* |*`hipErrorPeerAccessAlreadyEnabled`* | 1050 | +| 51 |*`cudaErrorPeerAccessNotEnabled`* |*`hipErrorPeerAccessNotEnabled`* | 1051 | +| 52 | | | +| 53 | | | +| 54 |*`cudaErrorDeviceAlreadyInUse`* | | +| 55 |*`cudaErrorProfilerDisabled`* |*`hipErrorProfilerDisabled`* | 5 | +| 56 |*`cudaErrorProfilerNotInitialized`* |*`hipErrorProfilerNotInitialized`* | 6 | +| 57 |*`cudaErrorProfilerAlreadyStarted`* |*`hipErrorProfilerAlreadyStarted`* | 7 | +| 58 |*`cudaErrorProfilerAlreadyStopped`* |*`hipErrorProfilerAlreadyStopped`* | 8 | +| 59 |*`cudaErrorAssert`* |*`hipErrorAssert`* | 1081 | +| 60 |*`cudaErrorTooManyPeers`* | | +| 61 |*`cudaErrorHostMemoryAlreadyRegistered`* |*`hipErrorHostMemoryAlreadyRegistered`* | 1061 | +| 62 |*`cudaErrorHostMemoryNotRegistered`* |*`hipErrorHostMemoryNotRegistered`* | 1062 | +| 63 |*`cudaErrorOperatingSystem`* |*`hipErrorOperatingSystem`* | 304 | +| 64 |*`cudaErrorPeerAccessUnsupported`* |*`hipErrorPeerAccessUnsupported`* | 217 | +| 65 |*`cudaErrorLaunchMaxDepthExceeded`* | | +| 66 |*`cudaErrorLaunchFileScopedTex`* | | +| 67 |*`cudaErrorLaunchFileScopedSurf`* | | +| 68 |*`cudaErrorSyncDepthExceeded`* | | +| 69 |*`cudaErrorLaunchPendingCountExceeded`* | | +| 70 |*`cudaErrorNotPermitted`* | | +| 71 |*`cudaErrorNotSupported`* | | +| 72 |*`cudaErrorHardwareStackError`* | | +| 73 |*`cudaErrorIllegalInstruction`* | | +| 74 |*`cudaErrorMisalignedAddress`* | | +| 75 |*`cudaErrorInvalidAddressSpace`* | | +| 76 |*`cudaErrorInvalidPc`* | | +| 77 |*`cudaErrorIllegalAddress`* |*`hipErrorIllegalAddress`* | 700 | +| 78 |*`cudaErrorInvalidPtx`* |*`hipErrorInvalidKernelFile`* | 218 | +| 79 |*`cudaErrorInvalidGraphicsContext`* |*`hipErrorInvalidGraphicsContext`* | 219 | +| 80 |*`cudaErrorNvlinkUncorrectable`* | | +| 81 |*`cudaErrorJitCompilerNotFound`* | | +| 82 |*`cudaErrorCooperativeLaunchTooLarge`* | | +| 83 |*`cudaErrorSystemNotReady`* | | +| 84 |*`cudaErrorIllegalState`* | | +| 127 |*`cudaErrorStartupFailure`* | | +| 900 |*`cudaErrorStreamCaptureUnsupported`* | | +| 901 |*`cudaErrorStreamCaptureInvalidated`* | | +| 902 |*`cudaErrorStreamCaptureMerge`* | | +| 903 |*`cudaErrorStreamCaptureUnmatched`* | | +| 904 |*`cudaErrorStreamCaptureUnjoined`* | | +| 905 |*`cudaErrorStreamCaptureIsolation`* | | +| 906 |*`cudaErrorStreamCaptureImplicit`* | | +| 907 |*`cudaErrorCapturedEvent`* | | +| 10000 |*`cudaErrorApiFailureBase`* | | +| enum |***`cudaFuncCache`*** |***`hipFuncCache_t`*** | +| 0 |*`cudaFuncCachePreferNone`* |*`hipFuncCachePreferNone`* | +| 1 |*`cudaFuncCachePreferShared`* |*`hipFuncCachePreferShared`* | +| 2 |*`cudaFuncCachePreferL1`* |*`hipFuncCachePreferL1`* | +| 3 |*`cudaFuncCachePreferEqual`* |*`hipFuncCachePreferEqual`* | +| enum |***`cudaGraphicsCubeFace`*** | | +| 0x00 |*`cudaGraphicsCubeFacePositiveX`* | | +| 0x01 |*`cudaGraphicsCubeFaceNegativeX`* | | +| 0x02 |*`cudaGraphicsCubeFacePositiveY`* | | +| 0x03 |*`cudaGraphicsCubeFaceNegativeY`* | | +| 0x04 |*`cudaGraphicsCubeFacePositiveZ`* | | +| 0x05 |*`cudaGraphicsCubeFaceNegativeZ`* | | +| enum |***`cudaGraphicsMapFlags`*** | | +| 0 |*`cudaGraphicsMapFlagsNone`* | | +| 1 |*`cudaGraphicsMapFlagsReadOnly`* | | +| 2 |*`cudaGraphicsMapFlagsWriteDiscard`* | | +| enum |***`cudaGraphicsRegisterFlags`*** | | +| 0 |*`cudaGraphicsRegisterFlagsNone`* | | +| 1 |*`cudaGraphicsRegisterFlagsReadOnly`* | | +| 2 |*`cudaGraphicsRegisterFlagsWriteDiscard`* | | +| 4 |*`cudaGraphicsRegisterFlagsSurfaceLoadStore`* | | +| 8 |*`cudaGraphicsRegisterFlagsTextureGather`* | | +| enum |***`cudaGraphNodeType`*** | | +| 0x00 |*`cudaGraphNodeTypeKernel`* | | +| 0x01 |*`cudaGraphNodeTypeMemcpy`* | | +| 0x02 |*`cudaGraphNodeTypeMemset`* | | +| 0x03 |*`cudaGraphNodeTypeHost`* | | +| 0x04 |*`cudaGraphNodeTypeGraph`* | | +| 0x05 |*`cudaGraphNodeTypeEmpty`* | | +| |*`cudaGraphNodeTypeCount`* | | +| enum |***`cudaLimit`*** |***`hipLimit_t`*** | +| 0x00 |*`cudaLimitStackSize`* | | +| 0x01 |*`cudaLimitPrintfFifoSize`* | | +| 0x02 |*`cudaLimitMallocHeapSize`* |*`hipLimitMallocHeapSize`* | +| 0x03 |*`cudaLimitDevRuntimeSyncDepth`* | | +| 0x04 |*`cudaLimitDevRuntimePendingLaunchCount`* | | +| 0x05 |*`cudaLimitMaxL2FetchGranularity`* | | +| enum |***`cudaMemcpyKind`*** |***`hipMemcpyKind`*** | +| 0 |*`cudaMemcpyHostToHost`* |*`hipMemcpyHostToHost`* | +| 1 |*`cudaMemcpyHostToDevice`* |*`hipMemcpyHostToDevice`* | +| 2 |*`cudaMemcpyDeviceToHost`* |*`hipMemcpyDeviceToHost`* | +| 3 |*`cudaMemcpyDeviceToDevice`* |*`hipMemcpyDeviceToDevice`* | +| 4 |*`cudaMemcpyDefault`* |*`hipMemcpyDefault`* | +| enum |***`cudaMemoryAdvise`*** | | +| 1 |*`cudaMemAdviseSetReadMostly`* | | +| 2 |*`cudaMemAdviseUnsetReadMostly`* | | +| 3 |*`cudaMemAdviseSetPreferredLocation`* | | +| 4 |*`cudaMemAdviseUnsetPreferredLocation`* | | +| 5 |*`cudaMemAdviseSetAccessedBy`* | | +| 6 |*`cudaMemAdviseUnsetAccessedBy`* | | +| enum |***`cudaMemoryType`*** | | +| 0 |*`cudaMemoryTypeUnregistered`* | | +| 1 |*`cudaMemoryTypeHost`* | | +| 2 |*`cudaMemoryTypeDevice`* | | +| 3 |*`cudaMemoryTypeManaged`* | | +| enum |***`cudaMemRangeAttribute`*** | | +| 1 |*`cudaMemRangeAttributeReadMostly`* | | +| 2 |*`cudaMemRangeAttributePreferredLocation`* | | +| 3 |*`cudaMemRangeAttributeAccessedBy`* | | +| 4 |*`cudaMemRangeAttributeLastPrefetchLocation`* | | +| enum |***`cudaResourceType`*** |***`hipResourceType`*** | +| 0x00 |*`cudaResourceTypeArray`* |*`hipResourceTypeArray`* | +| 0x01 |*`cudaResourceTypeMipmappedArray`* |*`hipResourceTypeMipmappedArray`* | +| 0x02 |*`cudaResourceTypeLinear`* |*`hipResourceTypeLinear`* | +| 0x03 |*`cudaResourceTypePitch2D`* |*`hipResourceTypePitch2D`* | +| enum |***`cudaResourceViewFormat`*** |***`hipResourceViewFormat`*** | +| 0x00 |*`cudaResViewFormatNone`* |*`hipResViewFormatNone`* | +| 0x01 |*`cudaResViewFormatUnsignedChar1`* |*`hipResViewFormatUnsignedChar1`* | +| 0x02 |*`cudaResViewFormatUnsignedChar2`* |*`hipResViewFormatUnsignedChar2`* | +| 0x03 |*`cudaResViewFormatUnsignedChar4`* |*`hipResViewFormatUnsignedChar4`* | +| 0x04 |*`cudaResViewFormatSignedChar1`* |*`hipResViewFormatSignedChar1`* | +| 0x05 |*`cudaResViewFormatSignedChar2`* |*`hipResViewFormatSignedChar2`* | +| 0x06 |*`cudaResViewFormatSignedChar4`* |*`hipResViewFormatSignedChar4`* | +| 0x07 |*`cudaResViewFormatUnsignedShort1`* |*`hipResViewFormatUnsignedShort1`* | +| 0x08 |*`cudaResViewFormatUnsignedShort2`* |*`hipResViewFormatUnsignedShort2`* | +| 0x09 |*`cudaResViewFormatUnsignedShort4`* |*`hipResViewFormatUnsignedShort4`* | +| 0x0a |*`cudaResViewFormatSignedShort1`* |*`hipResViewFormatSignedShort1`* | +| 0x0b |*`cudaResViewFormatSignedShort2`* |*`hipResViewFormatSignedShort2`* | +| 0x0c |*`cudaResViewFormatSignedShort4`* |*`hipResViewFormatSignedShort4`* | +| 0x0d |*`cudaResViewFormatUnsignedInt1`* |*`hipResViewFormatUnsignedInt1`* | +| 0x0e |*`cudaResViewFormatUnsignedInt2`* |*`hipResViewFormatUnsignedInt2`* | +| 0x0f |*`cudaResViewFormatUnsignedInt4`* |*`hipResViewFormatUnsignedInt4`* | +| 0x10 |*`cudaResViewFormatSignedInt1`* |*`hipResViewFormatSignedInt1`* | +| 0x11 |*`cudaResViewFormatSignedInt2`* |*`hipResViewFormatSignedInt2`* | +| 0x12 |*`cudaResViewFormatSignedInt4`* |*`hipResViewFormatSignedInt4`* | +| 0x13 |*`cudaResViewFormatHalf1`* |*`hipResViewFormatHalf1`* | +| 0x14 |*`cudaResViewFormatHalf2`* |*`hipResViewFormatHalf2`* | +| 0x15 |*`cudaResViewFormatHalf4`* |*`hipResViewFormatHalf4`* | +| 0x16 |*`cudaResViewFormatFloat1`* |*`hipResViewFormatFloat1`* | +| 0x17 |*`cudaResViewFormatFloat2`* |*`hipResViewFormatFloat2`* | +| 0x18 |*`cudaResViewFormatFloat4`* |*`hipResViewFormatFloat4`* | +| 0x19 |*`cudaResViewFormatUnsignedBlockCompressed1`* |*`hipResViewFormatUnsignedBlockCompressed1`* | +| 0x1a |*`cudaResViewFormatUnsignedBlockCompressed2`* |*`hipResViewFormatUnsignedBlockCompressed2`* | +| 0x1b |*`cudaResViewFormatUnsignedBlockCompressed3`* |*`hipResViewFormatUnsignedBlockCompressed3`* | +| 0x1c |*`cudaResViewFormatUnsignedBlockCompressed4`* |*`hipResViewFormatUnsignedBlockCompressed4`* | +| 0x1d |*`cudaResViewFormatSignedBlockCompressed4`* |*`hipResViewFormatSignedBlockCompressed4`* | +| 0x1e |*`cudaResViewFormatUnsignedBlockCompressed5`* |*`hipResViewFormatUnsignedBlockCompressed5`* | +| 0x1f |*`cudaResViewFormatSignedBlockCompressed5`* |*`hipResViewFormatSignedBlockCompressed5`* | +| 0x20 |*`cudaResViewFormatUnsignedBlockCompressed6H`* |*`hipResViewFormatUnsignedBlockCompressed6H`* | +| 0x21 |*`cudaResViewFormatSignedBlockCompressed6H`* |*`hipResViewFormatSignedBlockCompressed6H`* | +| 0x22 |*`cudaResViewFormatUnsignedBlockCompressed7`* |*`hipResViewFormatUnsignedBlockCompressed7`* | +| enum |***`cudaSharedMemConfig`*** |***`hipSharedMemConfig`*** | +| 0 |*`cudaSharedMemBankSizeDefault`* |*`hipSharedMemBankSizeDefault`* | +| 1 |*`cudaSharedMemBankSizeFourByte`* |*`hipSharedMemBankSizeFourByte`* | +| 2 |*`cudaSharedMemBankSizeEightByte`* |*`hipSharedMemBankSizeEightByte`* | +| enum |***`cudaSharedCarveout`*** | | +| -1 |*`cudaSharedmemCarveoutDefault`* | | +| 100 |*`cudaSharedmemCarveoutMaxShared`* | | +| 0 |*`cudaSharedmemCarveoutMaxShared`* | | +| enum |***`cudaStreamCaptureStatus`*** | | +| 0 |*`cudaStreamCaptureStatusNone`* | | +| 1 |*`cudaStreamCaptureStatusActive`* | | +| 2 |*`cudaStreamCaptureStatusInvalidated`* | | +| enum |***`cudaSurfaceBoundaryMode`*** |***`hipSurfaceBoundaryMode`*** | +| 0 |*`cudaBoundaryModeZero`* |*`hipBoundaryModeZero`* | +| 1 |*`cudaBoundaryModeClamp`* |*`hipBoundaryModeClamp`* | +| 2 |*`cudaBoundaryModeTrap`* |*`hipBoundaryModeTrap`* | +| enum |***`cudaSurfaceFormatMode`*** | | +| 0 |*`cudaFormatModeForced`* | | +| 1 |*`cudaFormatModeAuto`* | | +| enum |***`cudaTextureAddressMode`*** |***`hipTextureAddressMode`*** | +| 0 |*`cudaAddressModeWrap`* |*`hipAddressModeWrap`* | +| 1 |*`cudaAddressModeClamp`* |*`hipAddressModeClamp`* | +| 2 |*`cudaAddressModeMirror`* |*`hipAddressModeMirror`* | +| 3 |*`cudaAddressModeBorder`* |*`hipAddressModeBorder`* | +| enum |***`cudaTextureAddressMode`*** |***`hipTextureAddressMode`*** | +| 0 |*`cudaAddressModeWrap`* |*`hipAddressModeWrap`* | +| 1 |*`cudaAddressModeClamp`* |*`hipAddressModeClamp`* | +| 2 |*`cudaAddressModeMirror`* |*`hipAddressModeMirror`* | +| 3 |*`cudaAddressModeBorder`* |*`hipAddressModeBorder`* | +| enum |***`cudaTextureFilterMode`*** |***`hipTextureFilterMode`*** | +| 0 |*`cudaFilterModePoint`* |*`hipFilterModePoint`* | +| 1 |*`cudaFilterModeLinear`* |*`hipFilterModeLinear`* | +| enum |***`cudaTextureReadMode`*** |***`hipTextureReadMode`*** | +| 0 |*`cudaReadModeElementType`* |*`hipReadModeElementType`* | +| 1 |*`cudaReadModeNormalizedFloat`* |*`hipReadModeNormalizedFloat`* | +| enum |***`cudaGLDeviceList`*** | | +| 1 |*`cudaGLDeviceListAll`* | | +| 2 |*`cudaGLDeviceListCurrentFrame`* | | +| 3 |*`cudaGLDeviceListNextFrame`* | | +| enum |***`cudaGLMapFlags`*** | | +| 0 |*`cudaGLMapFlagsNone`* | | +| 1 |*`cudaGLMapFlagsReadOnly`* | | +| 2 |*`cudaGLMapFlagsWriteDiscard`* | | +| enum |***`cudaD3D9DeviceList`*** | | +| 1 |*`cudaD3D9DeviceListAll`* | | +| 2 |*`cudaD3D9DeviceListCurrentFrame`* | | +| 3 |*`cudaD3D9DeviceListNextFrame`* | | +| enum |***`cudaD3D9MapFlags`*** | | +| 0 |*`cudaD3D9MapFlagsNone`* | | +| 1 |*`cudaD3D9MapFlagsReadOnly`* | | +| 2 |*`cudaD3D9MapFlagsWriteDiscard`* | | +| enum |***`cudaD3D9RegisterFlags`*** | | +| 0 |*`cudaD3D9RegisterFlagsNone`* | | +| 1 |*`cudaD3D9RegisterFlagsArray`* | | +| enum |***`cudaD3D10DeviceList`*** | | +| 1 |*`cudaD3D10DeviceListAll`* | | +| 2 |*`cudaD3D10DeviceListCurrentFrame`* | | +| 3 |*`cudaD3D10DeviceListNextFrame`* | | +| enum |***`cudaD3D10MapFlags`*** | | +| 0 |*`cudaD3D10MapFlagsNone`* | | +| 1 |*`cudaD3D10MapFlagsReadOnly`* | | +| 2 |*`cudaD3D10MapFlagsWriteDiscard`* | | +| enum |***`cudaD3D10RegisterFlags`*** | | +| 0 |*`cudaD3D10RegisterFlagsNone`* | | +| 1 |*`cudaD3D10RegisterFlagsArray`* | | +| enum |***`cudaD3D11DeviceList`*** | | +| 1 |*`cudaD3D11DeviceListAll`* | | +| 2 |*`cudaD3D11DeviceListCurrentFrame`* | | +| 3 |*`cudaD3D11DeviceListNextFrame`* | | +| struct |`cudaArray` |`hipArray` | +| typedef |`cudaArray_t` |`hipArray_t` | +| typedef |`cudaArray_const_t` |`hipArray_const_t` | +| typedef |`cudaEvent_t` |`hipEvent_t` | +| struct |`CUevent_st` |`ihipEvent_t` | +| typedef |`cudaGraphicsResource_t` | | +| struct |`cudaMipmappedArray` |`hipMipmappedArray` | +| typedef |`cudaMipmappedArray_t` |`hipMipmappedArray_t` | +| typedef |`cudaMipmappedArray_const_t` |`hipMipmappedArray_const_t` | +| enum |***`cudaOutputMode`*** | | +| typedef |***`cudaOutputMode_t`*** | | +| 0x00 |*`cudaKeyValuePair`* | | +| 0x01 |*`cudaCSV`* | | +| typedef |`cudaStream_t` |`hipStream_t` | +| struct |`CUstream_st` |`ihipStream_t` | +| typedef |`cudaStreamCallback_t` |`hipStreamCallback_t` | +| typedef |`cudaSurfaceObject_t` |`hipSurfaceObject_t` | +| typedef |`cudaTextureObject_t` |`hipTextureObject_t` | +| typedef |`CUuuid_stcudaUUID_t` | | +| define |`CUDA_EGL_MAX_PLANES` | | +| define |`CUDA_IPC_HANDLE_SIZE` | | +| define |`cudaArrayColorAttachment` | | +| define |`cudaArrayCubemap` |`hipArrayCubemap` | +| define |`cudaArrayDefault` |`hipArrayDefault` | +| define |`cudaArrayLayered` |`hipArrayLayered` | +| define |`cudaArraySurfaceLoadStore` |`hipArraySurfaceLoadStore` | +| define |`cudaArrayTextureGather` |`hipArrayTextureGather` | +| define |`cudaCooperativeLaunchMultiDeviceNoPreSync` | | +| define |`cudaCooperativeLaunchMultiDeviceNoPostSync` | | +| define |`cudaCpuDeviceId` | | +| define |`cudaInvalidDeviceId` | | +| define |`cudaDeviceBlockingSync` |`hipDeviceScheduleBlockingSync` | +| define |`cudaDeviceLmemResizeToMax` |`hipDeviceLmemResizeToMax` | 0x16 | +| define |`cudaDeviceMapHost` |`hipDeviceMapHost` | +| define |`cudaDeviceMask` | | +| define |`cudaDevicePropDontCare` | | +| define |`cudaDeviceScheduleAuto` |`hipDeviceScheduleAuto` | +| define |`cudaDeviceScheduleBlockingSync` |`hipDeviceScheduleBlockingSync` | +| define |`cudaDeviceScheduleMask` |`hipDeviceScheduleMask` | +| define |`cudaDeviceScheduleSpin` |`hipDeviceScheduleSpin` | +| define |`cudaDeviceScheduleYield` |`hipDeviceScheduleYield` | +| define |`cudaEventDefault` |`hipEventDefault` | +| define |`cudaEventBlockingSync` |`hipEventBlockingSync` | +| define |`cudaEventDisableTiming` |`hipEventDisableTiming` | +| define |`cudaEventInterprocess` |`hipEventInterprocess` | +| define |`cudaHostAllocDefault` |`hipHostMallocDefault` | +| define |`cudaHostAllocMapped` |`hipHostMallocMapped` | +| define |`cudaHostAllocPortable` |`hipHostMallocPortable` | +| define |`cudaHostAllocWriteCombined` |`hipHostMallocWriteCombined` | +| define |`cudaHostRegisterDefault` |`hipHostRegisterDefault` | +| define |`cudaHostRegisterIoMemory` |`hipHostRegisterIoMemory` | +| define |`cudaHostRegisterMapped` |`hipHostRegisterMapped` | +| define |`cudaHostRegisterPortable` |`hipHostRegisterPortable` | +| define |`cudaIpcMemLazyEnablePeerAccess` |`hipIpcMemLazyEnablePeerAccess` | 0 | +| define |`cudaMemAttachGlobal` | | +| define |`cudaMemAttachHost` | | +| define |`cudaMemAttachSingle` | | +| define |`cudaOccupancyDefault` | | +| define |`cudaOccupancyDisableCachingOverride` | | +| define |`cudaPeerAccessDefault` | | +| define |`cudaStreamDefault` |`hipStreamDefault` | +| define |`cudaStreamNonBlocking` |`hipStreamNonBlocking` | +| define |`cudaStreamLegacy` | | +| define |`cudaStreamPerThread` | | +| define |`cudaTextureType1D` |`hipTextureType1D` | +| define |`cudaTextureType2D` |`hipTextureType2D` | +| define |`cudaTextureType3D` |`hipTextureType3D` | +| define |`cudaTextureTypeCubemap` |`hipTextureTypeCubemap` | +| define |`cudaTextureType1DLayered` |`hipTextureType1DLayered` | +| define |`cudaTextureType2DLayered` |`hipTextureType2DLayered` | +| define |`cudaTextureTypeCubemapLayered` |`hipTextureTypeCubemapLayered` | +| enum |***`cudaDataType_t`*** |***`hipblasDatatype_t`*** | +| enum |***`cudaDataType`*** |***`hipblasDatatype_t`*** | +| 2 |*`CUDA_R_16F`* |*`HIPBLAS_R_16F`* | 150 | +| 6 |*`CUDA_C_16F`* |*`HIPBLAS_C_16F`* | 153 | +| 0 |*`CUDA_R_32F`* |*`HIPBLAS_R_32F`* | 151 | +| 4 |*`CUDA_C_32F`* |*`HIPBLAS_C_32F`* | 154 | +| 1 |*`CUDA_R_64F`* |*`HIPBLAS_R_64F`* | 152 | +| 5 |*`CUDA_C_64F`* |*`HIPBLAS_C_64F`* | 155 | +| 3 |*`CUDA_R_8I`* | | +| 7 |*`CUDA_C_8I`* | | +| 8 |*`CUDA_R_8U`* | | +| 9 |*`CUDA_C_8U`* | | +| 10 |*`CUDA_R_32I`* | | +| 11 |*`CUDA_C_32I`* | | +| 12 |*`CUDA_R_32U`* | | +| 13 |*`CUDA_C_32U`* | | +| struct |`cudaExternalMemoryBufferDesc` | | +| struct |`cudaExternalMemoryHandleDesc` | | +| struct |`cudaExternalMemoryMipmappedArrayDesc` | | +| struct |`cudaExternalSemaphoreHandleDesc` | | +| struct |`cudaExternalSemaphoreSignalParams` | | +| struct |`cudaExternalSemaphoreWaitParams` | | +| struct |`cudaHostNodeParams` | | +| struct |`cudaLaunchParams` | | +| struct |`cudaMemsetParams` | | +| struct |`CUeglStreamConnection_st` | | +| typedef |`cudaEglStreamConnection` | | +| define |`cudaExternalMemoryDedicated` | | +| typedef |`cudaExternalMemory_t` | | +| struct |`CUexternalMemory_st` | | +| typedef |`cudaExternalSemaphore_t` | | +| struct |`CUexternalSemaphore_st` | | +| typedef |`cudaGraph_t` | | +| struct |`CUgraph_st` | | +| typedef |`cudaGraphNode_t` | | +| struct |`CUgraphNode_st` | | +| typedef |`cudaGraphExec_t` | | +| struct |`CUgraphExec_st` | | +| typedef |`cudaGraphicsResource_t` | | +| struct |`cudaGraphicsResource` | | +| typedef |`cudaHostFn_t` | | diff --git a/hipamd/docs/markdown/hip-math-api.md b/hipamd/docs/markdown/hip-math-api.md index 37efafbbbf..9b8a3f2f11 100644 --- a/hipamd/docs/markdown/hip-math-api.md +++ b/hipamd/docs/markdown/hip-math-api.md @@ -1433,7 +1433,7 @@ __device__ float __expf(float x); __device__ static float __fadd_rd(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fadd_rn @@ -1441,7 +1441,7 @@ __device__ static float __fadd_rd(float x, float y); __device__ static float __fadd_rn(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fadd_ru @@ -1449,7 +1449,7 @@ __device__ static float __fadd_rn(float x, float y); __device__ static float __fadd_ru(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fadd_rz @@ -1457,7 +1457,7 @@ __device__ static float __fadd_ru(float x, float y); __device__ static float __fadd_rz(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fdiv_rd @@ -1465,7 +1465,7 @@ __device__ static float __fadd_rz(float x, float y); __device__ static float __fdiv_rd(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fdiv_rn @@ -1473,7 +1473,7 @@ __device__ static float __fdiv_rd(float x, float y); __device__ static float __fdiv_rn(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fdiv_ru @@ -1481,7 +1481,7 @@ __device__ static float __fdiv_rn(float x, float y); __device__ static float __fdiv_ru(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fdiv_rz @@ -1489,7 +1489,7 @@ __device__ static float __fdiv_ru(float x, float y); __device__ static float __fdiv_rz(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fdividef @@ -1505,7 +1505,7 @@ __device__ static float __fdividef(float x, float y); __device__ float __fmaf_rd(float x, float y, float z); ``` -**Description:** Supported +**Description:** Unsupported ### __fmaf_rn @@ -1513,7 +1513,7 @@ __device__ float __fmaf_rd(float x, float y, float z); __device__ float __fmaf_rn(float x, float y, float z); ``` -**Description:** Supported +**Description:** Unsupported ### __fmaf_ru @@ -1521,7 +1521,7 @@ __device__ float __fmaf_rn(float x, float y, float z); __device__ float __fmaf_ru(float x, float y, float z); ``` -**Description:** Supported +**Description:** Unsupported ### __fmaf_rz @@ -1529,7 +1529,7 @@ __device__ float __fmaf_ru(float x, float y, float z); __device__ float __fmaf_rz(float x, float y, float z); ``` -**Description:** Supported +**Description:** Unsupported ### __fmul_rd @@ -1537,7 +1537,7 @@ __device__ float __fmaf_rz(float x, float y, float z); __device__ static float __fmul_rd(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fmul_rn @@ -1545,7 +1545,7 @@ __device__ static float __fmul_rd(float x, float y); __device__ static float __fmul_rn(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fmul_ru @@ -1553,7 +1553,7 @@ __device__ static float __fmul_rn(float x, float y); __device__ static float __fmul_ru(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fmul_rz @@ -1561,7 +1561,7 @@ __device__ static float __fmul_ru(float x, float y); __device__ static float __fmul_rz(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __frcp_rd @@ -1569,7 +1569,7 @@ __device__ static float __fmul_rz(float x, float y); __device__ float __frcp_rd(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __frcp_rn @@ -1577,7 +1577,7 @@ __device__ float __frcp_rd(float x); __device__ float __frcp_rn(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __frcp_ru @@ -1585,7 +1585,7 @@ __device__ float __frcp_rn(float x); __device__ float __frcp_ru(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __frcp_rz @@ -1593,7 +1593,7 @@ __device__ float __frcp_ru(float x); __device__ float __frcp_rz(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __frsqrt_rn @@ -1601,7 +1601,7 @@ __device__ float __frcp_rz(float x); __device__ float __frsqrt_rn(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __fsqrt_rd @@ -1609,7 +1609,7 @@ __device__ float __frsqrt_rn(float x); __device__ float __fsqrt_rd(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __fsqrt_rn @@ -1617,7 +1617,7 @@ __device__ float __fsqrt_rd(float x); __device__ float __fsqrt_rn(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __fsqrt_ru @@ -1625,7 +1625,7 @@ __device__ float __fsqrt_rn(float x); __device__ float __fsqrt_ru(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __fsqrt_rz @@ -1633,7 +1633,7 @@ __device__ float __fsqrt_ru(float x); __device__ float __fsqrt_rz(float x); ``` -**Description:** Supported +**Description:** Unsupported ### __fsub_rd @@ -1641,7 +1641,7 @@ __device__ float __fsqrt_rz(float x); __device__ static float __fsub_rd(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fsub_rn @@ -1649,7 +1649,7 @@ __device__ static float __fsub_rd(float x, float y); __device__ static float __fsub_rn(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported ### __fsub_ru @@ -1657,7 +1657,15 @@ __device__ static float __fsub_rn(float x, float y); __device__ static float __fsub_ru(float x, float y); ``` -**Description:** Supported +**Description:** Unsupported + + +### __fsub_rz +```cpp +__device__ static float __fsub_rz(float x, float y); + +``` +**Description:** Unsupported ### __log10f @@ -1729,7 +1737,7 @@ __device__ float __tanf(float x); __device__ static double __dadd_rd(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dadd_rn @@ -1737,7 +1745,7 @@ __device__ static double __dadd_rd(double x, double y); __device__ static double __dadd_rn(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dadd_ru @@ -1745,7 +1753,7 @@ __device__ static double __dadd_rn(double x, double y); __device__ static double __dadd_ru(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dadd_rz @@ -1753,7 +1761,7 @@ __device__ static double __dadd_ru(double x, double y); __device__ static double __dadd_rz(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __ddiv_rd @@ -1761,7 +1769,7 @@ __device__ static double __dadd_rz(double x, double y); __device__ static double __ddiv_rd(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __ddiv_rn @@ -1769,7 +1777,7 @@ __device__ static double __ddiv_rd(double x, double y); __device__ static double __ddiv_rn(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __ddiv_ru @@ -1777,7 +1785,7 @@ __device__ static double __ddiv_rn(double x, double y); __device__ static double __ddiv_ru(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __ddiv_rz @@ -1785,7 +1793,7 @@ __device__ static double __ddiv_ru(double x, double y); __device__ static double __ddiv_rz(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dmul_rd @@ -1793,7 +1801,7 @@ __device__ static double __ddiv_rz(double x, double y); __device__ static double __dmul_rd(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dmul_rn @@ -1801,7 +1809,7 @@ __device__ static double __dmul_rd(double x, double y); __device__ static double __dmul_rn(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dmul_ru @@ -1809,7 +1817,7 @@ __device__ static double __dmul_rn(double x, double y); __device__ static double __dmul_ru(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dmul_rz @@ -1817,7 +1825,7 @@ __device__ static double __dmul_ru(double x, double y); __device__ static double __dmul_rz(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __drcp_rd @@ -1825,7 +1833,7 @@ __device__ static double __dmul_rz(double x, double y); __device__ double __drcp_rd(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __drcp_rn @@ -1833,7 +1841,7 @@ __device__ double __drcp_rd(double x); __device__ double __drcp_rn(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __drcp_ru @@ -1841,7 +1849,7 @@ __device__ double __drcp_rn(double x); __device__ double __drcp_ru(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __drcp_rz @@ -1849,7 +1857,7 @@ __device__ double __drcp_ru(double x); __device__ double __drcp_rz(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __dsqrt_rd @@ -1857,7 +1865,7 @@ __device__ double __drcp_rz(double x); __device__ double __dsqrt_rd(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __dsqrt_rn @@ -1865,7 +1873,7 @@ __device__ double __dsqrt_rd(double x); __device__ double __dsqrt_rn(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __dsqrt_ru @@ -1873,7 +1881,7 @@ __device__ double __dsqrt_rn(double x); __device__ double __dsqrt_ru(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __dsqrt_rz @@ -1881,7 +1889,7 @@ __device__ double __dsqrt_ru(double x); __device__ double __dsqrt_rz(double x); ``` -**Description:** Supported +**Description:** Unsupported ### __dsub_rd @@ -1889,7 +1897,7 @@ __device__ double __dsqrt_rz(double x); __device__ static double __dsub_rd(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dsub_rn @@ -1897,7 +1905,7 @@ __device__ static double __dsub_rd(double x, double y); __device__ static double __dsub_rn(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dsub_ru @@ -1905,7 +1913,7 @@ __device__ static double __dsub_rn(double x, double y); __device__ static double __dsub_ru(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __dsub_rz @@ -1913,7 +1921,7 @@ __device__ static double __dsub_ru(double x, double y); __device__ static double __dsub_rz(double x, double y); ``` -**Description:** Supported +**Description:** Unsupported ### __fma_rd @@ -1921,7 +1929,7 @@ __device__ static double __dsub_rz(double x, double y); __device__ double __fma_rd(double x, double y, double z); ``` -**Description:** Supported +**Description:** Unsupported ### __fma_rn @@ -1929,7 +1937,7 @@ __device__ double __fma_rd(double x, double y, double z); __device__ double __fma_rn(double x, double y, double z); ``` -**Description:** Supported +**Description:** Unsupported ### __fma_ru @@ -1937,7 +1945,7 @@ __device__ double __fma_rn(double x, double y, double z); __device__ double __fma_ru(double x, double y, double z); ``` -**Description:** Supported +**Description:** Unsupported ### __fma_rz @@ -1945,7 +1953,7 @@ __device__ double __fma_ru(double x, double y, double z); __device__ double __fma_rz(double x, double y, double z); ``` -**Description:** Supported +**Description:** Unsupported ### __brev diff --git a/hipamd/hipify-clang/README.md b/hipamd/hipify-clang/README.md index ec46c7cb2f..431c0a844a 100644 --- a/hipamd/hipify-clang/README.md +++ b/hipamd/hipify-clang/README.md @@ -11,6 +11,7 @@ - [Build and install](#build-and-install) * [Building](#building) * [Testing](#testing) + * [Linux](#linux) * [Windows](#windows) - [Running and using hipify-clang](#running-and-using-hipify-clang) - [Disclaimer](#disclaimer) @@ -80,7 +81,7 @@ Debug build type `-DCMAKE_BUILD_TYPE=Debug` is also supported and tested; `LLVM+ The binary can then be found at `./dist/bin/hipify-clang`. -### Test +### Testing `hipify-clang` has unit tests using LLVM [`lit`](https://llvm.org/docs/CommandGuide/lit.html)/[`FileCheck`](https://llvm.org/docs/CommandGuide/FileCheck.html). @@ -88,61 +89,183 @@ The binary can then be found at `./dist/bin/hipify-clang`. To run it: 1. Download [`LLVM`](http://releases.llvm.org/6.0.1/llvm-6.0.1.src.tar.xz)+[`CLANG`](http://releases.llvm.org/6.0.1/cfe-6.0.1.src.tar.xz) sources. -2. Build [`LLVM+CLANG`](http://llvm.org/docs/CMake.html). - For instance: - ```shell +2. Build [`LLVM+CLANG`](http://llvm.org/docs/CMake.html): + ```shell cd llvm mkdir build dist cd build + ``` + - **Linux**: - cmake \ - -DCMAKE_INSTALL_PREFIX=../dist \ - -DLLVM_SOURCE_DIR=../llvm \ - -DCMAKE_BUILD_TYPE=Release \ - -Thost=x64 \ - ../llvm + ```shell + cmake \ + -DCMAKE_INSTALL_PREFIX=../dist \ + -DLLVM_SOURCE_DIR=../llvm \ + -DCMAKE_BUILD_TYPE=Release \ + ../llvm + make -j install + ``` + - **Windows**: + +```shell + cmake \ + -G "Visual Studio 15 2017 Win64" \ + -DCMAKE_INSTALL_PREFIX=../dist \ + -DLLVM_SOURCE_DIR=../llvm \ + -DCMAKE_BUILD_TYPE=Release \ + -Thost=x64 \ + ../llvm +``` + +                Run `Visual Studio 15 2017`, open the generated `LLVM.sln`, build all, build project `INSTALL`. - make -j install - ``` - On Windows the following option should be specified for `cmake` at first place: `-G "Visual Studio 15 2017 Win64"`; the generated `LLVM.sln` should be built by `Visual Studio 15 2017` instead of `make`. 3. Ensure [`CUDA`](https://developer.nvidia.com/cuda-toolkit-archive) of minimum version 7.5 is installed. - * Having multiple CUDA installations, in order to choose a particular version the `DCUDA_TOOLKIT_ROOT_DIR` option should be specified: + * Having multiple CUDA installations to choose a particular version the `DCUDA_TOOLKIT_ROOT_DIR` option should be specified: - `-DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0"` + - Linux: `-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0` - * On Windows `CUDA_SDK_ROOT_DIR` option should be specified as well: + - Windows: `-DCUDA_TOOLKIT_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0"` - `-DCUDA_SDK_ROOT_DIR="c:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.0"` + `-DCUDA_SDK_ROOT_DIR="c:/ProgramData/NVIDIA Corporation/CUDA Samples/v9.0"` 4. Ensure [`cuDNN`](https://developer.nvidia.com/rdp/cudnn-archive) of version corresponding to CUDA's version is installed. * Path to cuDNN should be specified by the `CUDA_DNN_ROOT_DIR` option: - `-DCUDA_DNN_ROOT_DIR=f:/CUDNN/cudnn-9.0-windows10-x64-v7.1` + - Linux: `-DCUDA_DNN_ROOT_DIR=/srv/CUDNN/cudnn-8.0-v7.1` + + - Windows: `-DCUDA_DNN_ROOT_DIR=f:/CUDNN/cudnn-9.0-windows10-x64-v7.1` 5. Ensure [`python`](https://www.python.org/downloads) of minimum required version 2.7 is installed. 6. Ensure `lit` and `FileCheck` are installed - these are distributed with LLVM. - * installing `lit` into `python` might be required: + * Install `lit` into `python`: - `python f:/LLVM/6.0.1/llvm/utils/lit/setup.py install`, + - Linux: `python /srv/git/LLVM/6.0.1/llvm/utils/lit/setup.py install` - where `f:/LLVM/6.0.1/llvm` is LLVM sources root directory. + - Windows: `python f:/LLVM/6.0.1/llvm/utils/lit/setup.py install` - * Starting with LLVM 6.0.1 path to llvm-lit.py script should be specified by the `LLVM_EXTERNAL_LIT` option: + * Starting with LLVM 6.0.1 path to `llvm-lit` python script should be specified by the `LLVM_EXTERNAL_LIT` option: - `-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.1/build/Release/bin/llvm-lit.py`, + - Linux: `-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/6.0.1/build/bin/llvm-lit` - where `f:/LLVM/6.0.1/build/Release` is LLVM build directory. + - Windows: `-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.1/build/Release/bin/llvm-lit.py` -7. Build with the `HIPIFY_CLANG_TESTS` option turned on: -DHIPIFY_CLANG_TESTS=1. +7. Set `HIPIFY_CLANG_TESTS` option turned on: `-DHIPIFY_CLANG_TESTS=1`. -8. `make test-hipify` +8. Run `cmake`: + * [Linux](#linux) + * [Windows](#windows) - On Windows after `cmake` the project `test-hipify` in the generated `hipify-clang.sln` should be built by `Visual Studio 15 2017` instead of `make test-hipify`. +9. Run tests: + + - Linux: `make test-hipify`. + + - Windows: run `Visual Studio 15 2017`, open the generated `hipify-clang.sln`, build project `test-hipify`. + +### Linux + +On Linux (Ubuntu 14-18) the following configurations are tested: + +LLVM 5.0.0 - 6.0.1, CUDA 8.0, cudnn-8.0 + +Build system for the above configurations: + +Python 2.7 (min), cmake 3.5.2 (min), GNU C/C++ 5.4.0 (min). + +Here is an example of building `hipify-clang` with testing support on `Ubuntu 16.04`: + +```shell +cmake + -DHIPIFY_CLANG_TESTS=1 \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=../dist \ + -DCMAKE_PREFIX_PATH=/srv/git/LLVM/6.0.1/dist \ + -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 \ + -DCUDA_DNN_ROOT_DIR=/srv/CUDNN/cudnn-8.0-v7.1 \ + -DLLVM_EXTERNAL_LIT=/srv/git/LLVM/6.0.1/build/bin/llvm-lit \ + .. +``` +*A corresponding successful output:* +```shell +-- The C compiler identification is GNU 5.4.0 +-- The CXX compiler identification is GNU 5.4.0 +-- Check for working C compiler: /usr/bin/cc +-- Check for working C compiler: /usr/bin/cc -- works +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Detecting C compile features +-- Detecting C compile features - done +-- Check for working CXX compiler: /usr/bin/c++ +-- Check for working CXX compiler: /usr/bin/c++ -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Found LLVM 6.0.1: +-- - CMake module path: /srv/git/LLVM/6.0.1/dist/lib/cmake/llvm +-- - Include path : /srv/git/LLVM/6.0.1/dist/include +-- - Binary path : /srv/git/LLVM/6.0.1/dist/bin +-- Linker detection: GNU ld +-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.12", minimum required is "2.7") +-- Found lit: /usr/local/bin/lit +-- Found FileCheck: /srv/git/LLVM/6.0.1/dist/bin/FileCheck +-- Looking for pthread.h +-- Looking for pthread.h - found +-- Looking for pthread_create +-- Looking for pthread_create - not found +-- Looking for pthread_create in pthreads +-- Looking for pthread_create in pthreads - not found +-- Looking for pthread_create in pthread +-- Looking for pthread_create in pthread - found +-- Found Threads: TRUE +-- Found CUDA: /usr/local/cuda-8.0 (found version "8.0") +-- Configuring done +-- Generating done +-- Build files have been written to: /srv/git/HIP/hipify-clang/build +``` +```shell +make test-hipify +``` +*A corresponding successful output:* +```shell +[100%] Running HIPify regression tests +-- Testing: 28 tests, 12 threads -- +PASS: hipify :: allocators.cu (1 of 28) +PASS: hipify :: coalescing.cu (2 of 28) +PASS: hipify :: cuDNN/cudnn_softmax.cu (3 of 28) +PASS: hipify :: cuFFT/simple_cufft.cu (4 of 28) +PASS: hipify :: cuComplex/cuComplex_Julia.cu (5 of 28) +PASS: hipify :: cuBLAS/cublas_sgemm_matrix_multiplication.cu (6 of 28) +PASS: hipify :: cuBLAS/cublas_1_based_indexing.cu (7 of 28) +PASS: hipify :: cuBLAS/cublas_0_based_indexing.cu (8 of 28) +PASS: hipify :: axpy.cu (9 of 28) +PASS: hipify :: dynamic_shared_memory.cu (10 of 28) +PASS: hipify :: headers_test_01.cu (11 of 28) +PASS: hipify :: headers_test_02.cu (12 of 28) +PASS: hipify :: headers_test_03.cu (13 of 28) +PASS: hipify :: headers_test_05.cu (14 of 28) +PASS: hipify :: cuDNN/cudnn_convolution_forward.cu (15 of 28) +PASS: hipify :: cuRAND/poisson_api_example.cu (16 of 28) +PASS: hipify :: cudaRegister.cu (17 of 28) +PASS: hipify :: headers_test_06.cu (18 of 28) +PASS: hipify :: headers_test_04.cu (19 of 28) +PASS: hipify :: intro.cu (20 of 28) +PASS: hipify :: headers_test_07.cu (21 of 28) +PASS: hipify :: square.cu (22 of 28) +PASS: hipify :: static_shared_memory.cu (23 of 28) +PASS: hipify :: vec_add.cu (24 of 28) +PASS: hipify :: headers_test_08.cu (25 of 28) +PASS: hipify :: cuRAND/benchmark_curand_generate.cpp (26 of 28) +PASS: hipify :: cuRAND/benchmark_curand_kernel.cpp (27 of 28) +PASS: hipify :: headers_test_09.cu (28 of 28) +Testing Time: 1.71s + Expected Passes : 28 +[100%] Built target test-hipify +``` ### Windows @@ -172,7 +295,7 @@ cmake -Thost=x64 .. ``` -A corresponding successful output: +*A corresponding successful output:* ```shell -- Found LLVM 6.0.1: -- - CMake module path: F:/LLVM/6.0.1/dist/lib/cmake/llvm @@ -194,12 +317,13 @@ To process a file, `hipify-clang` needs access to the same headers that would be For example: ```shell -hipify-clang square.cu -- \ +./hipify-clang \ + square.cu \ + -- \ -x cuda \ - --cuda-path=/opt/cuda \ - --cuda-gpu-arch=sm_30 \ - -isystem /opt/cuda/samples/common/inc - -I /opt/cuda/cuDNN + --cuda-path=/usr/local/cuda-8.0 \ + --cuda-gpu-arch=sm_50 \ + -isystem /usr/local/cuda-8.0/samples/common/inc ``` `hipify-clang` arguments are given first, followed by a separator, and then the arguments you'd pass to `clang` if you diff --git a/hipamd/hipify-clang/src/CUDA2HIP.cpp b/hipamd/hipify-clang/src/CUDA2HIP.cpp index 02f3ae0f12..c0879c1f98 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP.cpp @@ -51,6 +51,8 @@ const std::map& CUDA_RENAMES_MAP() { ret.insert(CUDA_DRIVER_FUNCTION_MAP.begin(), CUDA_DRIVER_FUNCTION_MAP.end()); ret.insert(CUDA_RUNTIME_TYPE_NAME_MAP.begin(), CUDA_RUNTIME_TYPE_NAME_MAP.end()); ret.insert(CUDA_RUNTIME_FUNCTION_MAP.begin(), CUDA_RUNTIME_FUNCTION_MAP.end()); + ret.insert(CUDA_COMPLEX_TYPE_NAME_MAP.begin(), CUDA_COMPLEX_TYPE_NAME_MAP.end()); + ret.insert(CUDA_COMPLEX_FUNCTION_MAP.begin(), CUDA_COMPLEX_FUNCTION_MAP.end()); ret.insert(CUDA_BLAS_TYPE_NAME_MAP.begin(), CUDA_BLAS_TYPE_NAME_MAP.end()); ret.insert(CUDA_BLAS_FUNCTION_MAP.begin(), CUDA_BLAS_FUNCTION_MAP.end()); ret.insert(CUDA_RAND_TYPE_NAME_MAP.begin(), CUDA_RAND_TYPE_NAME_MAP.end()); diff --git a/hipamd/hipify-clang/src/CUDA2HIP.h b/hipamd/hipify-clang/src/CUDA2HIP.h index 9593c216a4..5c3a6fa246 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP.h +++ b/hipamd/hipify-clang/src/CUDA2HIP.h @@ -15,6 +15,10 @@ extern const std::map CUDA_DRIVER_TYPE_NAME_MAP; extern const std::map CUDA_DRIVER_FUNCTION_MAP; // Maps the names of CUDA RUNTIME API types to the corresponding HIP types extern const std::map CUDA_RUNTIME_TYPE_NAME_MAP; +// Maps the names of CUDA Complex API types to the corresponding HIP types +extern const std::map CUDA_COMPLEX_TYPE_NAME_MAP; +// Maps the names of CUDA Complex API functions to the corresponding HIP functions +extern const std::map CUDA_COMPLEX_FUNCTION_MAP; // Maps the names of CUDA RUNTIME API functions to the corresponding HIP functions extern const std::map CUDA_RUNTIME_FUNCTION_MAP; // Maps the names of CUDA BLAS API types to the corresponding HIP types diff --git a/hipamd/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp index 92f7cf767d..da059da8e5 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp @@ -4,659 +4,659 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ // Blas management functions - {"cublasInit", {"hipblasInit", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasShutdown", {"hipblasShutdown", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetVersion", {"hipblasGetVersion", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetError", {"hipblasGetError", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasAlloc", {"hipblasAlloc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasFree", {"hipblasFree", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetKernelStream", {"hipblasSetKernelStream", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetAtomicsMode", {"hipblasGetAtomicsMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetAtomicsMode", {"hipblasSetAtomicsMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetMathMode", {"hipblasGetMathMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetMathMode", {"hipblasSetMathMode", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasInit", {"hipblasInit", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasShutdown", {"hipblasShutdown", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetVersion", {"hipblasGetVersion", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetError", {"hipblasGetError", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasAlloc", {"hipblasAlloc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasFree", {"hipblasFree", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetKernelStream", {"hipblasSetKernelStream", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetAtomicsMode", {"hipblasGetAtomicsMode", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetAtomicsMode", {"hipblasSetAtomicsMode", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetMathMode", {"hipblasGetMathMode", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetMathMode", {"hipblasSetMathMode", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas logging - {"cublasLogCallback", {"hipblasLogCallback", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasLoggerConfigure", {"hipblasLoggerConfigure", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetLoggerCallback", {"hipblasSetLoggerCallback", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetLoggerCallback", {"hipblasGetLoggerCallback", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasLogCallback", {"hipblasLogCallback", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasLoggerConfigure", {"hipblasLoggerConfigure", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetLoggerCallback", {"hipblasSetLoggerCallback", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetLoggerCallback", {"hipblasGetLoggerCallback", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas1 (v1) Routines - {"cublasCreate", {"hipblasCreate", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDestroy", {"hipblasDestroy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetStream", {"hipblasSetStream", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetStream", {"hipblasGetStream", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetPointerMode", {"hipblasGetPointerMode", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetPointerMode", {"hipblasSetPointerMode", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetVector", {"hipblasSetVector", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetVector", {"hipblasGetVector", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetVectorAsync", {"hipblasSetVectorAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetVectorAsync", {"hipblasGetVectorAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetMatrix", {"hipblasSetMatrix", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetMatrix", {"hipblasGetMatrix", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetMatrixAsync", {"hipblasGetMatrixAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetMatrixAsync", {"hipblasSetMatrixAsync", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasXerbla", {"hipblasXerbla", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCreate", {"hipblasCreate", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDestroy", {"hipblasDestroy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasSetStream", {"hipblasSetStream", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetStream", {"hipblasGetStream", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetPointerMode", {"hipblasGetPointerMode", CONV_LIB_FUNC, API_BLAS}}, + {"cublasSetPointerMode", {"hipblasSetPointerMode", CONV_LIB_FUNC, API_BLAS}}, + {"cublasSetVector", {"hipblasSetVector", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetVector", {"hipblasGetVector", CONV_LIB_FUNC, API_BLAS}}, + {"cublasSetVectorAsync", {"hipblasSetVectorAsync", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetVectorAsync", {"hipblasGetVectorAsync", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetMatrix", {"hipblasSetMatrix", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetMatrix", {"hipblasGetMatrix", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetMatrixAsync", {"hipblasGetMatrixAsync", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetMatrixAsync", {"hipblasSetMatrixAsync", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasXerbla", {"hipblasXerbla", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // NRM2 - {"cublasSnrm2", {"hipblasSnrm2", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDnrm2", {"hipblasDnrm2", CONV_MATH_FUNC, API_BLAS}}, - {"cublasScnrm2", {"hipblasScnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDznrm2", {"hipblasDznrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasNrm2Ex", {"hipblasNrm2Ex", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSnrm2", {"hipblasSnrm2", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDnrm2", {"hipblasDnrm2", CONV_LIB_FUNC, API_BLAS}}, + {"cublasScnrm2", {"hipblasScnrm2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDznrm2", {"hipblasDznrm2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasNrm2Ex", {"hipblasNrm2Ex", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // DOT - {"cublasSdot", {"hipblasSdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSdot", {"hipblasSdot", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSdotBatched", {"hipblasSdotBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDdot", {"hipblasDdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSdotBatched", {"hipblasSdotBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDdot", {"hipblasDdot", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDdotBatched", {"hipblasDdotBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCdotu", {"hipblasCdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCdotc", {"hipblasCdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotu", {"hipblasZdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotc", {"hipblasZdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDdotBatched", {"hipblasDdotBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCdotu", {"hipblasCdotu", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdotc", {"hipblasCdotc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotu", {"hipblasZdotu", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotc", {"hipblasZdotc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SCAL - {"cublasSscal", {"hipblasSscal", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSscal", {"hipblasSscal", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSscalBatched", {"hipblasSscalBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDscal", {"hipblasDscal", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSscalBatched", {"hipblasSscalBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDscal", {"hipblasDscal", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDscalBatched", {"hipblasDscalBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCscal", {"hipblasCscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsscal", {"hipblasCsscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZscal", {"hipblasZscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdscal", {"hipblasZdscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDscalBatched", {"hipblasDscalBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCscal", {"hipblasCscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsscal", {"hipblasCsscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZscal", {"hipblasZscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdscal", {"hipblasZdscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AXPY - {"cublasSaxpy", {"hipblasSaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSaxpyBatched", {"hipblasSaxpyBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDaxpy", {"hipblasDaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCaxpy", {"hipblasCaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZaxpy", {"hipblasZaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSaxpy", {"hipblasSaxpy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasSaxpyBatched", {"hipblasSaxpyBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDaxpy", {"hipblasDaxpy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCaxpy", {"hipblasCaxpy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZaxpy", {"hipblasZaxpy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // COPY - {"cublasScopy", {"hipblasScopy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScopy", {"hipblasScopy", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasScopyBatched", {"hipblasScopyBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDcopy", {"hipblasDcopy", CONV_MATH_FUNC, API_BLAS}}, + {"cublasScopyBatched", {"hipblasScopyBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDcopy", {"hipblasDcopy", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDcopyBatched", {"hipblasDcopyBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCcopy", {"hipblasCcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZcopy", {"hipblasZcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDcopyBatched", {"hipblasDcopyBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCcopy", {"hipblasCcopy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZcopy", {"hipblasZcopy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SWAP - {"cublasSswap", {"hipblasSswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDswap", {"hipblasDswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCswap", {"hipblasCswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZswap", {"hipblasZswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSswap", {"hipblasSswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDswap", {"hipblasDswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCswap", {"hipblasCswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZswap", {"hipblasZswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMAX - {"cublasIsamax", {"hipblasIsamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIdamax", {"hipblasIdamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIcamax", {"hipblasIcamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamax", {"hipblasIzamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamax", {"hipblasIsamax", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIdamax", {"hipblasIdamax", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIcamax", {"hipblasIcamax", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamax", {"hipblasIzamax", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMIN - {"cublasIsamin", {"hipblasIsamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIdamin", {"hipblasIdamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIcamin", {"hipblasIcamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamin", {"hipblasIzamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamin", {"hipblasIsamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIdamin", {"hipblasIdamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIcamin", {"hipblasIcamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamin", {"hipblasIzamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ASUM - {"cublasSasum", {"hipblasSasum", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSasum", {"hipblasSasum", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSasumBatched", {"hipblasSasumBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDasum", {"hipblasDasum", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSasumBatched", {"hipblasSasumBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDasum", {"hipblasDasum", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasDasumBatched", {"hipblasDasumBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasScasum", {"hipblasScasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDzasum", {"hipblasDzasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDasumBatched", {"hipblasDasumBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasScasum", {"hipblasScasum", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDzasum", {"hipblasDzasum", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROT - {"cublasSrot", {"hipblasSrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrot", {"hipblasDrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrot", {"hipblasCrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsrot", {"hipblasCsrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrot", {"hipblasZrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdrot", {"hipblasZdrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrot", {"hipblasSrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrot", {"hipblasDrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrot", {"hipblasCrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsrot", {"hipblasCsrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrot", {"hipblasZrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdrot", {"hipblasZdrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTG - {"cublasSrotg", {"hipblasSrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotg", {"hipblasDrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrotg", {"hipblasCrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrotg", {"hipblasZrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotg", {"hipblasSrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotg", {"hipblasDrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrotg", {"hipblasCrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrotg", {"hipblasZrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTM - {"cublasSrotm", {"hipblasSrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotm", {"hipblasDrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotm", {"hipblasSrotm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotm", {"hipblasDrotm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTMG - {"cublasSrotmg", {"hipblasSrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotmg", {"hipblasDrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotmg", {"hipblasSrotmg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotmg", {"hipblasDrotmg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GEMV - {"cublasSgemv", {"hipblasSgemv", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSgemv", {"hipblasSgemv", CONV_LIB_FUNC, API_BLAS}}, // there is no such a function in CUDA - {"cublasSgemvBatched", {"hipblasSgemvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgemv", {"hipblasDgemv", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemv", {"hipblasCgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemv", {"hipblasZgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemvBatched", {"hipblasSgemvBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgemv", {"hipblasDgemv", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgemv", {"hipblasCgemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemv", {"hipblasZgemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GBMV - {"cublasSgbmv", {"hipblasSgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgbmv", {"hipblasDgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgbmv", {"hipblasCgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgbmv", {"hipblasZgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgbmv", {"hipblasSgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgbmv", {"hipblasDgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgbmv", {"hipblasCgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgbmv", {"hipblasZgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMV - {"cublasStrmv", {"hipblasStrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmv", {"hipblasDtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmv", {"hipblasCtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmv", {"hipblasZtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmv", {"hipblasStrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmv", {"hipblasDtrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmv", {"hipblasCtrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmv", {"hipblasZtrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBMV - {"cublasStbmv", {"hipblasStbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbmv", {"hipblasDtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbmv", {"hipblasCtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbmv", {"hipblasZtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbmv", {"hipblasStbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbmv", {"hipblasDtbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbmv", {"hipblasCtbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbmv", {"hipblasZtbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPMV - {"cublasStpmv", {"hipblasStpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpmv", {"hipblasDtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpmv", {"hipblasCtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpmv", {"hipblasZtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpmv", {"hipblasStpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpmv", {"hipblasDtpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpmv", {"hipblasCtpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpmv", {"hipblasZtpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSV - {"cublasStrsv", {"hipblasStrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsv", {"hipblasDtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsv", {"hipblasCtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsv", {"hipblasZtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsv", {"hipblasStrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsv", {"hipblasDtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsv", {"hipblasCtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsv", {"hipblasZtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPSV - {"cublasStpsv", {"hipblasStpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpsv", {"hipblasDtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpsv", {"hipblasCtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpsv", {"hipblasZtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpsv", {"hipblasStpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpsv", {"hipblasDtpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpsv", {"hipblasCtpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpsv", {"hipblasZtpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBSV - {"cublasStbsv", {"hipblasStbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbsv", {"hipblasDtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbsv", {"hipblasCtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbsv", {"hipblasZtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbsv", {"hipblasStbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbsv", {"hipblasDtbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbsv", {"hipblasCtbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbsv", {"hipblasZtbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMV/HEMV - {"cublasSsymv", {"hipblasSsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymv", {"hipblasDsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymv", {"hipblasCsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymv", {"hipblasZsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChemv", {"hipblasChemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemv", {"hipblasZhemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymv", {"hipblasSsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymv", {"hipblasDsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymv", {"hipblasCsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymv", {"hipblasZsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemv", {"hipblasChemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemv", {"hipblasZhemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SBMV/HBMV - {"cublasSsbmv", {"hipblasSsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsbmv", {"hpiblasDsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChbmv", {"hipblasChbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhbmv", {"hipblasZhbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsbmv", {"hipblasSsbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsbmv", {"hpiblasDsbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChbmv", {"hipblasChbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhbmv", {"hipblasZhbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPMV/HPMV - {"cublasSspmv", {"hipblasSspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspmv", {"hipblasDspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpmv", {"hipblasChpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpmv", {"hipblasZhpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspmv", {"hipblasSspmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspmv", {"hipblasDspmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpmv", {"hipblasChpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpmv", {"hipblasZhpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GER - {"cublasSger", {"hipblasSger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDger", {"hipblasDger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgeru", {"hipblasCgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgerc", {"hipblasCgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeru", {"hipblasZgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgerc", {"hipblasZgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSger", {"hipblasSger", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDger", {"hipblasDger", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgeru", {"hipblasCgeru", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgerc", {"hipblasCgerc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeru", {"hipblasZgeru", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgerc", {"hipblasZgerc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR/HER - {"cublasSsyr", {"hipblasSsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr", {"hipblasDsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr", {"hipblasCsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr", {"hipblasZsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher", {"hipblasCher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher", {"hipblasZher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr", {"hipblasSsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr", {"hipblasDsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr", {"hipblasCsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr", {"hipblasZsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher", {"hipblasCher", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher", {"hipblasZher", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR/HPR - {"cublasSspr", {"hipblasSspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr", {"hipblasDspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr", {"hipblasChpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr", {"hipblasZhpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr", {"hipblasSspr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr", {"hipblasDspr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr", {"hipblasChpr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr", {"hipblasZhpr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2/HER2 - {"cublasSsyr2", {"hipblasSsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2", {"hipblasDsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2", {"hipblasCsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2", {"hipblasZsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher2", {"hipblasCher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2", {"hipblasZher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2", {"hipblasSsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2", {"hipblasDsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2", {"hipblasCsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2", {"hipblasZsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2", {"hipblasCher2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2", {"hipblasZher2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR2/HPR2 - {"cublasSspr2", {"hipblasSspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr2", {"hipblasDspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr2", {"hipblasChpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr2", {"hipblasZhpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr2", {"hipblasSspr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr2", {"hipblasDspr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr2", {"hipblasChpr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr2", {"hipblasZhpr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas3 (v1) Routines // GEMM - {"cublasSgemm", {"hipblasSgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemm", {"hipblasDgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemm", {"hipblasCgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasZgemm", {"hipblasZgemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasHgemm", {"hipblasHgemm", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSgemm", {"hipblasSgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDgemm", {"hipblasDgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgemm", {"hipblasCgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZgemm", {"hipblasZgemm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasHgemm", {"hipblasHgemm", CONV_LIB_FUNC, API_BLAS}}, // BATCH GEMM - {"cublasSgemmBatched", {"hipblasSgemmBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemmBatched", {"hipblasDgemmBatched", CONV_MATH_FUNC, API_BLAS}}, - {"cublasHgemmBatched", {"hipblasHgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSgemmStridedBatched", {"hipblasSgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgemmStridedBatched", {"hipblasDgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemmBatched", {"hipblasCgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemm3mBatched", {"hipblasCgemm3mBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemmBatched", {"hipblasZgemmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemmBatched", {"hipblasSgemmBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDgemmBatched", {"hipblasDgemmBatched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasHgemmBatched", {"hipblasHgemmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemmStridedBatched", {"hipblasSgemmStridedBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgemmStridedBatched", {"hipblasDgemmStridedBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemmBatched", {"hipblasCgemmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemm3mBatched", {"hipblasCgemm3mBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemmBatched", {"hipblasZgemmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYRK - {"cublasSsyrk", {"hipblasSsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyrk", {"hipblasDsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyrk", {"hipblasCsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyrk", {"hipblasZsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyrk", {"hipblasSsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyrk", {"hipblasDsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrk", {"hipblasCsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyrk", {"hipblasZsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HERK - {"cublasCherk", {"hipblasCherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZherk", {"hipblasZherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherk", {"hipblasCherk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZherk", {"hipblasZherk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2K - {"cublasSsyr2k", {"hipblasSsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2k", {"hipblasDsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2k", {"hipblasCsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2k", {"hipblasZsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2k", {"hipblasSsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2k", {"hipblasDsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2k", {"hipblasCsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2k", {"hipblasZsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYRKX - eXtended SYRK - {"cublasSsyrkx", {"hipblasSsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyrkx", {"hipblasDsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyrkx", {"hipblasCsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyrkx", {"hipblasZsyrkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyrkx", {"hipblasSsyrkx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyrkx", {"hipblasDsyrkx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrkx", {"hipblasCsyrkx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyrkx", {"hipblasZsyrkx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HER2K - {"cublasCher2k", {"hipblasCher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2k", {"hipblasZher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2k", {"hipblasCher2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2k", {"hipblasZher2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HERKX - eXtended HERK - {"cublasCherkx", {"hipblasCherkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZherkx", {"hipblasZherkx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherkx", {"hipblasCherkx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZherkx", {"hipblasZherkx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMM - {"cublasSsymm", {"hipblasSsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymm", {"hipblasDsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymm", {"hipblasCsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymm", {"hipblasZsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymm", {"hipblasSsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymm", {"hipblasDsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymm", {"hipblasCsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymm", {"hipblasZsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HEMM - {"cublasChemm", {"hipblasChemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemm", {"hipblasZhemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemm", {"hipblasChemm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemm", {"hipblasZhemm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - {"cublasStrsm", {"hipblasStrsm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDtrsm", {"hipblasDtrsm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCtrsm", {"hipblasCtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsm", {"hipblasZtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsm", {"hipblasStrsm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDtrsm", {"hipblasDtrsm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCtrsm", {"hipblasCtrsm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsm", {"hipblasZtrsm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - Batched Triangular Solver - {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMM - {"cublasStrmm", {"hipblasStrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmm", {"hipblasDtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmm", {"hipblasCtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmm", {"hipblasZtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmm", {"hipblasStrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmm", {"hipblasDtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmm", {"hipblasCtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmm", {"hipblasZtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ------------------------ CUBLAS BLAS - like extension (cublas_api.h) // GEAM - {"cublasSgeam", {"hipblasSgeam", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgeam", {"hipblasDgeam", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgeam", {"hipblasCgeam", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeam", {"hipblasZgeam", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgeam", {"hipblasSgeam", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDgeam", {"hipblasDgeam", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgeam", {"hipblasCgeam", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeam", {"hipblasZgeam", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GETRF - Batched LU - {"cublasSgetrfBatched", {"hipblasSgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgetrfBatched", {"hipblasDgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgetrfBatched", {"hipblasCgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgetrfBatched", {"hipblasZgetrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgetrfBatched", {"hipblasSgetrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgetrfBatched", {"hipblasDgetrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgetrfBatched", {"hipblasCgetrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgetrfBatched", {"hipblasZgetrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Batched inversion based on LU factorization from getrf - {"cublasSgetriBatched", {"hipblasSgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgetriBatched", {"hipblasDgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgetriBatched", {"hipblasCgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgetriBatched", {"hipblasZgetriBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgetriBatched", {"hipblasSgetriBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgetriBatched", {"hipblasDgetriBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgetriBatched", {"hipblasCgetriBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgetriBatched", {"hipblasZgetriBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Batched solver based on LU factorization from getrf - {"cublasSgetrsBatched", {"hipblasSgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgetrsBatched", {"hipblasDgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgetrsBatched", {"hipblasCgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgetrsBatched", {"hipblasZgetrsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgetrsBatched", {"hipblasSgetrsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgetrsBatched", {"hipblasDgetrsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgetrsBatched", {"hipblasCgetrsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgetrsBatched", {"hipblasZgetrsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - Batched Triangular Solver - {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsmBatched", {"hipblasStrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsmBatched", {"hipblasDtrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsmBatched", {"hipblasCtrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsmBatched", {"hipblasZtrsmBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // MATINV - Batched - {"cublasSmatinvBatched", {"hipblasSmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDmatinvBatched", {"hipblasDmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCmatinvBatched", {"hipblasCmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZmatinvBatched", {"hipblasZmatinvBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSmatinvBatched", {"hipblasSmatinvBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDmatinvBatched", {"hipblasDmatinvBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCmatinvBatched", {"hipblasCmatinvBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZmatinvBatched", {"hipblasZmatinvBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Batch QR Factorization - {"cublasSgeqrfBatched", {"hipblasSgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgeqrfBatched", {"hipblasDgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgeqrfBatched", {"hipblasCgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeqrfBatched", {"hipblasZgeqrfBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgeqrfBatched", {"hipblasSgeqrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgeqrfBatched", {"hipblasDgeqrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgeqrfBatched", {"hipblasCgeqrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeqrfBatched", {"hipblasZgeqrfBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Least Square Min only m >= n and Non-transpose supported - {"cublasSgelsBatched", {"hipblasSgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgelsBatched", {"hipblasDgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgelsBatched", {"hipblasCgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgelsBatched", {"hipblasZgelsBatched", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgelsBatched", {"hipblasSgelsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgelsBatched", {"hipblasDgelsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgelsBatched", {"hipblasCgelsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgelsBatched", {"hipblasZgelsBatched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // DGMM - {"cublasSdgmm", {"hipblasSdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDdgmm", {"hipblasDdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCdgmm", {"hipblasCdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdgmm", {"hipblasZdgmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSdgmm", {"hipblasSdgmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDdgmm", {"hipblasDdgmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdgmm", {"hipblasCdgmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdgmm", {"hipblasZdgmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPTTR - Triangular Pack format to Triangular format - {"cublasStpttr", {"hipblasStpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpttr", {"hipblasDtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpttr", {"hipblasCtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpttr", {"hipblasZtpttr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpttr", {"hipblasStpttr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpttr", {"hipblasDtpttr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpttr", {"hipblasCtpttr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpttr", {"hipblasZtpttr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRTTP - Triangular format to Triangular Pack format - {"cublasStrttp", {"hipblasStrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrttp", {"hipblasDtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrttp", {"hipblasCtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrttp", {"hipblasZtrttp", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrttp", {"hipblasStrttp", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrttp", {"hipblasDtrttp", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrttp", {"hipblasCtrttp", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrttp", {"hipblasZtrttp", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas2 (v2) Routines - {"cublasCreate_v2", {"hipblasCreate", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDestroy_v2", {"hipblasDestroy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetVersion_v2", {"hipblasGetVersion", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGetProperty", {"hipblasGetProperty", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSetStream_v2", {"hipblasSetStream", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetStream_v2", {"hipblasGetStream", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGetPointerMode_v2", {"hipblasGetPointerMode", CONV_MATH_FUNC, API_BLAS}}, - {"cublasSetPointerMode_v2", {"hipblasSetPointerMode", CONV_MATH_FUNC, API_BLAS}}, + {"cublasCreate_v2", {"hipblasCreate", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDestroy_v2", {"hipblasDestroy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetVersion_v2", {"hipblasGetVersion", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGetProperty", {"hipblasGetProperty", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSetStream_v2", {"hipblasSetStream", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetStream_v2", {"hipblasGetStream", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGetPointerMode_v2", {"hipblasGetPointerMode", CONV_LIB_FUNC, API_BLAS}}, + {"cublasSetPointerMode_v2", {"hipblasSetPointerMode", CONV_LIB_FUNC, API_BLAS}}, // GEMV - {"cublasSgemv_v2", {"hipblasSgemv", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemv_v2", {"hipblasDgemv", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemv_v2", {"hipblasCgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemv_v2", {"hipblasZgemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemv_v2", {"hipblasSgemv", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDgemv_v2", {"hipblasDgemv", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgemv_v2", {"hipblasCgemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemv_v2", {"hipblasZgemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GBMV - {"cublasSgbmv_v2", {"hipblasSgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDgbmv_v2", {"hipblasDgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgbmv_v2", {"hipblasCgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgbmv_v2", {"hipblasZgbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgbmv_v2", {"hipblasSgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDgbmv_v2", {"hipblasDgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgbmv_v2", {"hipblasCgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgbmv_v2", {"hipblasZgbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMV - {"cublasStrmv_v2", {"hipblasStrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmv_v2", {"hipblasDtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmv_v2", {"hipblasCtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmv_v2", {"hipblasZtrmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmv_v2", {"hipblasStrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmv_v2", {"hipblasDtrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmv_v2", {"hipblasCtrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmv_v2", {"hipblasZtrmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBMV - {"cublasStbmv_v2", {"hipblasStbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbmv_v2", {"hipblasDtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbmv_v2", {"hipblasCtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbmv_v2", {"hipblasZtbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbmv_v2", {"hipblasStbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbmv_v2", {"hipblasDtbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbmv_v2", {"hipblasCtbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbmv_v2", {"hipblasZtbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPMV - {"cublasStpmv_v2", {"hipblasStpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpmv_v2", {"hipblasDtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpmv_v2", {"hipblasCtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpmv_v2", {"hipblasZtpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpmv_v2", {"hipblasStpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpmv_v2", {"hipblasDtpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpmv_v2", {"hipblasCtpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpmv_v2", {"hipblasZtpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSV - {"cublasStrsv_v2", {"hipblasStrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsv_v2", {"hipblasDtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrsv_v2", {"hipblasCtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsv_v2", {"hipblasZtrsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsv_v2", {"hipblasStrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrsv_v2", {"hipblasDtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrsv_v2", {"hipblasCtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsv_v2", {"hipblasZtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TPSV - {"cublasStpsv_v2", {"hipblasStpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtpsv_v2", {"hipblasDtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtpsv_v2", {"hipblasCtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtpsv_v2", {"hipblasZtpsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStpsv_v2", {"hipblasStpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtpsv_v2", {"hipblasDtpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtpsv_v2", {"hipblasCtpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtpsv_v2", {"hipblasZtpsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TBSV - {"cublasStbsv_v2", {"hipblasStbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtbsv_v2", {"hipblasDtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtbsv_v2", {"hipblasCtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtbsv_v2", {"hipblasZtbsv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStbsv_v2", {"hipblasStbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtbsv_v2", {"hipblasDtbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtbsv_v2", {"hipblasCtbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtbsv_v2", {"hipblasZtbsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMV/HEMV - {"cublasSsymv_v2", {"hipblasSsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymv_v2", {"hipblasDsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymv_v2", {"hipblasCsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymv_v2", {"hipblasZsymv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChemv_v2", {"hipblasChemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemv_v2", {"hipblasZhemv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymv_v2", {"hipblasSsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymv_v2", {"hipblasDsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymv_v2", {"hipblasCsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymv_v2", {"hipblasZsymv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemv_v2", {"hipblasChemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemv_v2", {"hipblasZhemv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SBMV/HBMV - {"cublasSsbmv_v2", {"hipblasSsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsbmv_v2", {"hpiblasDsbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChbmv_v2", {"hipblasChbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhbmv_v2", {"hipblasZhbmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsbmv_v2", {"hipblasSsbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsbmv_v2", {"hpiblasDsbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChbmv_v2", {"hipblasChbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhbmv_v2", {"hipblasZhbmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPMV/HPMV - {"cublasSspmv_v2", {"hipblasSspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspmv_v2", {"hipblasDspmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpmv_v2", {"hipblasChpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpmv_v2", {"hipblasZhpmv", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspmv_v2", {"hipblasSspmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspmv_v2", {"hipblasDspmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpmv_v2", {"hipblasChpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpmv_v2", {"hipblasZhpmv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // GER - {"cublasSger_v2", {"hipblasSger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDger_v2", {"hipblasDger", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgeru_v2", {"hipblasCgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgerc_v2", {"hipblasCgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgeru_v2", {"hipblasZgeru", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgerc_v2", {"hipblasZgerc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSger_v2", {"hipblasSger", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDger_v2", {"hipblasDger", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgeru_v2", {"hipblasCgeru", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgerc_v2", {"hipblasCgerc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgeru_v2", {"hipblasZgeru", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgerc_v2", {"hipblasZgerc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR/HER - {"cublasSsyr_v2", {"hipblasSsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr_v2", {"hipblasDsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr_v2", {"hipblasCsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr_v2", {"hipblasZsyr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher_v2", {"hipblasCher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher_v2", {"hipblasZher", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr_v2", {"hipblasSsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr_v2", {"hipblasDsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr_v2", {"hipblasCsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr_v2", {"hipblasZsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher_v2", {"hipblasCher", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher_v2", {"hipblasZher", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR/HPR - {"cublasSspr_v2", {"hipblasSspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr_v2", {"hipblasDspr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr_v2", {"hipblasChpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr_v2", {"hipblasZhpr", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr_v2", {"hipblasSspr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr_v2", {"hipblasDspr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr_v2", {"hipblasChpr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr_v2", {"hipblasZhpr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2/HER2 - {"cublasSsyr2_v2", {"hipblasSsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2_v2", {"hipblasDsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2_v2", {"hipblasCsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2_v2", {"hipblasZsyr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCher2_v2", {"hipblasCher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2_v2", {"hipblasZher2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2_v2", {"hipblasSsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2_v2", {"hipblasDsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2_v2", {"hipblasCsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2_v2", {"hipblasZsyr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2_v2", {"hipblasCher2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2_v2", {"hipblasZher2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SPR2/HPR2 - {"cublasSspr2_v2", {"hipblasSspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDspr2_v2", {"hipblasDspr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasChpr2_v2", {"hipblasChpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhpr2_v2", {"hipblasZhpr2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSspr2_v2", {"hipblasSspr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDspr2_v2", {"hipblasDspr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChpr2_v2", {"hipblasChpr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhpr2_v2", {"hipblasZhpr2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // Blas3 (v2) Routines // GEMM - {"cublasSgemm_v2", {"hipblasSgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDgemm_v2", {"hipblasDgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemm_v2", {"hipblasCgemm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCgemm3m", {"hipblasCgemm3m", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCgemm3mEx", {"hipblasCgemm3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemm_v2", {"hipblasZgemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZgemm3m", {"hipblasZgemm3m", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemm_v2", {"hipblasSgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDgemm_v2", {"hipblasDgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgemm_v2", {"hipblasCgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgemm3m", {"hipblasCgemm3m", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemm3mEx", {"hipblasCgemm3mEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemm_v2", {"hipblasZgemm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemm3m", {"hipblasZgemm3m", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, //IO in FP16 / FP32, computation in float - {"cublasSgemmEx", {"hipblasSgemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGemmEx", {"hipblasGemmEx", CONV_MATH_FUNC, API_BLAS}}, - {"cublasGemmBatchedEx", {"hipblasGemmBatchedEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasGemmStridedBatchedEx", {"hipblasGemmStridedBatchedEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSgemmEx", {"hipblasSgemmEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGemmEx", {"hipblasGemmEx", CONV_LIB_FUNC, API_BLAS}}, + {"cublasGemmBatchedEx", {"hipblasGemmBatchedEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasGemmStridedBatchedEx", {"hipblasGemmStridedBatchedEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex - {"cublasCgemmEx", {"hipblasCgemmEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasUint8gemmBias", {"hipblasUint8gemmBias", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCgemmEx", {"hipblasCgemmEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasUint8gemmBias", {"hipblasUint8gemmBias", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYRK - {"cublasSsyrk_v2", {"hipblasSsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyrk_v2", {"hipblasDsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyrk_v2", {"hipblasCsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyrk_v2", {"hipblasZsyrk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyrk_v2", {"hipblasSsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyrk_v2", {"hipblasDsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrk_v2", {"hipblasCsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyrk_v2", {"hipblasZsyrk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex - {"cublasCsyrkEx", {"hipblasCsyrkEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrkEx", {"hipblasCsyrkEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex, Gaussian math - {"cublasCsyrk3mEx", {"hipblasCsyrk3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyrk3mEx", {"hipblasCsyrk3mEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HERK - {"cublasCherk_v2", {"hipblasCherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherk_v2", {"hipblasCherk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex - {"cublasCherkEx", {"hipblasCherkEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherkEx", {"hipblasCherkEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex, Gaussian math - {"cublasCherk3mEx", {"hipblasCherk3mEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZherk_v2", {"hipblasZherk", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCherk3mEx", {"hipblasCherk3mEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZherk_v2", {"hipblasZherk", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYR2K - {"cublasSsyr2k_v2", {"hipblasSsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr2k_v2", {"hipblasDsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsyr2k_v2", {"hipblasCsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsyr2k_v2", {"hipblasZsyr2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsyr2k_v2", {"hipblasSsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsyr2k_v2", {"hipblasDsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsyr2k_v2", {"hipblasCsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsyr2k_v2", {"hipblasZsyr2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HER2K - {"cublasCher2k_v2", {"hipblasCher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZher2k_v2", {"hipblasZher2k", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCher2k_v2", {"hipblasCher2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZher2k_v2", {"hipblasZher2k", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SYMM - {"cublasSsymm_v2", {"hipblasSsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsymm_v2", {"hipblasDsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsymm_v2", {"hipblasCsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZsymm_v2", {"hipblasZsymm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSsymm_v2", {"hipblasSsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDsymm_v2", {"hipblasDsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsymm_v2", {"hipblasCsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZsymm_v2", {"hipblasZsymm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // HEMM - {"cublasChemm_v2", {"hipblasChemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZhemm_v2", {"hipblasZhemm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasChemm_v2", {"hipblasChemm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZhemm_v2", {"hipblasZhemm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRSM - {"cublasStrsm_v2", {"hipblasStrsm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDtrsm_v2", {"hipblasDtrsm", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCtrsm_v2", {"hipblasCtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrsm_v2", {"hipblasZtrsm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrsm_v2", {"hipblasStrsm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDtrsm_v2", {"hipblasDtrsm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCtrsm_v2", {"hipblasCtrsm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrsm_v2", {"hipblasZtrsm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // TRMM - {"cublasStrmm_v2", {"hipblasStrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmm_v2", {"hipblasDtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmm_v2", {"hipblasCtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmm_v2", {"hipblasZtrmm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmm_v2", {"hipblasStrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmm_v2", {"hipblasDtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCtrmm_v2", {"hipblasCtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZtrmm_v2", {"hipblasZtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // NRM2 - {"cublasSnrm2_v2", {"hipblasSnrm2", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDnrm2_v2", {"hipblasDnrm2", CONV_MATH_FUNC, API_BLAS}}, - {"cublasScnrm2_v2", {"hipblasScnrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDznrm2_v2", {"hipblasDznrm2", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSnrm2_v2", {"hipblasSnrm2", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDnrm2_v2", {"hipblasDnrm2", CONV_LIB_FUNC, API_BLAS}}, + {"cublasScnrm2_v2", {"hipblasScnrm2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDznrm2_v2", {"hipblasDznrm2", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // DOT - {"cublasDotEx", {"hipblasDotEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDotcEx", {"hipblasDotcEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDotEx", {"hipblasDotEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDotcEx", {"hipblasDotcEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSdot_v2", {"hipblasSdot", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDdot_v2", {"hipblasDdot", CONV_MATH_FUNC, API_BLAS}}, + {"cublasSdot_v2", {"hipblasSdot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDdot_v2", {"hipblasDdot", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCdotu_v2", {"hipblasCdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCdotc_v2", {"hipblasCdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotu_v2", {"hipblasZdotu", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdotc_v2", {"hipblasZdotc", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdotu_v2", {"hipblasCdotu", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCdotc_v2", {"hipblasCdotc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotu_v2", {"hipblasZdotu", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdotc_v2", {"hipblasZdotc", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SCAL - {"cublasScalEx", {"hipblasScalEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSscal_v2", {"hipblasSscal", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDscal_v2", {"hipblasDscal", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCscal_v2", {"hipblasCscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsscal_v2", {"hipblasCsscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZscal_v2", {"hipblasZscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdscal_v2", {"hipblasZdscal", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasScalEx", {"hipblasScalEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSscal_v2", {"hipblasSscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDscal_v2", {"hipblasDscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCscal_v2", {"hipblasCscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsscal_v2", {"hipblasCsscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZscal_v2", {"hipblasZscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdscal_v2", {"hipblasZdscal", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AXPY - {"cublasAxpyEx", {"hipblasAxpyEx", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasSaxpy_v2", {"hipblasSaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDaxpy_v2", {"hipblasDaxpy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCaxpy_v2", {"hipblasCaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZaxpy_v2", {"hipblasZaxpy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasAxpyEx", {"hipblasAxpyEx", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSaxpy_v2", {"hipblasSaxpy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDaxpy_v2", {"hipblasDaxpy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCaxpy_v2", {"hipblasCaxpy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZaxpy_v2", {"hipblasZaxpy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // COPY - {"cublasScopy_v2", {"hipblasScopy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDcopy_v2", {"hipblasDcopy", CONV_MATH_FUNC, API_BLAS}}, - {"cublasCcopy_v2", {"hipblasCcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZcopy_v2", {"hipblasZcopy", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasScopy_v2", {"hipblasScopy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDcopy_v2", {"hipblasDcopy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCcopy_v2", {"hipblasCcopy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZcopy_v2", {"hipblasZcopy", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // SWAP - {"cublasSswap_v2", {"hipblasSswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDswap_v2", {"hipblasDswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCswap_v2", {"hipblasCswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZswap_v2", {"hipblasZswap", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSswap_v2", {"hipblasSswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDswap_v2", {"hipblasDswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCswap_v2", {"hipblasCswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZswap_v2", {"hipblasZswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMAX - {"cublasIsamax_v2", {"hipblasIsamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIdamax_v2", {"hipblasIdamax", CONV_MATH_FUNC, API_BLAS}}, - {"cublasIcamax_v2", {"hipblasIcamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamax_v2", {"hipblasIzamax", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamax_v2", {"hipblasIsamax", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIdamax_v2", {"hipblasIdamax", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIcamax_v2", {"hipblasIcamax", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamax_v2", {"hipblasIzamax", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // AMIN - {"cublasIsamin_v2", {"hipblasIsamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIdamin_v2", {"hipblasIdamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIcamin_v2", {"hipblasIcamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamin_v2", {"hipblasIzamin", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIsamin_v2", {"hipblasIsamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIdamin_v2", {"hipblasIdamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIcamin_v2", {"hipblasIcamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIzamin_v2", {"hipblasIzamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ASUM - {"cublasSasum_v2", {"hipblasSasum", CONV_MATH_FUNC, API_BLAS}}, - {"cublasDasum_v2", {"hipblasDasum", CONV_MATH_FUNC, API_BLAS}}, - {"cublasScasum_v2", {"hipblasScasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDzasum_v2", {"hipblasDzasum", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSasum_v2", {"hipblasSasum", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDasum_v2", {"hipblasDasum", CONV_LIB_FUNC, API_BLAS}}, + {"cublasScasum_v2", {"hipblasScasum", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDzasum_v2", {"hipblasDzasum", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROT - {"cublasSrot_v2", {"hipblasSrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrot_v2", {"hipblasDrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrot_v2", {"hipblasCrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCsrot_v2", {"hipblasCsrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrot_v2", {"hipblasZrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZdrot_v2", {"hipblasZdrot", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrot_v2", {"hipblasSrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrot_v2", {"hipblasDrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrot_v2", {"hipblasCrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCsrot_v2", {"hipblasCsrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrot_v2", {"hipblasZrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZdrot_v2", {"hipblasZdrot", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTG - {"cublasSrotg_v2", {"hipblasSrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotg_v2", {"hipblasDrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCrotg_v2", {"hipblasCrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZrotg_v2", {"hipblasZrotg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotg_v2", {"hipblasSrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotg_v2", {"hipblasDrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasCrotg_v2", {"hipblasCrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZrotg_v2", {"hipblasZrotg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTM - {"cublasSrotm_v2", {"hipblasSrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotm_v2", {"hipblasDrotm", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotm_v2", {"hipblasSrotm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotm_v2", {"hipblasDrotm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, // ROTMG - {"cublasSrotmg_v2", {"hipblasSrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDrotmg_v2", {"hipblasDrotmg", CONV_MATH_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasSrotmg_v2", {"hipblasSrotmg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDrotmg_v2", {"hipblasDrotmg", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, }; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Complex_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Complex_API_functions.cpp new file mode 100644 index 0000000000..3bc7c4f0a0 --- /dev/null +++ b/hipamd/hipify-clang/src/CUDA2HIP_Complex_API_functions.cpp @@ -0,0 +1,28 @@ +#include "CUDA2HIP.h" + +// Maps the names of CUDA DRIVER API types to the corresponding HIP types +const std::map CUDA_COMPLEX_FUNCTION_MAP{ + {"cuCrealf", {"hipCrealf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCimagf", {"hipCimagf", CONV_COMPLEX, API_COMPLEX}}, + {"make_cuFloatComplex", {"make_hipFloatComplex", CONV_COMPLEX, API_COMPLEX}}, + {"cuConjf", {"hipConjf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCaddf", {"hipCaddf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCsubf", {"hipCsubf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCmulf", {"hipCmulf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCdivf", {"hipCdivf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCabsf", {"hipCabsf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCreal", {"hipCreal", CONV_COMPLEX, API_COMPLEX}}, + {"cuCimag", {"hipCimag", CONV_COMPLEX, API_COMPLEX}}, + {"make_cuDoubleComplex", {"make_hipDoubleComplex", CONV_COMPLEX, API_COMPLEX}}, + {"cuConj", {"hipConj", CONV_COMPLEX, API_COMPLEX}}, + {"cuCadd", {"hipCadd", CONV_COMPLEX, API_COMPLEX}}, + {"cuCsub", {"hipCsub", CONV_COMPLEX, API_COMPLEX}}, + {"cuCmul", {"hipCmul", CONV_COMPLEX, API_COMPLEX}}, + {"cuCdiv", {"hipCdiv", CONV_COMPLEX, API_COMPLEX}}, + {"cuCabs", {"hipCabs", CONV_COMPLEX, API_COMPLEX}}, + {"make_cuComplex", {"make_hipComplex", CONV_COMPLEX, API_COMPLEX}}, + {"cuComplexFloatToDouble", {"hipComplexFloatToDouble", CONV_COMPLEX, API_COMPLEX}}, + {"cuComplexDoubleToFloat", {"hipComplexDoubleToFloat", CONV_COMPLEX, API_COMPLEX}}, + {"cuCfmaf", {"hipCfmaf", CONV_COMPLEX, API_COMPLEX}}, + {"cuCfma", {"hipCfma", CONV_COMPLEX, API_COMPLEX}}, +}; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Complex_API_types.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Complex_API_types.cpp new file mode 100644 index 0000000000..f371cf3b9a --- /dev/null +++ b/hipamd/hipify-clang/src/CUDA2HIP_Complex_API_types.cpp @@ -0,0 +1,8 @@ +#include "CUDA2HIP.h" + +// Maps the names of CUDA DRIVER API types to the corresponding HIP types +const std::map CUDA_COMPLEX_TYPE_NAME_MAP{ + {"cuFloatComplex", {"hipFloatComplex", CONV_TYPE, API_COMPLEX}}, + {"cuDoubleComplex", {"hipDoubleComplex", CONV_TYPE, API_COMPLEX}}, + {"cuComplex", {"hipComplex", CONV_TYPE, API_COMPLEX}}, +}; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp index 1adef24297..adeb576594 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp @@ -3,207 +3,207 @@ // Map of all functions const std::map CUDA_DNN_FUNCTION_MAP{ - {"cudnnGetVersion", {"hipdnnGetVersion", CONV_VERSION, API_DNN}}, - {"cudnnGetCudartVersion", {"hipdnnGetCudartVersion", CONV_VERSION, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnQueryRuntimeError", {"hipdnnQueryRuntimeError", CONV_VERSION, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetProperty", {"hipdnnGetProperty", CONV_VERSION, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetErrorString", {"hipdnnGetErrorString", CONV_ERROR, API_DNN}}, - {"cudnnIm2Col", {"hipdnnIm2Col", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnCreate", {"hipdnnCreate", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroy", {"hipdnnDestroy", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetStream", {"hipdnnSetStream", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetStream", {"hipdnnGetStream", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetCallback", {"hipdnnSetCallback", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetCallback", {"hipdnnGetCallback", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetVersion", {"hipdnnGetVersion", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetCudartVersion", {"hipdnnGetCudartVersion", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnQueryRuntimeError", {"hipdnnQueryRuntimeError", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetProperty", {"hipdnnGetProperty", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetErrorString", {"hipdnnGetErrorString", CONV_LIB_FUNC, API_DNN}}, + {"cudnnIm2Col", {"hipdnnIm2Col", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreate", {"hipdnnCreate", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroy", {"hipdnnDestroy", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetStream", {"hipdnnSetStream", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetStream", {"hipdnnGetStream", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetCallback", {"hipdnnSetCallback", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetCallback", {"hipdnnGetCallback", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, // cuDNN Tensor functions - {"cudnnCreateTensorDescriptor", {"hipdnnCreateTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetTensor4dDescriptor", {"hipdnnSetTensor4dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetTensor4dDescriptorEx", {"hipdnnSetTensor4dDescriptorEx", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetTensor4dDescriptor", {"hipdnnGetTensor4dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetTensorNdDescriptor", {"hipdnnSetTensorNdDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetTensorNdDescriptorEx", {"hipdnnSetTensorNdDescriptorEx", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetTensorNdDescriptor", {"hipdnnGetTensorNdDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetTensorSizeInBytes", {"hipdnnGetTensorSizeInBytes", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDestroyTensorDescriptor", {"hipdnnDestroyTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnTransformTensor", {"hipdnnTransformTensor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnAddTensor", {"hipdnnAddTensor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnCreateOpTensorDescriptor", {"hipdnnCreateOpTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetOpTensorDescriptor", {"hipdnnSetOpTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetOpTensorDescriptor", {"hipdnnGetOpTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyOpTensorDescriptor", {"hipdnnDestroyOpTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnOpTensor", {"hipdnnOpTensor", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateTensorDescriptor", {"hipdnnCreateTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetTensor4dDescriptor", {"hipdnnSetTensor4dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetTensor4dDescriptorEx", {"hipdnnSetTensor4dDescriptorEx", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetTensor4dDescriptor", {"hipdnnGetTensor4dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetTensorNdDescriptor", {"hipdnnSetTensorNdDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetTensorNdDescriptorEx", {"hipdnnSetTensorNdDescriptorEx", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetTensorNdDescriptor", {"hipdnnGetTensorNdDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetTensorSizeInBytes", {"hipdnnGetTensorSizeInBytes", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDestroyTensorDescriptor", {"hipdnnDestroyTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnTransformTensor", {"hipdnnTransformTensor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnAddTensor", {"hipdnnAddTensor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnCreateOpTensorDescriptor", {"hipdnnCreateOpTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetOpTensorDescriptor", {"hipdnnSetOpTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetOpTensorDescriptor", {"hipdnnGetOpTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyOpTensorDescriptor", {"hipdnnDestroyOpTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnOpTensor", {"hipdnnOpTensor", CONV_LIB_FUNC, API_DNN}}, // cuDNN Reduce Tensor functions - {"cudnnCreateReduceTensorDescriptor", {"hipdnnCreateReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetReduceTensorDescriptor", {"hipdnnSetReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetReduceTensorDescriptor", {"hipdnnGetReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyReduceTensorDescriptor", {"hipdnnDestroyReduceTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetReductionIndicesSize", {"hipdnnGetReductionIndicesSize", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetReductionWorkspaceSize", {"hipdnnGetReductionWorkspaceSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnReduceTensor", {"hipdnnReduceTensor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetTensor", {"hipdnnSetTensor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnScaleTensor", {"hipdnnScaleTensor", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateReduceTensorDescriptor", {"hipdnnCreateReduceTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetReduceTensorDescriptor", {"hipdnnSetReduceTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetReduceTensorDescriptor", {"hipdnnGetReduceTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyReduceTensorDescriptor", {"hipdnnDestroyReduceTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetReductionIndicesSize", {"hipdnnGetReductionIndicesSize", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetReductionWorkspaceSize", {"hipdnnGetReductionWorkspaceSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnReduceTensor", {"hipdnnReduceTensor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetTensor", {"hipdnnSetTensor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnScaleTensor", {"hipdnnScaleTensor", CONV_LIB_FUNC, API_DNN}}, // cuDNN Filter functions - {"cudnnCreateFilterDescriptor", {"hipdnnCreateFilterDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetFilter4dDescriptor", {"hipdnnSetFilter4dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetFilter4dDescriptor", {"hipdnnGetFilter4dDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetFilterNdDescriptor", {"hipdnnSetFilterNdDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetFilterNdDescriptor", {"hipdnnGetFilterNdDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyFilterDescriptor", {"hipdnnDestroyFilterDescriptor", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateFilterDescriptor", {"hipdnnCreateFilterDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetFilter4dDescriptor", {"hipdnnSetFilter4dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetFilter4dDescriptor", {"hipdnnGetFilter4dDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetFilterNdDescriptor", {"hipdnnSetFilterNdDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetFilterNdDescriptor", {"hipdnnGetFilterNdDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyFilterDescriptor", {"hipdnnDestroyFilterDescriptor", CONV_LIB_FUNC, API_DNN}}, // cuDNN Convolution functions - {"cudnnCreateConvolutionDescriptor", {"hipdnnCreateConvolutionDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetConvolutionMathType", {"hipdnnSetConvolutionMathType", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionMathType", {"hipdnnGetConvolutionMathType", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetConvolutionGroupCount", {"hipdnnSetConvolutionGroupCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetConvolutionGroupCount", {"hipdnnGetConvolutionGroupCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetConvolution2dDescriptor", {"hipdnnSetConvolution2dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolution2dDescriptor", {"hipdnnGetConvolution2dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolution2dForwardOutputDim", {"hipdnnGetConvolution2dForwardOutputDim", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetConvolutionNdDescriptor", {"hipdnnSetConvolutionNdDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionNdDescriptor", {"hipdnnGetConvolutionNdDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetConvolutionNdForwardOutputDim", {"hipdnnGetConvolutionNdForwardOutputDim", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDestroyConvolutionDescriptor", {"hipdnnDestroyConvolutionDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionForwardAlgorithmMaxCount", {"hipdnnGetConvolutionForwardAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindConvolutionForwardAlgorithm", {"hipdnnFindConvolutionForwardAlgorithm", CONV_MATH_FUNC, API_DNN}}, - {"cudnnFindConvolutionForwardAlgorithmEx", {"hipdnnFindConvolutionForwardAlgorithmEx", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionForwardAlgorithm", {"hipdnnGetConvolutionForwardAlgorithm", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionForwardAlgorithm_v7", {"hipdnnGetConvolutionForwardAlgorithm_v7", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetConvolutionForwardWorkspaceSize", {"hipdnnGetConvolutionForwardWorkspaceSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnConvolutionForward", {"hipdnnConvolutionForward", CONV_MATH_FUNC, API_DNN}}, - {"cudnnConvolutionBiasActivationForward", {"hipdnnConvolutionBiasActivationForward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnConvolutionBackwardBias", {"hipdnnConvolutionBackwardBias", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionBackwardFilterAlgorithmMaxCount", {"hipdnnGetConvolutionBackwardFilterAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindConvolutionBackwardFilterAlgorithm", {"hipdnnFindConvolutionBackwardFilterAlgorithm", CONV_MATH_FUNC, API_DNN}}, - {"cudnnFindConvolutionBackwardFilterAlgorithmEx", {"hipdnnFindConvolutionBackwardFilterAlgorithmEx", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionBackwardFilterAlgorithm", {"hipdnnGetConvolutionBackwardFilterAlgorithm", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionBackwardFilterAlgorithm_v7", {"hipdnnGetConvolutionBackwardFilterAlgorithm_v7", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetConvolutionBackwardFilterWorkspaceSize", {"hipdnnGetConvolutionBackwardFilterWorkspaceSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnConvolutionBackwardFilter", {"hipdnnConvolutionBackwardFilter", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionBackwardDataAlgorithmMaxCount", {"hipdnnGetConvolutionBackwardDataAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindConvolutionBackwardDataAlgorithm", {"hipdnnFindConvolutionBackwardDataAlgorithm", CONV_MATH_FUNC, API_DNN}}, - {"cudnnFindConvolutionBackwardDataAlgorithmEx", {"hipdnnFindConvolutionBackwardDataAlgorithmEx", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionBackwardDataAlgorithm", {"hipdnnGetConvolutionBackwardDataAlgorithm", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetConvolutionBackwardDataAlgorithm_v7", {"hipdnnGetConvolutionBackwardDataAlgorithm_v7", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetConvolutionBackwardDataWorkspaceSize", {"hipdnnGetConvolutionBackwardDataWorkspaceSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnConvolutionBackwardData", {"hipdnnConvolutionBackwardData", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateConvolutionDescriptor", {"hipdnnCreateConvolutionDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetConvolutionMathType", {"hipdnnSetConvolutionMathType", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionMathType", {"hipdnnGetConvolutionMathType", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetConvolutionGroupCount", {"hipdnnSetConvolutionGroupCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetConvolutionGroupCount", {"hipdnnGetConvolutionGroupCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetConvolution2dDescriptor", {"hipdnnSetConvolution2dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolution2dDescriptor", {"hipdnnGetConvolution2dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolution2dForwardOutputDim", {"hipdnnGetConvolution2dForwardOutputDim", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetConvolutionNdDescriptor", {"hipdnnSetConvolutionNdDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionNdDescriptor", {"hipdnnGetConvolutionNdDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetConvolutionNdForwardOutputDim", {"hipdnnGetConvolutionNdForwardOutputDim", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDestroyConvolutionDescriptor", {"hipdnnDestroyConvolutionDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionForwardAlgorithmMaxCount", {"hipdnnGetConvolutionForwardAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindConvolutionForwardAlgorithm", {"hipdnnFindConvolutionForwardAlgorithm", CONV_LIB_FUNC, API_DNN}}, + {"cudnnFindConvolutionForwardAlgorithmEx", {"hipdnnFindConvolutionForwardAlgorithmEx", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionForwardAlgorithm", {"hipdnnGetConvolutionForwardAlgorithm", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionForwardAlgorithm_v7", {"hipdnnGetConvolutionForwardAlgorithm_v7", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetConvolutionForwardWorkspaceSize", {"hipdnnGetConvolutionForwardWorkspaceSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnConvolutionForward", {"hipdnnConvolutionForward", CONV_LIB_FUNC, API_DNN}}, + {"cudnnConvolutionBiasActivationForward", {"hipdnnConvolutionBiasActivationForward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnConvolutionBackwardBias", {"hipdnnConvolutionBackwardBias", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionBackwardFilterAlgorithmMaxCount", {"hipdnnGetConvolutionBackwardFilterAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindConvolutionBackwardFilterAlgorithm", {"hipdnnFindConvolutionBackwardFilterAlgorithm", CONV_LIB_FUNC, API_DNN}}, + {"cudnnFindConvolutionBackwardFilterAlgorithmEx", {"hipdnnFindConvolutionBackwardFilterAlgorithmEx", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionBackwardFilterAlgorithm", {"hipdnnGetConvolutionBackwardFilterAlgorithm", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionBackwardFilterAlgorithm_v7", {"hipdnnGetConvolutionBackwardFilterAlgorithm_v7", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetConvolutionBackwardFilterWorkspaceSize", {"hipdnnGetConvolutionBackwardFilterWorkspaceSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnConvolutionBackwardFilter", {"hipdnnConvolutionBackwardFilter", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionBackwardDataAlgorithmMaxCount", {"hipdnnGetConvolutionBackwardDataAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindConvolutionBackwardDataAlgorithm", {"hipdnnFindConvolutionBackwardDataAlgorithm", CONV_LIB_FUNC, API_DNN}}, + {"cudnnFindConvolutionBackwardDataAlgorithmEx", {"hipdnnFindConvolutionBackwardDataAlgorithmEx", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionBackwardDataAlgorithm", {"hipdnnGetConvolutionBackwardDataAlgorithm", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetConvolutionBackwardDataAlgorithm_v7", {"hipdnnGetConvolutionBackwardDataAlgorithm_v7", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetConvolutionBackwardDataWorkspaceSize", {"hipdnnGetConvolutionBackwardDataWorkspaceSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnConvolutionBackwardData", {"hipdnnConvolutionBackwardData", CONV_LIB_FUNC, API_DNN}}, // cuDNN Sortmax functions - {"cudnnSoftmaxForward", {"hipdnnSoftmaxForward", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSoftmaxBackward", {"hipdnnSoftmaxBackward", CONV_MATH_FUNC, API_DNN}}, + {"cudnnSoftmaxForward", {"hipdnnSoftmaxForward", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSoftmaxBackward", {"hipdnnSoftmaxBackward", CONV_LIB_FUNC, API_DNN}}, // cuDNN Pooling functions - {"cudnnCreatePoolingDescriptor", {"hipdnnCreatePoolingDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetPooling2dDescriptor", {"hipdnnSetPooling2dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetPooling2dDescriptor", {"hipdnnGetPooling2dDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetPoolingNdDescriptor", {"hipdnnSetPoolingNdDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetPoolingNdDescriptor", {"hipdnnGetPoolingNdDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetPoolingNdForwardOutputDim", {"hipdnnGetPoolingNdForwardOutputDim", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetPooling2dForwardOutputDim", {"hipdnnGetPooling2dForwardOutputDim", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyPoolingDescriptor", {"hipdnnDestroyPoolingDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnPoolingForward", {"hipdnnPoolingForward", CONV_MATH_FUNC, API_DNN}}, - {"cudnnPoolingBackward", {"hipdnnPoolingBackward", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreatePoolingDescriptor", {"hipdnnCreatePoolingDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetPooling2dDescriptor", {"hipdnnSetPooling2dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetPooling2dDescriptor", {"hipdnnGetPooling2dDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetPoolingNdDescriptor", {"hipdnnSetPoolingNdDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetPoolingNdDescriptor", {"hipdnnGetPoolingNdDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetPoolingNdForwardOutputDim", {"hipdnnGetPoolingNdForwardOutputDim", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetPooling2dForwardOutputDim", {"hipdnnGetPooling2dForwardOutputDim", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyPoolingDescriptor", {"hipdnnDestroyPoolingDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnPoolingForward", {"hipdnnPoolingForward", CONV_LIB_FUNC, API_DNN}}, + {"cudnnPoolingBackward", {"hipdnnPoolingBackward", CONV_LIB_FUNC, API_DNN}}, // cuDNN Activation functions - {"cudnnCreateActivationDescriptor", {"hipdnnCreateActivationDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetActivationDescriptor", {"hipdnnSetActivationDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetActivationDescriptor", {"hipdnnGetActivationDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyActivationDescriptor", {"hipdnnDestroyActivationDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnActivationForward", {"hipdnnActivationForward", CONV_MATH_FUNC, API_DNN}}, - {"cudnnActivationBackward", {"hipdnnActivationBackward", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateActivationDescriptor", {"hipdnnCreateActivationDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetActivationDescriptor", {"hipdnnSetActivationDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetActivationDescriptor", {"hipdnnGetActivationDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyActivationDescriptor", {"hipdnnDestroyActivationDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnActivationForward", {"hipdnnActivationForward", CONV_LIB_FUNC, API_DNN}}, + {"cudnnActivationBackward", {"hipdnnActivationBackward", CONV_LIB_FUNC, API_DNN}}, // cuDNN LRN functions - {"cudnnCreateLRNDescriptor", {"hipdnnCreateLRNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetLRNDescriptor", {"hipdnnSetLRNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetLRNDescriptor", {"hipdnnGetLRNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyLRNDescriptor", {"hipdnnDestroyLRNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnLRNCrossChannelForward", {"hipdnnLRNCrossChannelForward", CONV_MATH_FUNC, API_DNN}}, - {"cudnnLRNCrossChannelBackward", {"hipdnnLRNCrossChannelBackward", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateLRNDescriptor", {"hipdnnCreateLRNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetLRNDescriptor", {"hipdnnSetLRNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetLRNDescriptor", {"hipdnnGetLRNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyLRNDescriptor", {"hipdnnDestroyLRNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnLRNCrossChannelForward", {"hipdnnLRNCrossChannelForward", CONV_LIB_FUNC, API_DNN}}, + {"cudnnLRNCrossChannelBackward", {"hipdnnLRNCrossChannelBackward", CONV_LIB_FUNC, API_DNN}}, // cuDNN Divisive Normalization functions - {"cudnnDivisiveNormalizationForward", {"hipdnnDivisiveNormalizationForward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDivisiveNormalizationBackward", {"hipdnnDivisiveNormalizationBackward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDivisiveNormalizationForward", {"hipdnnDivisiveNormalizationForward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDivisiveNormalizationBackward", {"hipdnnDivisiveNormalizationBackward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, // cuDNN Batch Normalization functions - {"cudnnDeriveBNTensorDescriptor", {"hipdnnDeriveBNTensorDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnBatchNormalizationForwardTraining", {"hipdnnBatchNormalizationForwardTraining", CONV_MATH_FUNC, API_DNN}}, - {"cudnnBatchNormalizationForwardInference", {"hipdnnBatchNormalizationForwardInference", CONV_MATH_FUNC, API_DNN}}, - {"cudnnBatchNormalizationBackward", {"hipdnnBatchNormalizationBackward", CONV_MATH_FUNC, API_DNN}}, + {"cudnnDeriveBNTensorDescriptor", {"hipdnnDeriveBNTensorDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnBatchNormalizationForwardTraining", {"hipdnnBatchNormalizationForwardTraining", CONV_LIB_FUNC, API_DNN}}, + {"cudnnBatchNormalizationForwardInference", {"hipdnnBatchNormalizationForwardInference", CONV_LIB_FUNC, API_DNN}}, + {"cudnnBatchNormalizationBackward", {"hipdnnBatchNormalizationBackward", CONV_LIB_FUNC, API_DNN}}, // cuDNN Spatial Transformer functions - {"cudnnCreateSpatialTransformerDescriptor", {"hipdnnCreateSpatialTransformerDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetSpatialTransformerNdDescriptor", {"hipdnnSetSpatialTransformerNdDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDestroySpatialTransformerDescriptor", {"hipdnnDestroySpatialTransformerDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSpatialTfGridGeneratorForward", {"hipdnnSpatialTfGridGeneratorForward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSpatialTfGridGeneratorBackward", {"hipdnnSpatialTfGridGeneratorBackward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSpatialTfSamplerForward", {"hipdnnSpatialTfSamplerForward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSpatialTfSamplerBackward", {"hipdnnSpatialTfSamplerBackward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreateSpatialTransformerDescriptor", {"hipdnnCreateSpatialTransformerDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetSpatialTransformerNdDescriptor", {"hipdnnSetSpatialTransformerNdDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDestroySpatialTransformerDescriptor", {"hipdnnDestroySpatialTransformerDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSpatialTfGridGeneratorForward", {"hipdnnSpatialTfGridGeneratorForward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSpatialTfGridGeneratorBackward", {"hipdnnSpatialTfGridGeneratorBackward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSpatialTfSamplerForward", {"hipdnnSpatialTfSamplerForward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSpatialTfSamplerBackward", {"hipdnnSpatialTfSamplerBackward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, // cuDNN Dropout functions - {"cudnnCreateDropoutDescriptor", {"hipdnnCreateDropoutDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyDropoutDescriptor", {"hipdnnDestroyDropoutDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDropoutGetStatesSize", {"hipdnnDropoutGetStatesSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDropoutGetReserveSpaceSize", {"hipdnnDropoutGetReserveSpaceSize", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetDropoutDescriptor", {"hipdnnSetDropoutDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetDropoutDescriptor", {"hipdnnGetDropoutDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnRestoreDropoutDescriptor", {"hipdnnRestoreDropoutDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDropoutForward", {"hipdnnDropoutForward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDropoutBackward", {"hipdnnDropoutBackward", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreateDropoutDescriptor", {"hipdnnCreateDropoutDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyDropoutDescriptor", {"hipdnnDestroyDropoutDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDropoutGetStatesSize", {"hipdnnDropoutGetStatesSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDropoutGetReserveSpaceSize", {"hipdnnDropoutGetReserveSpaceSize", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetDropoutDescriptor", {"hipdnnSetDropoutDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetDropoutDescriptor", {"hipdnnGetDropoutDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnRestoreDropoutDescriptor", {"hipdnnRestoreDropoutDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDropoutForward", {"hipdnnDropoutForward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDropoutBackward", {"hipdnnDropoutBackward", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, // cuDNN RNN functions - {"cudnnCreateRNNDescriptor", {"hipdnnCreateRNNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyRNNDescriptor", {"hipdnnDestroyRNNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetRNNForwardInferenceAlgorithmMaxCount", {"hipdnnGetRNNForwardInferenceAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindRNNForwardInferenceAlgorithmEx", {"hipdnnFindRNNForwardInferenceAlgorithmEx", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetRNNForwardTrainingAlgorithmMaxCount", {"hipdnnGetRNNForwardTrainingAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindRNNForwardTrainingAlgorithmEx", {"hipdnnFindRNNForwardTrainingAlgorithmEx", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetRNNBackwardDataAlgorithmMaxCount", {"hipdnnGetRNNBackwardDataAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindRNNBackwardDataAlgorithmEx", {"hipdnnFindRNNBackwardDataAlgorithmEx", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetRNNBackwardWeightsAlgorithmMaxCount", {"hipdnnGetRNNBackwardWeightsAlgorithmMaxCount", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnFindRNNBackwardWeightsAlgorithmEx", {"hipdnnFindRNNBackwardWeightsAlgorithmEx", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnCreatePersistentRNNPlan", {"hipdnnCreatePersistentRNNPlan", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetPersistentRNNPlan", {"hipdnnSetPersistentRNNPlan", CONV_MATH_FUNC, API_DNN}}, - {"cudnnDestroyPersistentRNNPlan", {"hipdnnDestroyPersistentRNNPlan", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetRNNDescriptor", {"hipdnnSetRNNDescriptor", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetRNNDescriptor", {"hipdnnGetRNNDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetRNNProjectionLayers", {"hipdnnSetRNNProjectionLayers", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetRNNProjectionLayers", {"hipdnnGetRNNProjectionLayers", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetRNNAlgorithmDescriptor", {"hipdnnSetRNNAlgorithmDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetRNNMatrixMathType", {"hipdnnSetRNNMatrixMathType", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetRNNMatrixMathType", {"hipdnnGetRNNMatrixMathType", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetRNNWorkspaceSize", {"hipdnnGetRNNWorkspaceSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetRNNTrainingReserveSize", {"hipdnnGetRNNTrainingReserveSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetRNNParamsSize", {"hipdnnGetRNNParamsSize", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetRNNLinLayerMatrixParams", {"hipdnnGetRNNLinLayerMatrixParams", CONV_MATH_FUNC, API_DNN}}, - {"cudnnGetRNNLinLayerBiasParams", {"hipdnnGetRNNLinLayerBiasParams", CONV_MATH_FUNC, API_DNN}}, - {"cudnnRNNForwardInference", {"hipdnnRNNForwardInference", CONV_MATH_FUNC, API_DNN}}, - {"cudnnRNNForwardTraining", {"hipdnnRNNForwardTraining", CONV_MATH_FUNC, API_DNN}}, - {"cudnnRNNBackwardData", {"hipdnnRNNBackwardData", CONV_MATH_FUNC, API_DNN}}, - {"cudnnRNNBackwardWeights", {"hipdnnRNNBackwardWeights", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetRNNDescriptor_v5", {"hipdnnSetRNNDescriptor_v5", CONV_MATH_FUNC, API_DNN}}, - {"cudnnSetRNNDescriptor_v6", {"hipdnnSetRNNDescriptor_v6", CONV_MATH_FUNC, API_DNN}}, + {"cudnnCreateRNNDescriptor", {"hipdnnCreateRNNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyRNNDescriptor", {"hipdnnDestroyRNNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetRNNForwardInferenceAlgorithmMaxCount", {"hipdnnGetRNNForwardInferenceAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindRNNForwardInferenceAlgorithmEx", {"hipdnnFindRNNForwardInferenceAlgorithmEx", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetRNNForwardTrainingAlgorithmMaxCount", {"hipdnnGetRNNForwardTrainingAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindRNNForwardTrainingAlgorithmEx", {"hipdnnFindRNNForwardTrainingAlgorithmEx", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetRNNBackwardDataAlgorithmMaxCount", {"hipdnnGetRNNBackwardDataAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindRNNBackwardDataAlgorithmEx", {"hipdnnFindRNNBackwardDataAlgorithmEx", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetRNNBackwardWeightsAlgorithmMaxCount", {"hipdnnGetRNNBackwardWeightsAlgorithmMaxCount", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnFindRNNBackwardWeightsAlgorithmEx", {"hipdnnFindRNNBackwardWeightsAlgorithmEx", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreatePersistentRNNPlan", {"hipdnnCreatePersistentRNNPlan", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetPersistentRNNPlan", {"hipdnnSetPersistentRNNPlan", CONV_LIB_FUNC, API_DNN}}, + {"cudnnDestroyPersistentRNNPlan", {"hipdnnDestroyPersistentRNNPlan", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetRNNDescriptor", {"hipdnnSetRNNDescriptor", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetRNNDescriptor", {"hipdnnGetRNNDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetRNNProjectionLayers", {"hipdnnSetRNNProjectionLayers", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetRNNProjectionLayers", {"hipdnnGetRNNProjectionLayers", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetRNNAlgorithmDescriptor", {"hipdnnSetRNNAlgorithmDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetRNNMatrixMathType", {"hipdnnSetRNNMatrixMathType", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetRNNMatrixMathType", {"hipdnnGetRNNMatrixMathType", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetRNNWorkspaceSize", {"hipdnnGetRNNWorkspaceSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetRNNTrainingReserveSize", {"hipdnnGetRNNTrainingReserveSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetRNNParamsSize", {"hipdnnGetRNNParamsSize", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetRNNLinLayerMatrixParams", {"hipdnnGetRNNLinLayerMatrixParams", CONV_LIB_FUNC, API_DNN}}, + {"cudnnGetRNNLinLayerBiasParams", {"hipdnnGetRNNLinLayerBiasParams", CONV_LIB_FUNC, API_DNN}}, + {"cudnnRNNForwardInference", {"hipdnnRNNForwardInference", CONV_LIB_FUNC, API_DNN}}, + {"cudnnRNNForwardTraining", {"hipdnnRNNForwardTraining", CONV_LIB_FUNC, API_DNN}}, + {"cudnnRNNBackwardData", {"hipdnnRNNBackwardData", CONV_LIB_FUNC, API_DNN}}, + {"cudnnRNNBackwardWeights", {"hipdnnRNNBackwardWeights", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetRNNDescriptor_v5", {"hipdnnSetRNNDescriptor_v5", CONV_LIB_FUNC, API_DNN}}, + {"cudnnSetRNNDescriptor_v6", {"hipdnnSetRNNDescriptor_v6", CONV_LIB_FUNC, API_DNN}}, // cuDNN Connectionist Temporal Classification loss functions - {"cudnnCreateCTCLossDescriptor", {"hipdnnCreateCTCLossDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetCTCLossDescriptor", {"hipdnnSetCTCLossDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetCTCLossDescriptor", {"hipdnnGetCTCLossDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDestroyCTCLossDescriptor", {"hipdnnDestroyCTCLossDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnCTCLoss", {"hipdnnCTCLoss", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetCTCLossWorkspaceSize", {"hipdnnGetCTCLossWorkspaceSize", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreateCTCLossDescriptor", {"hipdnnCreateCTCLossDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetCTCLossDescriptor", {"hipdnnSetCTCLossDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetCTCLossDescriptor", {"hipdnnGetCTCLossDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDestroyCTCLossDescriptor", {"hipdnnDestroyCTCLossDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCTCLoss", {"hipdnnCTCLoss", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetCTCLossWorkspaceSize", {"hipdnnGetCTCLossWorkspaceSize", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, // cuDNN Algorithm functions - {"cudnnCreateAlgorithmDescriptor", {"hipdnnCreateAlgorithmDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetAlgorithmDescriptor", {"hipdnnSetAlgorithmDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetAlgorithmDescriptor", {"hipdnnGetAlgorithmDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnCopyAlgorithmDescriptor", {"hipdnnCopyAlgorithmDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDestroyAlgorithmDescriptor", {"hipdnnDestroyAlgorithmDescriptor", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnCreateAlgorithmPerformance", {"hipdnnCreateAlgorithmPerformance", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSetAlgorithmPerformance", {"hipdnnSetAlgorithmPerformance", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetAlgorithmPerformance", {"hipdnnGetAlgorithmPerformance", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnDestroyAlgorithmPerformance", {"hipdnnDestroyAlgorithmPerformance", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnGetAlgorithmSpaceSize", {"hipdnnGetAlgorithmSpaceSize", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnSaveAlgorithm", {"hipdnnSaveAlgorithm", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, - {"cudnnRestoreAlgorithm", {"hipdnnRestoreAlgorithm", CONV_MATH_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreateAlgorithmDescriptor", {"hipdnnCreateAlgorithmDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetAlgorithmDescriptor", {"hipdnnSetAlgorithmDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetAlgorithmDescriptor", {"hipdnnGetAlgorithmDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCopyAlgorithmDescriptor", {"hipdnnCopyAlgorithmDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDestroyAlgorithmDescriptor", {"hipdnnDestroyAlgorithmDescriptor", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnCreateAlgorithmPerformance", {"hipdnnCreateAlgorithmPerformance", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSetAlgorithmPerformance", {"hipdnnSetAlgorithmPerformance", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetAlgorithmPerformance", {"hipdnnGetAlgorithmPerformance", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnDestroyAlgorithmPerformance", {"hipdnnDestroyAlgorithmPerformance", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetAlgorithmSpaceSize", {"hipdnnGetAlgorithmSpaceSize", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnSaveAlgorithm", {"hipdnnSaveAlgorithm", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnRestoreAlgorithm", {"hipdnnRestoreAlgorithm", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, }; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp index e82417f39e..6871be877b 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp @@ -1,426 +1,751 @@ #include "CUDA2HIP.h" - -// Map of all functions +// Map of all CUDA Driver API functions const std::map CUDA_DRIVER_FUNCTION_MAP{ + // 5.2. Error Handling + // no analogue + // NOTE: cudaGetErrorName and hipGetErrorName have different signature + {"cuGetErrorName", {"hipGetErrorName_", CONV_ERROR, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: cudaGetErrorString and hipGetErrorString have different signature + {"cuGetErrorString", {"hipGetErrorString_", CONV_ERROR, API_DRIVER, HIP_UNSUPPORTED}}, - ///////////////////////////// CUDA DRIVER API ///////////////////////////// + // 5.3. Initialization + // no analogue + {"cuInit", {"hipInit", CONV_INIT, API_DRIVER}}, - // Error Handling - {"cuGetErrorName", {"hipGetErrorName___", CONV_ERROR, API_DRIVER, HIP_UNSUPPORTED}}, // cudaGetErrorName (hipGetErrorName) has different signature - {"cuGetErrorString", {"hipGetErrorString___", CONV_ERROR, API_DRIVER, HIP_UNSUPPORTED}}, // cudaGetErrorString (hipGetErrorString) has different signature + // 5.4 Version Management + // cudaDriverGetVersion + {"cuDriverGetVersion", {"hipDriverGetVersion", CONV_VERSION, API_DRIVER}}, - // Init - {"cuInit", {"hipInit", CONV_INIT, API_DRIVER}}, + // 5.5. Device Management + // cudaGetDevice + // NOTE: cudaGetDevice has additional attr: int ordinal + {"cuDeviceGet", {"hipGetDevice", CONV_DEVICE, API_DRIVER}}, + // cudaDeviceGetAttribute + {"cuDeviceGetAttribute", {"hipDeviceGetAttribute", CONV_DEVICE, API_DRIVER}}, + // cudaGetDeviceCount + {"cuDeviceGetCount", {"hipGetDeviceCount", CONV_DEVICE, API_DRIVER}}, + // no analogue + {"cuDeviceGetLuid", {"hipDeviceGetLuid", CONV_DEVICE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuDeviceGetName", {"hipDeviceGetName", CONV_DEVICE, API_DRIVER}}, + // no analogue + {"cuDeviceGetUuid", {"hipDeviceGetUuid", CONV_DEVICE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuDeviceTotalMem", {"hipDeviceTotalMem", CONV_DEVICE, API_DRIVER}}, + {"cuDeviceTotalMem_v2", {"hipDeviceTotalMem", CONV_DEVICE, API_DRIVER}}, - // Driver - {"cuDriverGetVersion", {"hipDriverGetVersion", CONV_VERSION, API_DRIVER}}, + // 5.6. Device Management [DEPRECATED] + {"cuDeviceComputeCapability", {"hipDeviceComputeCapability", CONV_DEVICE, API_DRIVER}}, + {"cuDeviceGetProperties", {"hipGetDeviceProperties", CONV_DEVICE, API_DRIVER}}, - // Context Management - {"cuCtxCreate_v2", {"hipCtxCreate", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxDestroy_v2", {"hipCtxDestroy", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetApiVersion", {"hipCtxGetApiVersion", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetCacheConfig", {"hipCtxGetCacheConfig", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetCurrent", {"hipCtxGetCurrent", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetDevice", {"hipCtxGetDevice", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetFlags", {"hipCtxGetFlags", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetLimit", {"hipCtxGetLimit", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuCtxGetSharedMemConfig", {"hipCtxGetSharedMemConfig", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxGetStreamPriorityRange", {"hipCtxGetStreamPriorityRange", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuCtxPopCurrent_v2", {"hipCtxPopCurrent", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxPushCurrent_v2", {"hipCtxPushCurrent", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxSetCacheConfig", {"hipCtxSetCacheConfig", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxSetCurrent", {"hipCtxSetCurrent", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxSetLimit", {"hipCtxSetLimit", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuCtxSetSharedMemConfig", {"hipCtxSetSharedMemConfig", CONV_CONTEXT, API_DRIVER}}, - {"cuCtxSynchronize", {"hipCtxSynchronize", CONV_CONTEXT, API_DRIVER}}, - // Context Management [DEPRECATED] - {"cuCtxAttach", {"hipCtxAttach", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuCtxDetach", {"hipCtxDetach", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.7. Primary Context Management + // no analogues + {"cuDevicePrimaryCtxGetState", {"hipDevicePrimaryCtxGetState", CONV_CONTEXT, API_DRIVER}}, + {"cuDevicePrimaryCtxRelease", {"hipDevicePrimaryCtxRelease", CONV_CONTEXT, API_DRIVER}}, + {"cuDevicePrimaryCtxReset", {"hipDevicePrimaryCtxReset", CONV_CONTEXT, API_DRIVER}}, + {"cuDevicePrimaryCtxRetain", {"hipDevicePrimaryCtxRetain", CONV_CONTEXT, API_DRIVER}}, + {"cuDevicePrimaryCtxSetFlags", {"hipDevicePrimaryCtxSetFlags", CONV_CONTEXT, API_DRIVER}}, - // Primary Context Management - {"cuDevicePrimaryCtxGetState", {"hipDevicePrimaryCtxGetState", CONV_CONTEXT, API_DRIVER}}, - {"cuDevicePrimaryCtxRelease", {"hipDevicePrimaryCtxRelease", CONV_CONTEXT, API_DRIVER}}, - {"cuDevicePrimaryCtxReset", {"hipDevicePrimaryCtxReset", CONV_CONTEXT, API_DRIVER}}, - {"cuDevicePrimaryCtxRetain", {"hipDevicePrimaryCtxRetain", CONV_CONTEXT, API_DRIVER}}, - {"cuDevicePrimaryCtxSetFlags", {"hipDevicePrimaryCtxSetFlags", CONV_CONTEXT, API_DRIVER}}, + // 5.8. Context Management + // no analogues, except a few + {"cuCtxCreate", {"hipCtxCreate", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxCreate_v2", {"hipCtxCreate", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxDestroy", {"hipCtxDestroy", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxDestroy_v2", {"hipCtxDestroy", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxGetApiVersion", {"hipCtxGetApiVersion", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxGetCacheConfig", {"hipCtxGetCacheConfig", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxGetCurrent", {"hipCtxGetCurrent", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxGetDevice", {"hipCtxGetDevice", CONV_CONTEXT, API_DRIVER}}, + // cudaGetDeviceFlags + // TODO: rename to hipGetDeviceFlags + {"cuCtxGetFlags", {"hipCtxGetFlags", CONV_CONTEXT, API_DRIVER}}, + // cudaDeviceGetLimit + {"cuCtxGetLimit", {"hipDeviceGetLimit", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxGetSharedMemConfig", {"hipCtxGetSharedMemConfig", CONV_CONTEXT, API_DRIVER}}, + // cudaDeviceGetStreamPriorityRange + {"cuCtxGetStreamPriorityRange", {"hipDeviceGetStreamPriorityRange", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxPopCurrent", {"hipCtxPopCurrent", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxPopCurrent_v2", {"hipCtxPopCurrent", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxPushCurrent", {"hipCtxPushCurrent", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxPushCurrent_v2", {"hipCtxPushCurrent", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxSetCacheConfig", {"hipCtxSetCacheConfig", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxSetCurrent", {"hipCtxSetCurrent", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxSetLimit", {"hipCtxSetLimit", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuCtxSetSharedMemConfig", {"hipCtxSetSharedMemConfig", CONV_CONTEXT, API_DRIVER}}, + {"cuCtxSynchronize", {"hipCtxSynchronize", CONV_CONTEXT, API_DRIVER}}, - // 1. Device Management - {"cuDeviceGet", {"hipGetDevice", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetName", {"hipDeviceGetName", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetCount", {"hipGetDeviceCount", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetAttribute", {"hipDeviceGetAttribute", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetPCIBusId", {"hipDeviceGetPCIBusId", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetByPCIBusId", {"hipDeviceGetByPCIBusId", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceTotalMem_v2", {"hipDeviceTotalMem", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetLuid", {"hipDeviceGetLuid", CONV_DEVICE, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.9. Context Management [DEPRECATED] + // no analogues + {"cuCtxAttach", {"hipCtxAttach", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuCtxDetach", {"hipCtxDetach", CONV_CONTEXT, API_DRIVER, HIP_UNSUPPORTED}}, - // 12. Peer Context Memory Access - {"cuCtxEnablePeerAccess", {"hipCtxEnablePeerAccess", CONV_PEER, API_DRIVER}}, - {"cuCtxDisablePeerAccess", {"hipCtxDisablePeerAccess", CONV_PEER, API_DRIVER}}, - {"cuDeviceCanAccessPeer", {"hipDeviceCanAccessPeer", CONV_PEER, API_DRIVER}}, - {"cuDeviceGetP2PAttribute", {"hipDeviceGetP2PAttribute", CONV_PEER, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaDeviceGetP2PAttribute) + // 5.10. Module Management + // no analogues + {"cuLinkAddData", {"hipLinkAddData", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkAddData_v2", {"hipLinkAddData", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkAddFile", {"hipLinkAddFile", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkAddFile_v2", {"hipLinkAddFile", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkComplete", {"hipLinkComplete", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkCreate", {"hipLinkCreate", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkCreate_v2", {"hipLinkCreate", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuLinkDestroy", {"hipLinkDestroy", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuModuleGetFunction", {"hipModuleGetFunction", CONV_MODULE, API_DRIVER}}, + {"cuModuleGetGlobal", {"hipModuleGetGlobal", CONV_MODULE, API_DRIVER}}, + {"cuModuleGetGlobal_v2", {"hipModuleGetGlobal", CONV_MODULE, API_DRIVER}}, + {"cuModuleGetSurfRef", {"hipModuleGetSurfRef", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuModuleGetTexRef", {"hipModuleGetTexRef", CONV_MODULE, API_DRIVER}}, + {"cuModuleLoad", {"hipModuleLoad", CONV_MODULE, API_DRIVER}}, + {"cuModuleLoadData", {"hipModuleLoadData", CONV_MODULE, API_DRIVER}}, + {"cuModuleLoadDataEx", {"hipModuleLoadDataEx", CONV_MODULE, API_DRIVER}}, + {"cuModuleLoadFatBinary", {"hipModuleLoadFatBinary", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuModuleUnload", {"hipModuleUnload", CONV_MODULE, API_DRIVER}}, - // Device Management [DEPRECATED] - {"cuDeviceComputeCapability", {"hipDeviceComputeCapability", CONV_DEVICE, API_DRIVER}}, - {"cuDeviceGetProperties", {"hipGetDeviceProperties", CONV_DEVICE, API_DRIVER}}, + // 5.11. Memory Management + // no analogue + {"cuArray3DCreate", {"hipArray3DCreate", CONV_MEMORY, API_DRIVER}}, + {"cuArray3DCreate_v2", {"hipArray3DCreate", CONV_MEMORY, API_DRIVER}}, + {"cuArray3DGetDescriptor", {"hipArray3DGetDescriptor", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuArray3DGetDescriptor_v2", {"hipArray3DGetDescriptor", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuArrayCreate", {"hipArrayCreate", CONV_MEMORY, API_DRIVER}}, + {"cuArrayCreate_v2", {"hipArrayCreate", CONV_MEMORY, API_DRIVER}}, + {"cuArrayDestroy", {"hipArrayDestroy", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuArrayGetDescriptor", {"hipArrayGetDescriptor", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuArrayGetDescriptor_v2", {"hipArrayGetDescriptor", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaDeviceGetByPCIBusId + {"cuDeviceGetByPCIBusId", {"hipDeviceGetByPCIBusId", CONV_MEMORY, API_DRIVER}}, + // cudaDeviceGetPCIBusId + {"cuDeviceGetPCIBusId", {"hipDeviceGetPCIBusId", CONV_MEMORY, API_DRIVER}}, + // cudaIpcCloseMemHandle + {"cuIpcCloseMemHandle", {"hipIpcCloseMemHandle", CONV_MEMORY, API_DRIVER}}, + // cudaIpcGetEventHandle + {"cuIpcGetEventHandle", {"hipIpcGetEventHandle", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaIpcGetMemHandle + {"cuIpcGetMemHandle", {"hipIpcGetMemHandle", CONV_MEMORY, API_DRIVER}}, + // cudaIpcOpenEventHandle + {"cuIpcOpenEventHandle", {"hipIpcOpenEventHandle", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaIpcOpenMemHandle + {"cuIpcOpenMemHandle", {"hipIpcOpenMemHandle", CONV_MEMORY, API_DRIVER}}, + // cudaMalloc + {"cuMemAlloc", {"hipMalloc", CONV_MEMORY, API_DRIVER}}, + {"cuMemAlloc_v2", {"hipMalloc", CONV_MEMORY, API_DRIVER}}, + // cudaHostAlloc + {"cuMemAllocHost", {"hipMemAllocHost", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemAllocHost_v2", {"hipMemAllocHost", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemAllocManaged", {"hipMemAllocManaged", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemAllocPitch", {"hipMemAllocPitch", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemAllocPitch_v2", {"hipMemAllocPitch", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy due to different signatures + {"cuMemcpy", {"hipMemcpy_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy2D due to different signatures + {"cuMemcpy2D", {"hipMemcpy2D_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpy2D_v2", {"hipMemcpy2D_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy2DAsync due to different signatures + {"cuMemcpy2DAsync", {"hipMemcpy2DAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpy2DAsync_v2", {"hipMemcpy2DAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpy2DUnaligned", {"hipMemcpy2DUnaligned", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpy2DUnaligned_v2", {"hipMemcpy2DUnaligned", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy3D due to different signatures + {"cuMemcpy3D", {"hipMemcpy3D_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpy3D_v2", {"hipMemcpy3D_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy3DAsync due to different signatures + {"cuMemcpy3DAsync", {"hipMemcpy3DAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpy3DAsync_v2", {"hipMemcpy3DAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy3DPeer due to different signatures + {"cuMemcpy3DPeer", {"hipMemcpy3DPeer_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpy3DPeerAsync due to different signatures + {"cuMemcpy3DPeerAsync", {"hipMemcpy3DPeerAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpyAsync due to different signatures + {"cuMemcpyAsync", {"hipMemcpyAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpyArrayToArray due to different signatures + {"cuMemcpyAtoA", {"hipMemcpyAtoA", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpyAtoA_v2", {"hipMemcpyAtoA", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpyAtoD", {"hipMemcpyAtoD", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpyAtoD_v2", {"hipMemcpyAtoD", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpyAtoH", {"hipMemcpyAtoH", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpyAtoH_v2", {"hipMemcpyAtoH", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpyAtoHAsync", {"hipMemcpyAtoHAsync", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpyAtoHAsync_v2", {"hipMemcpyAtoHAsync", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpyDtoA", {"hipMemcpyDtoA", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpyDtoA_v2", {"hipMemcpyDtoA", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpyDtoD", {"hipMemcpyDtoD", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyDtoD_v2", {"hipMemcpyDtoD", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemcpyDtoDAsync", {"hipMemcpyDtoDAsync", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyDtoDAsync_v2", {"hipMemcpyDtoDAsync", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemcpyDtoH", {"hipMemcpyDtoH", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyDtoH_v2", {"hipMemcpyDtoH", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemcpyDtoHAsync", {"hipMemcpyDtoHAsync", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyDtoHAsync_v2", {"hipMemcpyDtoHAsync", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemcpyHtoA", {"hipMemcpyHtoA", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyHtoA_v2", {"hipMemcpyHtoA", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemcpyHtoAAsync", {"hipMemcpyHtoAAsync", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemcpyHtoAAsync_v2", {"hipMemcpyHtoAAsync", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemcpyHtoD", {"hipMemcpyHtoD", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyHtoD_v2", {"hipMemcpyHtoD", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemcpyHtoDAsync", {"hipMemcpyHtoDAsync", CONV_MEMORY, API_DRIVER}}, + {"cuMemcpyHtoDAsync_v2", {"hipMemcpyHtoDAsync", CONV_MEMORY, API_DRIVER}}, + // no analogue + // NOTE: Not equal to cudaMemcpyPeer due to different signatures + {"cuMemcpyPeer", {"hipMemcpyPeer_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMemcpyPeerAsync due to different signatures + {"cuMemcpyPeerAsync", {"hipMemcpyPeerAsync_", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaFree + {"cuMemFree", {"hipFree", CONV_MEMORY, API_DRIVER}}, + {"cuMemFree_v2", {"hipFree", CONV_MEMORY, API_DRIVER}}, + // cudaFreeHost + {"cuMemFreeHost", {"hipHostFree", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemGetAddressRange", {"hipMemGetAddressRange", CONV_MEMORY, API_DRIVER}}, + {"cuMemGetAddressRange_v2", {"hipMemGetAddressRange", CONV_MEMORY, API_DRIVER}}, + // cudaMemGetInfo + {"cuMemGetInfo", {"hipMemGetInfo", CONV_MEMORY, API_DRIVER}}, + {"cuMemGetInfo_v2", {"hipMemGetInfo", CONV_MEMORY, API_DRIVER}}, + // cudaHostAlloc + {"cuMemHostAlloc", {"hipHostMalloc", CONV_MEMORY, API_DRIVER}}, + // cudaHostGetDevicePointer + {"cuMemHostGetDevicePointer", {"hipHostGetDevicePointer", CONV_MEMORY, API_DRIVER}}, + {"cuMemHostGetDevicePointer_v2", {"hipHostGetDevicePointer", CONV_MEMORY, API_DRIVER}}, + // cudaHostGetFlags + {"cuMemHostGetFlags", {"hipMemHostGetFlags", CONV_MEMORY, API_DRIVER}}, + // cudaHostRegister + {"cuMemHostRegister", {"hipHostRegister", CONV_MEMORY, API_DRIVER}}, + {"cuMemHostRegister_v2", {"hipHostRegister", CONV_MEMORY, API_DRIVER}}, + // cudaHostUnregister + {"cuMemHostUnregister", {"hipHostUnregister", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemsetD16", {"hipMemsetD16", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemsetD16_v2", {"hipMemsetD16", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD16Async", {"hipMemsetD16Async", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD2D16", {"hipMemsetD2D16", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemsetD2D16_v2", {"hipMemsetD2D16", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD2D16Async", {"hipMemsetD2D16Async", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD2D32", {"hipMemsetD2D32", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemsetD2D32_v2", {"hipMemsetD2D32", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD2D32Async", {"hipMemsetD2D32Async", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD2D8", {"hipMemsetD2D8", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuMemsetD2D8_v2", {"hipMemsetD2D8", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuMemsetD2D8Async", {"hipMemsetD2D8Async", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaMemset + {"cuMemsetD32", {"hipMemset", CONV_MEMORY, API_DRIVER}}, + {"cuMemsetD32_v2", {"hipMemset", CONV_MEMORY, API_DRIVER}}, + // cudaMemsetAsync + {"cuMemsetD32Async", {"hipMemsetAsync", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemsetD8", {"hipMemsetD8", CONV_MEMORY, API_DRIVER}}, + {"cuMemsetD8_v2", {"hipMemsetD8", CONV_MEMORY, API_DRIVER}}, + // no analogue + {"cuMemsetD8Async", {"hipMemsetD8Async", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaMallocMipmappedArray due to different signatures + {"cuMipmappedArrayCreate", {"hipMipmappedArrayCreate", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaFreeMipmappedArray due to different signatures + {"cuMipmappedArrayDestroy", {"hipMipmappedArrayDestroy", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaGetMipmappedArrayLevel due to different signatures + {"cuMipmappedArrayGetLevel", {"hipMipmappedArrayGetLevel", CONV_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, - // Module Management - {"cuLinkAddData", {"hipLinkAddData", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLinkAddFile", {"hipLinkAddFile", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLinkComplete", {"hipLinkComplete", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLinkCreate", {"hipLinkCreate", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLinkDestroy", {"hipLinkDestroy", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuModuleGetFunction", {"hipModuleGetFunction", CONV_MODULE, API_DRIVER}}, - {"cuModuleGetGlobal_v2", {"hipModuleGetGlobal", CONV_MODULE, API_DRIVER}}, - {"cuModuleGetSurfRef", {"hipModuleGetSurfRef", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuModuleGetTexRef", {"hipModuleGetTexRef", CONV_MODULE, API_DRIVER}}, - {"cuModuleLoad", {"hipModuleLoad", CONV_MODULE, API_DRIVER}}, - {"cuModuleLoadData", {"hipModuleLoadData", CONV_MODULE, API_DRIVER}}, - {"cuModuleLoadDataEx", {"hipModuleLoadDataEx", CONV_MODULE, API_DRIVER}}, - {"cuModuleLoadFatBinary", {"hipModuleLoadFatBinary", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuModuleUnload", {"hipModuleUnload", CONV_MODULE, API_DRIVER}}, + // 5.12. Unified Addressing + // cudaMemAdvise + {"cuMemAdvise", {"hipMemAdvise", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, + // TODO: double check cudaMemPrefetchAsync + {"cuMemPrefetchAsync", {"hipMemPrefetchAsync_", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaMemRangeGetAttribute + {"cuMemRangeGetAttribute", {"hipMemRangeGetAttribute", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaMemRangeGetAttributes + {"cuMemRangeGetAttributes", {"hipMemRangeGetAttributes", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuPointerGetAttribute", {"hipPointerGetAttribute", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaPointerGetAttributes due to different signatures + {"cuPointerGetAttributes", {"hipPointerGetAttributes", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuPointerSetAttribute", {"hipPointerSetAttribute", CONV_ADDRESSING, API_DRIVER, HIP_UNSUPPORTED}}, - // Event functions - {"cuEventCreate", {"hipEventCreate", CONV_EVENT, API_DRIVER}}, - {"cuEventDestroy_v2", {"hipEventDestroy", CONV_EVENT, API_DRIVER}}, - {"cuEventElapsedTime", {"hipEventElapsedTime", CONV_EVENT, API_DRIVER}}, - {"cuEventQuery", {"hipEventQuery", CONV_EVENT, API_DRIVER}}, - {"cuEventRecord", {"hipEventRecord", CONV_EVENT, API_DRIVER}}, - {"cuEventSynchronize", {"hipEventSynchronize", CONV_EVENT, API_DRIVER}}, + // 5.13. Stream Management + // cudaStreamAddCallback + {"cuStreamAddCallback", {"hipStreamAddCallback", CONV_STREAM, API_DRIVER}}, + // cudaStreamAttachMemAsync + {"cuStreamAttachMemAsync", {"hipStreamAttachMemAsync", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaStreamBeginCapture + {"cuStreamBeginCapture", {"hipStreamBeginCapture", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaStreamCreateWithFlags + {"cuStreamCreate", {"hipStreamCreateWithFlags", CONV_STREAM, API_DRIVER}}, + // cudaStreamCreateWithPriority + {"cuStreamCreateWithPriority", {"hipStreamCreateWithPriority", CONV_STREAM, API_DRIVER}}, + // cudaStreamDestroy + {"cuStreamDestroy", {"hipStreamDestroy", CONV_STREAM, API_DRIVER}}, + {"cuStreamDestroy_v2", {"hipStreamDestroy", CONV_STREAM, API_DRIVER}}, + // cudaStreamEndCapture + {"cuStreamEndCapture", {"hipStreamEndCapture", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuStreamGetCtx", {"hipStreamGetContext", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaStreamGetFlags + {"cuStreamGetFlags", {"hipStreamGetFlags", CONV_STREAM, API_DRIVER}}, + // cudaStreamGetPriority + {"cuStreamGetPriority", {"hipStreamGetPriority", CONV_STREAM, API_DRIVER}}, + // cudaStreamIsCapturing + {"cuStreamIsCapturing", {"hipStreamIsCapturing", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaStreamQuery + {"cuStreamQuery", {"hipStreamQuery", CONV_STREAM, API_DRIVER}}, + // cudaStreamSynchronize + {"cuStreamSynchronize", {"hipStreamSynchronize", CONV_STREAM, API_DRIVER}}, + // cudaStreamWaitEvent + {"cuStreamWaitEvent", {"hipStreamWaitEvent", CONV_STREAM, API_DRIVER}}, - // External Resource Interoperability - {"cuSignalExternalSemaphoresAsync", {"hipSignalExternalSemaphoresAsync", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuWaitExternalSemaphoresAsync", {"hipWaitExternalSemaphoresAsync", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuImportExternalMemory", {"hipImportExternalMemory", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuExternalMemoryGetMappedBuffer", {"hipExternalMemoryGetMappedBuffer", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuExternalMemoryGetMappedMipmappedArray", {"hipExternalMemoryGetMappedMipmappedArray", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuDestroyExternalMemory", {"hipDestroyExternalMemory", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuImportExternalSemaphore", {"hipImportExternalSemaphore", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuDestroyExternalSemaphore", {"hipDestroyExternalSemaphore", CONV_EXTERNAL_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.14. Event Management + // cudaEventCreateWithFlags + {"cuEventCreate", {"hipEventCreateWithFlags", CONV_EVENT, API_DRIVER}}, + // cudaEventDestroy + {"cuEventDestroy", {"hipEventDestroy", CONV_EVENT, API_DRIVER}}, + {"cuEventDestroy_v2", {"hipEventDestroy", CONV_EVENT, API_DRIVER}}, + // cudaEventElapsedTime + {"cuEventElapsedTime", {"hipEventElapsedTime", CONV_EVENT, API_DRIVER}}, + // cudaEventQuery + {"cuEventQuery", {"hipEventQuery", CONV_EVENT, API_DRIVER}}, + // cudaEventRecord + {"cuEventRecord", {"hipEventRecord", CONV_EVENT, API_DRIVER}}, + // cudaEventSynchronize + {"cuEventSynchronize", {"hipEventSynchronize", CONV_EVENT, API_DRIVER}}, - // Execution Control - {"cuFuncGetAttribute", {"hipFuncGetAttribute", CONV_EXEC, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuFuncSetCacheConfig", {"hipFuncSetCacheConfig", CONV_EXEC, API_DRIVER}}, - {"cuFuncSetSharedMemConfig", {"hipFuncSetSharedMemConfig", CONV_EXEC, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLaunchKernel", {"hipModuleLaunchKernel", CONV_EXEC, API_DRIVER}}, - {"cuLaunchHostFunc", {"hipLaunchHostFunc", CONV_EXEC, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.15. External Resource Interoperability + // cudaDestroyExternalMemory + {"cuDestroyExternalMemory", {"hipDestroyExternalMemory", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaDestroyExternalSemaphore + {"cuDestroyExternalSemaphore", {"hipDestroyExternalSemaphore", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaExternalMemoryGetMappedBuffer + {"cuExternalMemoryGetMappedBuffer", {"hipExternalMemoryGetMappedBuffer", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaExternalMemoryGetMappedMipmappedArray + {"cuExternalMemoryGetMappedMipmappedArray", {"hipExternalMemoryGetMappedMipmappedArray", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaImportExternalMemory + {"cuImportExternalMemory", {"hipImportExternalMemory", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaImportExternalSemaphore + {"cuImportExternalSemaphore", {"hipImportExternalSemaphore", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaSignalExternalSemaphoresAsync + {"cuSignalExternalSemaphoresAsync", {"hipSignalExternalSemaphoresAsync", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaWaitExternalSemaphoresAsync + {"cuWaitExternalSemaphoresAsync", {"hipWaitExternalSemaphoresAsync", CONV_EXT_RES, API_DRIVER, HIP_UNSUPPORTED}}, - // Execution Control [DEPRECATED] - {"cuFuncSetBlockShape", {"hipFuncSetBlockShape", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuFuncSetSharedSize", {"hipFuncSetSharedSize", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLaunch", {"hipLaunch", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaLaunch) - {"cuLaunchGrid", {"hipLaunchGrid", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuLaunchGridAsync", {"hipLaunchGridAsync", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuParamSetf", {"hipParamSetf", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuParamSeti", {"hipParamSeti", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuParamSetSize", {"hipParamSetSize", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuParamSetSize", {"hipParamSetSize", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuParamSetv", {"hipParamSetv", CONV_MODULE, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.16. Stream Memory Operations + // no analogues + {"cuStreamBatchMemOp", {"hipStreamBatchMemOp", CONV_STREAM_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuStreamWaitValue32", {"hipStreamWaitValue32", CONV_STREAM_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuStreamWaitValue64", {"hipStreamWaitValue64", CONV_STREAM_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuStreamWriteValue32", {"hipStreamWriteValue32", CONV_STREAM_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuStreamWriteValue64", {"hipStreamWriteValue64", CONV_STREAM_MEMORY, API_DRIVER, HIP_UNSUPPORTED}}, - // Graph Management - {"cuGraphCreate", {"hipGraphCreate", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphLaunch", {"hipGraphLaunch", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddKernelNode", {"hipGraphAddKernelNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphKernelNodeGetParams", {"hipGraphKernelNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphKernelNodeSetParams", {"hipGraphKernelNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddMemcpyNode", {"hipGraphAddMemcpyNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphMemcpyNodeGetParams", {"hipGraphMemcpyNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphMemcpyNodeSetParams", {"hipGraphMemcpyNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddMemsetNode", {"hipGraphAddMemsetNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphMemsetNodeGetParams", {"hipGraphMemsetNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphMemsetNodeSetParams", {"hipGraphMemsetNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddHostNode", {"hipGraphAddHostNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphHostNodeGetParams", {"hipGraphHostNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphHostNodeSetParams", {"hipGraphHostNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddChildGraphNode", {"hipGraphAddChildGraphNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphChildGraphNodeGetGraph", {"hipGraphChildGraphNodeGetGraph", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddEmptyNode", {"hipGraphAddEmptyNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphClone", {"hipGraphClone", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphNodeFindInClone", {"hipGraphNodeFindInClone", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphNodeGetType", {"hipGraphNodeGetType", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphGetNodes", {"hipGraphGetNodes", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphGetRootNodes", {"hipGraphGetRootNodes", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphGetEdges", {"hipGraphGetEdges", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphNodeGetDependencies", {"hipGraphNodeGetDependencies", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphNodeGetDependentNodes", {"hipGraphNodeGetDependentNodes", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphAddDependencies", {"hipGraphAddDependencies", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphRemoveDependencies", {"hipGraphRemoveDependencies", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphDestroyNode", {"hipGraphDestroyNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphInstantiate", {"hipGraphInstantiate", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphExecDestroy", {"hipGraphExecDestroy", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGraphDestroy", {"hipGraphDestroy", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.17.Execution Control + // no analogue + {"cuFuncGetAttribute", {"hipFuncGetAttribute", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaFuncSetAttribute due to different signatures + {"cuFuncSetAttribute", {"hipFuncSetAttribute", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaFuncSetCacheConfig due to different signatures + {"cuFuncSetCacheConfig", {"hipFuncSetCacheConfig", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaFuncSetCacheConfig due to different signatures + {"cuFuncSetSharedMemConfig", {"hipFuncSetSharedMemConfig", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaLaunchCooperativeKernel due to different signatures + {"cuLaunchCooperativeKernel", {"hipLaunchCooperativeKernel", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaLaunchCooperativeKernelMultiDevice due to different signatures + {"cuLaunchCooperativeKernelMultiDevice", {"hipLaunchCooperativeKernelMultiDevice", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaLaunchHostFunc + {"cuLaunchHostFunc", {"hipLaunchHostFunc", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaLaunchKernel due to different signatures + {"cuLaunchKernel", {"hipModuleLaunchKernel", CONV_EXECUTION, API_DRIVER}}, - // Occupancy - {"cuOccupancyMaxActiveBlocksPerMultiprocessor", {"hipOccupancyMaxActiveBlocksPerMultiprocessor", CONV_OCCUPANCY, API_DRIVER}}, // API_Runtime ANALOGUE (cudaOccupancyMaxActiveBlocksPerMultiprocessor) - {"cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", {"hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", CONV_OCCUPANCY, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags) - {"cuOccupancyMaxPotentialBlockSize", {"hipOccupancyMaxPotentialBlockSize", CONV_OCCUPANCY, API_DRIVER}}, // API_Runtime ANALOGUE (cudaOccupancyMaxPotentialBlockSize) - {"cuOccupancyMaxPotentialBlockSizeWithFlags", {"hipOccupancyMaxPotentialBlockSizeWithFlags", CONV_OCCUPANCY, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaOccupancyMaxPotentialBlockSizeWithFlags) + // 5.18.Execution Control [DEPRECATED] + // no analogue + {"cuFuncSetBlockShape", {"hipFuncSetBlockShape", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuFuncSetSharedSize", {"hipFuncSetSharedSize", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaLaunch due to different signatures + {"cuLaunch", {"hipLaunch", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuLaunchGrid", {"hipLaunchGrid", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuLaunchGridAsync", {"hipLaunchGridAsync", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuParamSetf", {"hipParamSetf", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuParamSeti", {"hipParamSeti", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuParamSetSize", {"hipParamSetSize", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuParamSetTexRef", {"hipParamSetTexRef", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuParamSetv", {"hipParamSetv", CONV_EXECUTION, API_DRIVER, HIP_UNSUPPORTED}}, - // Streams - {"cuStreamAddCallback", {"hipStreamAddCallback", CONV_STREAM, API_DRIVER}}, - {"cuStreamAttachMemAsync", {"hipStreamAttachMemAsync", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuStreamCreate", {"hipStreamCreate__", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaStreamCreate due to different signatures - {"cuStreamCreateWithPriority", {"hipStreamCreateWithPriority", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuStreamDestroy_v2", {"hipStreamDestroy", CONV_STREAM, API_DRIVER}}, - {"cuStreamGetFlags", {"hipStreamGetFlags", CONV_STREAM, API_DRIVER}}, - {"cuStreamGetPriority", {"hipStreamGetPriority", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuStreamQuery", {"hipStreamQuery", CONV_STREAM, API_DRIVER}}, - {"cuStreamSynchronize", {"hipStreamSynchronize", CONV_STREAM, API_DRIVER}}, - {"cuStreamWaitEvent", {"hipStreamWaitEvent", CONV_STREAM, API_DRIVER}}, - {"cuStreamWaitValue32", {"hipStreamWaitValue32", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuStreamWaitValue64", {"hipStreamWaitValue64", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuStreamWriteValue32", {"hipStreamWriteValue32", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuStreamWriteValue64", {"hipStreamWriteValue64", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuStreamBatchMemOp", {"hipStreamBatchMemOp", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuStreamBeginCapture", {"hipStreamBeginCapture", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuStreamEndCapture", {"hipStreamEndCapture", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuStreamIsCapturing", {"hipStreamIsCapturing", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.19. Graph Management + // cudaGraphAddChildGraphNode + {"cuGraphAddChildGraphNode", {"hipGraphAddChildGraphNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphAddDependencies + {"cuGraphAddDependencies", {"hipGraphAddDependencies", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphAddEmptyNode + {"cuGraphAddEmptyNode", {"hipGraphAddEmptyNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphAddHostNode + {"cuGraphAddHostNode", {"hipGraphAddHostNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphAddKernelNode + {"cuGraphAddKernelNode", {"hipGraphAddKernelNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphAddMemcpyNode + {"cuGraphAddMemcpyNode", {"hipGraphAddMemcpyNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphAddMemsetNode + {"cuGraphAddMemsetNode", {"hipGraphAddMemsetNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphChildGraphNodeGetGraph + {"cuGraphChildGraphNodeGetGraph", {"hipGraphChildGraphNodeGetGraph", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphClone + {"cuGraphClone", {"hipGraphClone", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphCreate + {"cuGraphCreate", {"hipGraphCreate", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphDestroy + {"cuGraphDestroy", {"hipGraphDestroy", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphDestroyNode + {"cuGraphDestroyNode", {"hipGraphDestroyNode", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphExecDestroy + {"cuGraphExecDestroy", {"hipGraphExecDestroy", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphGetEdges + {"cuGraphGetEdges", {"hipGraphGetEdges", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphGetNodes + {"cuGraphGetNodes", {"hipGraphGetNodes", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphGetRootNodes + {"cuGraphGetRootNodes", {"hipGraphGetRootNodes", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphHostNodeGetParams + {"cuGraphHostNodeGetParams", {"hipGraphHostNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphHostNodeSetParams + {"cuGraphHostNodeSetParams", {"hipGraphHostNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphInstantiate + {"cuGraphInstantiate", {"hipGraphInstantiate", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphKernelNodeGetParams + {"cuGraphKernelNodeGetParams", {"hipGraphKernelNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphKernelNodeSetParams + {"cuGraphKernelNodeSetParams", {"hipGraphKernelNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphLaunch + {"cuGraphLaunch", {"hipGraphLaunch", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphMemcpyNodeGetParams + {"cuGraphMemcpyNodeGetParams", {"hipGraphMemcpyNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphMemcpyNodeSetParams + {"cuGraphMemcpyNodeSetParams", {"hipGraphMemcpyNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphMemsetNodeGetParams + {"cuGraphMemsetNodeGetParams", {"hipGraphMemsetNodeGetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphMemsetNodeSetParams + {"cuGraphMemsetNodeSetParams", {"hipGraphMemsetNodeSetParams", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphNodeFindInClone + {"cuGraphNodeFindInClone", {"hipGraphNodeFindInClone", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphNodeGetDependencies + {"cuGraphNodeGetDependencies", {"hipGraphNodeGetDependencies", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphNodeGetDependentNodes + {"cuGraphNodeGetDependentNodes", {"hipGraphNodeGetDependentNodes", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphNodeGetType + {"cuGraphNodeGetType", {"hipGraphNodeGetType", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphRemoveDependencies + {"cuGraphRemoveDependencies", {"hipGraphRemoveDependencies", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, - // Memory management - {"cuArray3DCreate", {"hipArray3DCreate", CONV_MEM, API_DRIVER}}, - {"cuArray3DGetDescriptor", {"hipArray3DGetDescriptor", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuArrayCreate", {"hipArrayCreate", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuArrayDestroy", {"hipArrayDestroy", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuArrayGetDescriptor", {"hipArrayGetDescriptor", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuIpcCloseMemHandle", {"hipIpcCloseMemHandle", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuIpcGetEventHandle", {"hipIpcGetEventHandle", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuIpcGetMemHandle", {"hipIpcGetMemHandle", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuIpcOpenEventHandle", {"hipIpcOpenEventHandle", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuIpcOpenMemHandle", {"hipIpcOpenMemHandle", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemAlloc_v2", {"hipMalloc", CONV_MEM, API_DRIVER}}, - {"cuMemAllocHost", {"hipMemAllocHost", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemAllocManaged", {"hipMemAllocManaged", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemAllocPitch", {"hipMemAllocPitch__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemAllocPitch due to different signatures - {"cuMemcpy", {"hipMemcpy__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy due to different signatures - {"cuMemcpy2D", {"hipMemcpy2D__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy2D due to different signatures - {"cuMemcpy2DAsync", {"hipMemcpy2DAsync__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy2DAsync due to different signatures - {"cuMemcpy2DUnaligned", {"hipMemcpy2DUnaligned", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpy3D", {"hipMemcpy3D__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy3D due to different signatures - {"cuMemcpy3DAsync", {"hipMemcpy3DAsync__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy3DAsync due to different signatures - {"cuMemcpy3DPeer", {"hipMemcpy3DPeer__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy3DPeer due to different signatures - {"cuMemcpy3DPeerAsync", {"hipMemcpy3DPeerAsync__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpy3DPeerAsync due to different signatures - {"cuMemcpyAsync", {"hipMemcpyAsync__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpyAsync due to different signatures - {"cuMemcpyAtoA", {"hipMemcpyAtoA", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyAtoD", {"hipMemcpyAtoD", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyAtoH", {"hipMemcpyAtoH", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyAtoHAsync", {"hipMemcpyAtoHAsync", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyDtoA", {"hipMemcpyDtoA", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyDtoD_v2", {"hipMemcpyDtoD", CONV_MEM, API_DRIVER}}, - {"cuMemcpyDtoDAsync_v2", {"hipMemcpyDtoDAsync", CONV_MEM, API_DRIVER}}, - {"cuMemcpyDtoH_v2", {"hipMemcpyDtoH", CONV_MEM, API_DRIVER}}, - {"cuMemcpyDtoHAsync_v2", {"hipMemcpyDtoHAsync", CONV_MEM, API_DRIVER}}, - {"cuMemcpyHtoA", {"hipMemcpyHtoA", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyHtoAAsync", {"hipMemcpyHtoAAsync", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemcpyHtoD_v2", {"hipMemcpyHtoD", CONV_MEM, API_DRIVER}}, - {"cuMemcpyHtoDAsync_v2", {"hipMemcpyHtoDAsync", CONV_MEM, API_DRIVER}}, - {"cuMemcpyPeerAsync", {"hipMemcpyPeerAsync__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpyPeerAsync due to different signatures - {"cuMemcpyPeer", {"hipMemcpyPeer__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaMemcpyPeer due to different signatures - {"cuMemFree_v2", {"hipFree", CONV_MEM, API_DRIVER}}, - {"cuMemFreeHost", {"hipHostFree", CONV_MEM, API_DRIVER}}, - {"cuMemGetAddressRange", {"hipMemGetAddressRange", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemGetInfo_v2", {"hipMemGetInfo", CONV_MEM, API_DRIVER}}, - {"cuMemHostAlloc", {"hipHostMalloc", CONV_MEM, API_DRIVER}}, // API_Runtime ANALOGUE (cudaHostAlloc) - {"cuMemHostGetDevicePointer", {"hipMemHostGetDevicePointer", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemHostGetFlags", {"hipMemHostGetFlags", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemHostRegister_v2", {"hipHostRegister", CONV_MEM, API_DRIVER}}, // API_Runtime ANALOGUE (cudaHostAlloc) - {"cuMemHostUnregister", {"hipHostUnregister", CONV_MEM, API_DRIVER}}, // API_Runtime ANALOGUE (cudaHostUnregister) - {"cuMemsetD16_v2", {"hipMemsetD16", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD16Async", {"hipMemsetD16Async", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD2D16_v2", {"hipMemsetD2D16", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD2D16Async", {"hipMemsetD2D16Async", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD2D32_v2", {"hipMemsetD2D32", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD2D32Async", {"hipMemsetD2D32Async", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD2D8_v2", {"hipMemsetD2D8", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD2D8Async", {"hipMemsetD2D8Async", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD32_v2", {"hipMemset", CONV_MEM, API_DRIVER}}, // API_Runtime ANALOGUE (cudaMemset) - {"cuMemsetD32Async", {"hipMemsetAsync", CONV_MEM, API_DRIVER}}, // API_Runtime ANALOGUE (cudaMemsetAsync) - {"cuMemsetD8_v2", {"hipMemsetD8", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMemsetD8Async", {"hipMemsetD8Async", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMipmappedArrayCreate", {"hipMipmappedArrayCreate", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMipmappedArrayDestroy", {"hipMipmappedArrayDestroy", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuMipmappedArrayGetLevel", {"hipMipmappedArrayGetLevel", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.20. Occupancy + // cudaOccupancyMaxActiveBlocksPerMultiprocessor + {"cuOccupancyMaxActiveBlocksPerMultiprocessor", {"hipOccupancyMaxActiveBlocksPerMultiprocessor", CONV_OCCUPANCY, API_DRIVER}}, + // cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags + {"cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", {"hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", CONV_OCCUPANCY, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaOccupancyMaxPotentialBlockSize + {"cuOccupancyMaxPotentialBlockSize", {"hipOccupancyMaxPotentialBlockSize", CONV_OCCUPANCY, API_DRIVER}}, + // cudaOccupancyMaxPotentialBlockSizeWithFlags + {"cuOccupancyMaxPotentialBlockSizeWithFlags", {"hipOccupancyMaxPotentialBlockSizeWithFlags", CONV_OCCUPANCY, API_DRIVER, HIP_UNSUPPORTED}}, - // Unified Addressing - {"cuMemPrefetchAsync", {"hipMemPrefetchAsync__", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // // no API_Runtime ANALOGUE (cudaMemPrefetchAsync has different signature) - {"cuMemAdvise", {"hipMemAdvise", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // // API_Runtime ANALOGUE (cudaMemAdvise) - {"cuMemRangeGetAttribute", {"hipMemRangeGetAttribute", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // // API_Runtime ANALOGUE (cudaMemRangeGetAttribute) - {"cuMemRangeGetAttributes", {"hipMemRangeGetAttributes", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, // // API_Runtime ANALOGUE (cudaMemRangeGetAttributes) - {"cuPointerGetAttribute", {"hipPointerGetAttribute", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuPointerGetAttributes", {"hipPointerGetAttributes", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuPointerSetAttribute", {"hipPointerSetAttribute", CONV_MEM, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.21. Texture Reference Management + // no analogues + {"cuTexRefGetAddress", {"hipTexRefGetAddress", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetAddress_v2", {"hipTexRefGetAddress", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetAddressMode", {"hipTexRefGetAddressMode", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetArray", {"hipTexRefGetArray", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetBorderColor", {"hipTexRefGetBorderColor", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetFilterMode", {"hipTexRefGetFilterMode", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetFlags", {"hipTexRefGetFlags", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetFormat", {"hipTexRefGetFormat", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetMaxAnisotropy", {"hipTexRefGetMaxAnisotropy", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetMipmapFilterMode", {"hipTexRefGetMipmapFilterMode", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetMipmapLevelBias", {"hipTexRefGetMipmapLevelBias", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetMipmapLevelClamp", {"hipTexRefGetMipmapLevelClamp", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefGetMipmappedArray", {"hipTexRefGetMipmappedArray", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefSetAddress", {"hipTexRefSetAddress", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetAddress_v2", {"hipTexRefSetAddress", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetAddress2D", {"hipTexRefSetAddress2D", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetAddress2D_v2", {"hipTexRefSetAddress2D", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetAddress2D_v3", {"hipTexRefSetAddress2D", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetAddressMode", {"hipTexRefSetAddressMode", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetArray", {"hipTexRefSetArray", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetBorderColor", {"hipTexRefSetBorderColor", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefSetFilterMode", {"hipTexRefSetFilterMode", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetFlags", {"hipTexRefSetFlags", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetFormat", {"hipTexRefSetFormat", CONV_TEXTURE, API_DRIVER}}, + {"cuTexRefSetMaxAnisotropy", {"hipTexRefSetMaxAnisotropy", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefSetMipmapFilterMode", {"hipTexRefSetMipmapFilterMode", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefSetMipmapLevelBias", {"hipTexRefSetMipmapLevelBias", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefSetMipmapLevelClamp", {"hipTexRefSetMipmapLevelClamp", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefSetMipmappedArray", {"hipTexRefSetMipmappedArray", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, - // Texture Reference Mngmnt + // 5.22. Texture Reference Management [DEPRECATED] + // no analogues + {"cuTexRefCreate", {"hipTexRefCreate", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuTexRefDestroy", {"hipTexRefDestroy", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetAddress", {"hipTexRefGetAddress", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetAddressMode", {"hipTexRefGetAddressMode", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetArray", {"hipTexRefGetArray", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetBorderColor", {"hipTexRefGetBorderColor", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, // // no API_Runtime ANALOGUE - {"cuTexRefGetFilterMode", {"hipTexRefGetFilterMode", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetFlags", {"hipTexRefGetFlags", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetFormat", {"hipTexRefGetFormat", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetMaxAnisotropy", {"hipTexRefGetMaxAnisotropy", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetMipmapFilterMode", {"hipTexRefGetMipmapFilterMode", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetMipmapLevelBias", {"hipTexRefGetMipmapLevelBias", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetMipmapLevelClamp", {"hipTexRefGetMipmapLevelClamp", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefGetMipmappedArray", {"hipTexRefGetMipmappedArray", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetAddress", {"hipTexRefSetAddress", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetAddress2D", {"hipTexRefSetAddress2D", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetAddressMode", {"hipTexRefSetAddressMode", CONV_TEX, API_DRIVER}}, - {"cuTexRefSetArray", {"hipTexRefSetArray", CONV_TEX, API_DRIVER}}, - {"cuTexRefSetBorderColor", {"hipTexRefSetBorderColor", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, // // no API_Runtime ANALOGUE - {"cuTexRefSetFilterMode", {"hipTexRefSetFilterMode", CONV_TEX, API_DRIVER}}, - {"cuTexRefSetFlags", {"hipTexRefSetFlags", CONV_TEX, API_DRIVER}}, - {"cuTexRefSetFormat", {"hipTexRefSetFormat", CONV_TEX, API_DRIVER}}, - {"cuTexRefSetMaxAnisotropy", {"hipTexRefSetMaxAnisotropy", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetMipmapFilterMode", {"hipTexRefSetMipmapFilterMode", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetMipmapLevelBias", {"hipTexRefSetMipmapLevelBias", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetMipmapLevelClamp", {"hipTexRefSetMipmapLevelClamp", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefSetMipmappedArray", {"hipTexRefSetMipmappedArray", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.23. Surface Reference Management + // no analogues + {"cuSurfRefGetArray", {"hipSurfRefGetArray", CONV_SURFACE, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuSurfRefSetArray", {"hipSurfRefSetArray", CONV_SURFACE, API_DRIVER, HIP_UNSUPPORTED}}, - // Texture Reference Mngmnt [DEPRECATED] - {"cuTexRefCreate", {"hipTexRefCreate", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexRefDestroy", {"hipTexRefDestroy", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.24. Texture Object Management + // no analogue + // NOTE: Not equal to cudaCreateTextureObject due to different signatures + {"cuTexObjectCreate", {"hipTexObjectCreate", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaDestroyTextureObject + {"cuTexObjectDestroy", {"hipTexObjectDestroy", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaGetTextureObjectResourceDesc due to different signatures + {"cuTexObjectGetResourceDesc", {"hipTexObjectGetResourceDesc", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGetTextureObjectResourceViewDesc + {"cuTexObjectGetResourceViewDesc", {"hipTexObjectGetResourceViewDesc", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaGetTextureObjectTextureDesc due to different signatures + {"cuTexObjectGetTextureDesc", {"hipTexObjectGetTextureDesc", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, - // Surface Reference Mngmnt - {"cuSurfRefGetArray", {"hipSurfRefGetArray", CONV_SURFACE, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuSurfRefSetArray", {"hipSurfRefSetArray", CONV_SURFACE, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.25. Surface Object Management + // no analogue + // NOTE: Not equal to cudaCreateSurfaceObject due to different signatures + {"cuSurfObjectCreate", {"hipSurfObjectCreate", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaDestroySurfaceObject + {"cuSurfObjectDestroy", {"hipSurfObjectDestroy", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cudaGetSurfaceObjectResourceDesc due to different signatures + {"cuSurfObjectGetResourceDesc", {"hipSurfObjectGetResourceDesc", CONV_TEXTURE, API_DRIVER, HIP_UNSUPPORTED}}, - // Texture Object Mngmnt - {"cuTexObjectCreate", {"hipTexObjectCreate", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexObjectDestroy", {"hipTexObjectDestroy", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexObjectGetResourceDesc", {"hipTexObjectGetResourceDesc", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexObjectGetResourceViewDesc", {"hipTexObjectGetResourceViewDesc", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuTexObjectGetTextureDesc", {"hipTexObjectGetTextureDesc", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.26. Peer Context Memory Access + // no analogue + // NOTE: Not equal to cudaDeviceEnablePeerAccess due to different signatures + {"cuCtxEnablePeerAccess", {"hipCtxEnablePeerAccess", CONV_PEER, API_DRIVER}}, + // no analogue + // NOTE: Not equal to cudaDeviceDisablePeerAccess due to different signatures + {"cuCtxDisablePeerAccess", {"hipCtxDisablePeerAccess", CONV_PEER, API_DRIVER}}, + // cudaDeviceCanAccessPeer + {"cuDeviceCanAccessPeer", {"hipDeviceCanAccessPeer", CONV_PEER, API_DRIVER}}, + // cudaDeviceGetP2PAttribute + {"cuDeviceGetP2PAttribute", {"hipDeviceGetP2PAttribute", CONV_PEER, API_DRIVER, HIP_UNSUPPORTED}}, - // Surface Object Mngmnt - {"cuSurfObjectCreate", {"hipSurfObjectCreate", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuSurfObjectDestroy", {"hipSurfObjectDestroy", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuSurfObjectGetResourceDesc", {"hipSurfObjectGetResourceDesc", CONV_TEX, API_DRIVER, HIP_UNSUPPORTED}}, + // 5.27. Graphics Interoperability + // cudaGraphicsMapResources + {"cuGraphicsMapResources", {"hipGraphicsMapResources", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsResourceGetMappedMipmappedArray + {"cuGraphicsResourceGetMappedMipmappedArray", {"hipGraphicsResourceGetMappedMipmappedArray", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsResourceGetMappedPointer + {"cuGraphicsResourceGetMappedPointer", {"hipGraphicsResourceGetMappedPointer", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsResourceGetMappedPointer + {"cuGraphicsResourceGetMappedPointer_v2", {"hipGraphicsResourceGetMappedPointer", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsResourceSetMapFlags + {"cuGraphicsResourceSetMapFlags", {"hipGraphicsResourceSetMapFlags", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsResourceSetMapFlags + {"cuGraphicsResourceSetMapFlags_v2", {"hipGraphicsResourceSetMapFlags", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsSubResourceGetMappedArray + {"cuGraphicsSubResourceGetMappedArray", {"hipGraphicsSubResourceGetMappedArray", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsUnmapResources + {"cuGraphicsUnmapResources", {"hipGraphicsUnmapResources", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsUnregisterResource + {"cuGraphicsUnregisterResource", {"hipGraphicsUnregisterResource", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, - // Graphics Interoperability - {"cuGraphicsMapResources", {"hipGraphicsMapResources", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsMapResources) - {"cuGraphicsResourceGetMappedMipmappedArray", {"hipGraphicsResourceGetMappedMipmappedArray", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsResourceGetMappedMipmappedArray) - {"cuGraphicsResourceGetMappedPointer", {"hipGraphicsResourceGetMappedPointer", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsResourceGetMappedPointer) - {"cuGraphicsResourceSetMapFlags", {"hipGraphicsResourceSetMapFlags", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsResourceSetMapFlags) - {"cuGraphicsSubResourceGetMappedArray", {"hipGraphicsSubResourceGetMappedArray", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsSubResourceGetMappedArray) - {"cuGraphicsUnmapResources", {"hipGraphicsUnmapResources", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsUnmapResources) - {"cuGraphicsUnregisterResource", {"hipGraphicsUnregisterResource", CONV_GRAPHICS, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsUnregisterResource) + // 5.28. Profiler Control + // cudaProfilerInitialize + {"cuProfilerInitialize", {"hipProfilerInitialize", CONV_PROFILER, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaProfilerStart + {"cuProfilerStart", {"hipProfilerStart", CONV_PROFILER, API_DRIVER}}, + // cudaProfilerStop + {"cuProfilerStop", {"hipProfilerStop", CONV_PROFILER, API_DRIVER}}, - // Profiler - {"cuProfilerInitialize", {"hipProfilerInitialize", CONV_OTHER, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaProfilerInitialize) - {"cuProfilerStart", {"hipProfilerStart", CONV_OTHER, API_DRIVER}}, // API_Runtime ANALOGUE (cudaProfilerStart) - {"cuProfilerStop", {"hipProfilerStop", CONV_OTHER, API_DRIVER}}, // API_Runtime ANALOGUE (cudaProfilerStop) + // 5.29. OpenGL Interoperability + // cudaGLGetDevices + {"cuGLGetDevices", {"hipGLGetDevices", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsGLRegisterBuffer + {"cuGraphicsGLRegisterBuffer", {"hipGraphicsGLRegisterBuffer", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsGLRegisterImage + {"cuGraphicsGLRegisterImage", {"hipGraphicsGLRegisterImage", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaWGLGetDevice + {"cuWGLGetDevice", {"hipWGLGetDevice", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGLGetDevices", {"hipGLGetDevices", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGLGetDevices) - {"cuGraphicsGLRegisterBuffer", {"hipGraphicsGLRegisterBuffer", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsGLRegisterBuffer) - {"cuGraphicsGLRegisterImage", {"hipGraphicsGLRegisterImage", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsGLRegisterImage) - {"cuWGLGetDevice", {"hipWGLGetDevice", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaWGLGetDevice) + // 5.29. OpenGL Interoperability [DEPRECATED] + // no analogue + {"cuGLCtxCreate", {"hipGLCtxCreate", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuGLInit", {"hipGLInit", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // NOTE: Not equal to cudaGLMapBufferObject due to different signatures + {"cuGLMapBufferObject", {"hipGLMapBufferObject", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // NOTE: Not equal to cudaGLMapBufferObjectAsync due to different signatures + {"cuGLMapBufferObjectAsync", {"hipGLMapBufferObjectAsync", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGLRegisterBufferObject + {"cuGLRegisterBufferObject", {"hipGLRegisterBufferObject", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGLSetBufferObjectMapFlags + {"cuGLSetBufferObjectMapFlags", {"hipGLSetBufferObjectMapFlags", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGLUnmapBufferObject + {"cuGLUnmapBufferObject", {"hipGLUnmapBufferObject", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGLUnmapBufferObjectAsync + {"cuGLUnmapBufferObjectAsync", {"hipGLUnmapBufferObjectAsync", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGLUnregisterBufferObject + {"cuGLUnregisterBufferObject", {"hipGLUnregisterBufferObject", CONV_OPENGL, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuGLCtxCreate", {"hipGLCtxCreate", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuGLInit", {"hipGLInit", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuGLMapBufferObject", {"hipGLMapBufferObject", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaGLMapBufferObject due to different signatures - {"cuGLMapBufferObjectAsync", {"hipGLMapBufferObjectAsync", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // Not equal to cudaGLMapBufferObjectAsync due to different signatures - {"cuGLRegisterBufferObject", {"hipGLRegisterBufferObject", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGLRegisterBufferObject) - {"cuGLSetBufferObjectMapFlags", {"hipGLSetBufferObjectMapFlags", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGLSetBufferObjectMapFlags) - {"cuGLUnmapBufferObject", {"hipGLUnmapBufferObject", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGLUnmapBufferObject) - {"cuGLUnmapBufferObjectAsync", {"hipGLUnmapBufferObjectAsync", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGLUnmapBufferObjectAsync) - {"cuGLUnregisterBufferObject", {"hipGLUnregisterBufferObject", CONV_GL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGLUnregisterBufferObject) + // 5.30.Direct3D 9 Interoperability + // no analogue + {"cuD3D9CtxCreate", {"hipD3D9CtxCreate", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuD3D9CtxCreateOnDevice", {"hipD3D9CtxCreateOnDevice", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9GetDevice + {"cuD3D9GetDevice", {"hipD3D9GetDevice", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9GetDevices + {"cuD3D9GetDevices", {"hipD3D9GetDevices", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9GetDirect3DDevice + {"cuD3D9GetDirect3DDevice", {"hipD3D9GetDirect3DDevice", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsD3D9RegisterResource + {"cuGraphicsD3D9RegisterResource", {"hipGraphicsD3D9RegisterResource", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuD3D9CtxCreate", {"hipD3D9CtxCreate", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuD3D9CtxCreateOnDevice", {"hipD3D9CtxCreateOnDevice", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuD3D9GetDevice", {"hipD3D9GetDevice", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9GetDevice) - {"cuD3D9GetDevices", {"hipD3D9GetDevices", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9GetDevices) - {"cuD3D9GetDirect3DDevice", {"hipD3D9GetDirect3DDevice", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9GetDirect3DDevice) - {"cuGraphicsD3D9RegisterResource", {"hipGraphicsD3D9RegisterResource", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsD3D9RegisterResource) + // 5.30.Direct3D 9 Interoperability [DEPRECATED] + // cudaD3D9MapResources + {"cuD3D9MapResources", {"hipD3D9MapResources", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9RegisterResource + {"cuD3D9RegisterResource", {"hipD3D9RegisterResource", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9ResourceGetMappedArray + {"cuD3D9ResourceGetMappedArray", {"hipD3D9ResourceGetMappedArray", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9ResourceGetMappedPitch + {"cuD3D9ResourceGetMappedPitch", {"hipD3D9ResourceGetMappedPitch", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9ResourceGetMappedPointer + {"cuD3D9ResourceGetMappedPointer", {"hipD3D9ResourceGetMappedPointer", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9ResourceGetMappedSize + {"cuD3D9ResourceGetMappedSize", {"hipD3D9ResourceGetMappedSize", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9ResourceGetSurfaceDimensions + {"cuD3D9ResourceGetSurfaceDimensions", {"hipD3D9ResourceGetSurfaceDimensions", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9ResourceSetMapFlags + {"cuD3D9ResourceSetMapFlags", {"hipD3D9ResourceSetMapFlags", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9UnmapResources + {"cuD3D9UnmapResources", {"hipD3D9UnmapResources", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D9UnregisterResource + {"cuD3D9UnregisterResource", {"hipD3D9UnregisterResource", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, - {"cuD3D9MapResources", {"hipD3D9MapResources", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9MapResources) - {"cuD3D9RegisterResource", {"hipD3D9RegisterResource", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9RegisterResource) - {"cuD3D9ResourceGetMappedArray", {"hipD3D9ResourceGetMappedArray", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9ResourceGetMappedArray) - {"cuD3D9ResourceGetMappedPitch", {"hipD3D9ResourceGetMappedPitch", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9ResourceGetMappedPitch) - {"cuD3D9ResourceGetMappedPointer", {"hipD3D9ResourceGetMappedPointer", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9ResourceGetMappedPointer) - {"cuD3D9ResourceGetMappedSize", {"hipD3D9ResourceGetMappedSize", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9ResourceGetMappedSize) - {"cuD3D9ResourceGetSurfaceDimensions", {"hipD3D9ResourceGetSurfaceDimensions", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9ResourceGetSurfaceDimensions) - {"cuD3D9ResourceSetMapFlags", {"hipD3D9ResourceSetMapFlags", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9ResourceSetMapFlags) - {"cuD3D9UnmapResources", {"hipD3D9UnmapResources", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9UnmapResources) - {"cuD3D9UnregisterResource", {"hipD3D9UnregisterResource", CONV_D3D9, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D9UnregisterResource) + // 5.31. Direct3D 10 Interoperability + // cudaD3D10GetDevice + {"cuD3D10GetDevice", {"hipD3D10GetDevice", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10GetDevices + {"cuD3D10GetDevices", {"hipD3D10GetDevices", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsD3D10RegisterResource + {"cuGraphicsD3D10RegisterResource", {"hipGraphicsD3D10RegisterResource", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, - // Direct3D 10 Interoperability - {"cuD3D10GetDevice", {"hipD3D10GetDevice", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10GetDevice) - {"cuD3D10GetDevices", {"hipD3D10GetDevices", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10GetDevices) - {"cuGraphicsD3D10RegisterResource", {"hipGraphicsD3D10RegisterResource", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsD3D10RegisterResource) + // 5.31. Direct3D 10 Interoperability [DEPRECATED] + // no analogue + {"cuD3D10CtxCreate", {"hipD3D10CtxCreate", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuD3D10CtxCreateOnDevice", {"hipD3D10CtxCreateOnDevice", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10GetDirect3DDevice + {"cuD3D10GetDirect3DDevice", {"hipD3D10GetDirect3DDevice", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10MapResources + {"cuD3D10MapResources", {"hipD3D10MapResources", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10RegisterResource + {"cuD3D10RegisterResource", {"hipD3D10RegisterResource", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10ResourceGetMappedArray + {"cuD3D10ResourceGetMappedArray", {"hipD3D10ResourceGetMappedArray", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10ResourceGetMappedPitch + {"cuD3D10ResourceGetMappedPitch", {"hipD3D10ResourceGetMappedPitch", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10ResourceGetMappedPointer + {"cuD3D10ResourceGetMappedPointer", {"hipD3D10ResourceGetMappedPointer", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10ResourceGetMappedSize + {"cuD3D10ResourceGetMappedSize", {"hipD3D10ResourceGetMappedSize", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10ResourceGetSurfaceDimensions + {"cuD3D10ResourceGetSurfaceDimensions", {"hipD3D10ResourceGetSurfaceDimensions", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10ResourceSetMapFlags + {"cuD310ResourceSetMapFlags", {"hipD3D10ResourceSetMapFlags", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10UnmapResources + {"cuD3D10UnmapResources", {"hipD3D10UnmapResources", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D10UnregisterResource + {"cuD3D10UnregisterResource", {"hipD3D10UnregisterResource", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, - // Direct3D 10 Interoperability [DEPRECATED] - {"cuD3D10CtxCreate", {"hipD3D10CtxCreate", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuD3D10CtxCreateOnDevice", {"hipD3D10CtxCreateOnDevice", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuD3D10GetDirect3DDevice", {"hipD3D10GetDirect3DDevice", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10GetDirect3DDevice) - {"cuD3D10MapResources", {"hipD3D10MapResources", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10MapResources) - {"cuD3D10RegisterResource", {"hipD3D10RegisterResource", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10RegisterResource) - {"cuD3D10ResourceGetMappedArray", {"hipD3D10ResourceGetMappedArray", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10ResourceGetMappedArray) - {"cuD3D10ResourceGetMappedPitch", {"hipD3D10ResourceGetMappedPitch", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10ResourceGetMappedPitch) - {"cuD3D10ResourceGetMappedPointer", {"hipD3D10ResourceGetMappedPointer", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10ResourceGetMappedPointer) - {"cuD3D10ResourceGetMappedSize", {"hipD3D10ResourceGetMappedSize", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10ResourceGetMappedSize) - {"cuD3D10ResourceGetSurfaceDimensions", {"hipD3D10ResourceGetSurfaceDimensions", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10ResourceGetSurfaceDimensions) - {"cuD310ResourceSetMapFlags", {"hipD3D10ResourceSetMapFlags", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10ResourceSetMapFlags) - {"cuD3D10UnmapResources", {"hipD3D10UnmapResources", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10UnmapResources) - {"cuD3D10UnregisterResource", {"hipD3D10UnregisterResource", CONV_D3D10, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D10UnregisterResource) + // 5.32. Direct3D 11 Interoperability + // cudaD3D11GetDevice + {"cuD3D11GetDevice", {"hipD3D11GetDevice", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D11GetDevices + {"cuD3D11GetDevices", {"hipD3D11GetDevices", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsD3D11RegisterResource + {"cuGraphicsD3D11RegisterResource", {"hipGraphicsD3D11RegisterResource", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, - // Direct3D 11 Interoperability - {"cuD3D11GetDevice", {"hipD3D11GetDevice", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D11GetDevice) - {"cuD3D11GetDevices", {"hipD3D11GetDevices", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D11GetDevices) - {"cuGraphicsD3D11RegisterResource", {"hipGraphicsD3D11RegisterResource", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsD3D11RegisterResource) + // 5.32. Direct3D 11 Interoperability [DEPRECATED] + // no analogue + {"cuD3D11CtxCreate", {"hipD3D11CtxCreate", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuD3D11CtxCreateOnDevice", {"hipD3D11CtxCreateOnDevice", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaD3D11GetDirect3DDevice + {"cuD3D11GetDirect3DDevice", {"hipD3D11GetDirect3DDevice", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, - // Direct3D 11 Interoperability [DEPRECATED] - {"cuD3D11CtxCreate", {"hipD3D11CtxCreate", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuD3D11CtxCreateOnDevice", {"hipD3D11CtxCreateOnDevice", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuD3D11GetDirect3DDevice", {"hipD3D11GetDirect3DDevice", CONV_D3D11, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaD3D11GetDirect3DDevice) + // 5.33. VDPAU Interoperability + // cudaGraphicsVDPAURegisterOutputSurface + {"cuGraphicsVDPAURegisterOutputSurface", {"hipGraphicsVDPAURegisterOutputSurface", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsVDPAURegisterVideoSurface + {"cuGraphicsVDPAURegisterVideoSurface", {"hipGraphicsVDPAURegisterVideoSurface", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaVDPAUGetDevice + {"cuVDPAUGetDevice", {"hipVDPAUGetDevice", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + {"cuVDPAUCtxCreate", {"hipVDPAUCtxCreate", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, - // VDPAU Interoperability - {"cuGraphicsVDPAURegisterOutputSurface", {"hipGraphicsVDPAURegisterOutputSurface", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsVDPAURegisterOutputSurface) - {"cuGraphicsVDPAURegisterVideoSurface", {"hipGraphicsVDPAURegisterVideoSurface", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsVDPAURegisterVideoSurface) - {"cuVDPAUGetDevice", {"hipVDPAUGetDevice", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaVDPAUGetDevice) - {"cuVDPAUCtxCreate", {"hipVDPAUCtxCreate", CONV_VDPAU, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - - // EGL Interoperability - {"cuEGLStreamConsumerAcquireFrame", {"hipEGLStreamConsumerAcquireFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamConsumerAcquireFrame) - {"cuEGLStreamConsumerConnect", {"hipEGLStreamConsumerConnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamConsumerConnect) - {"cuEGLStreamConsumerConnectWithFlags", {"hipEGLStreamConsumerConnectWithFlags", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamConsumerConnectWithFlags) - {"cuEGLStreamConsumerDisconnect", {"hipEGLStreamConsumerDisconnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // no API_Runtime ANALOGUE - {"cuEGLStreamConsumerReleaseFrame", {"hipEGLStreamConsumerReleaseFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamConsumerReleaseFrame) - {"cuEGLStreamProducerConnect", {"hipEGLStreamProducerConnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamProducerConnect) - {"cuEGLStreamProducerDisconnect", {"hipEGLStreamProducerDisconnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamProducerDisconnect) - {"cuEGLStreamProducerPresentFrame", {"hipEGLStreamProducerPresentFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamProducerPresentFrame) - {"cuEGLStreamProducerReturnFrame", {"hipEGLStreamProducerReturnFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaEGLStreamProducerReturnFrame) - {"cuGraphicsEGLRegisterImage", {"hipGraphicsEGLRegisterImage", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsEGLRegisterImage) - {"cuGraphicsResourceGetMappedEglFrame", {"hipGraphicsResourceGetMappedEglFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, // API_Runtime ANALOGUE (cudaGraphicsResourceGetMappedEglFrame) - - -////////////////////////////// cuComplex API ////////////////////////////// - {"cuFloatComplex", {"hipFloatComplex", CONV_TYPE, API_COMPLEX}}, - {"cuDoubleComplex", {"hipDoubleComplex", CONV_TYPE, API_COMPLEX}}, - {"cuComplex", {"hipComplex", CONV_TYPE, API_COMPLEX}}, - - {"cuCrealf", {"hipCrealf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCimagf", {"hipCimagf", CONV_COMPLEX, API_COMPLEX}}, - {"make_cuFloatComplex", {"make_hipFloatComplex", CONV_COMPLEX, API_COMPLEX}}, - {"cuConjf", {"hipConjf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCaddf", {"hipCaddf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCsubf", {"hipCsubf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCmulf", {"hipCmulf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCdivf", {"hipCdivf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCabsf", {"hipCabsf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCreal", {"hipCreal", CONV_COMPLEX, API_COMPLEX}}, - {"cuCimag", {"hipCimag", CONV_COMPLEX, API_COMPLEX}}, - {"make_cuDoubleComplex", {"make_hipDoubleComplex", CONV_COMPLEX, API_COMPLEX}}, - {"cuConj", {"hipConj", CONV_COMPLEX, API_COMPLEX}}, - {"cuCadd", {"hipCadd", CONV_COMPLEX, API_COMPLEX}}, - {"cuCsub", {"hipCsub", CONV_COMPLEX, API_COMPLEX}}, - {"cuCmul", {"hipCmul", CONV_COMPLEX, API_COMPLEX}}, - {"cuCdiv", {"hipCdiv", CONV_COMPLEX, API_COMPLEX}}, - {"cuCabs", {"hipCabs", CONV_COMPLEX, API_COMPLEX}}, - {"make_cuComplex", {"make_hipComplex", CONV_COMPLEX, API_COMPLEX}}, - {"cuComplexFloatToDouble", {"hipComplexFloatToDouble", CONV_COMPLEX, API_COMPLEX}}, - {"cuComplexDoubleToFloat", {"hipComplexDoubleToFloat", CONV_COMPLEX, API_COMPLEX}}, - {"cuCfmaf", {"hipCfmaf", CONV_COMPLEX, API_COMPLEX}}, - {"cuCfma", {"hipCfma", CONV_COMPLEX, API_COMPLEX}}, -}; \ No newline at end of file + // 5.34. EGL Interoperability + // cudaEGLStreamConsumerAcquireFrame + {"cuEGLStreamConsumerAcquireFrame", {"hipEGLStreamConsumerAcquireFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamConsumerConnect + {"cuEGLStreamConsumerConnect", {"hipEGLStreamConsumerConnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamConsumerConnectWithFlags + {"cuEGLStreamConsumerConnectWithFlags", {"hipEGLStreamConsumerConnectWithFlags", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamConsumerDisconnect + {"cuEGLStreamConsumerDisconnect", {"hipEGLStreamConsumerDisconnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamConsumerReleaseFrame + {"cuEGLStreamConsumerReleaseFrame", {"hipEGLStreamConsumerReleaseFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamProducerConnect + {"cuEGLStreamProducerConnect", {"hipEGLStreamProducerConnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamProducerDisconnect + {"cuEGLStreamProducerDisconnect", {"hipEGLStreamProducerDisconnect", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamProducerPresentFrame + {"cuEGLStreamProducerPresentFrame", {"hipEGLStreamProducerPresentFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEGLStreamProducerReturnFrame + {"cuEGLStreamProducerReturnFrame", {"hipEGLStreamProducerReturnFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsEGLRegisterImage + {"cuGraphicsEGLRegisterImage", {"hipGraphicsEGLRegisterImage", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphicsResourceGetMappedEglFrame + {"cuGraphicsResourceGetMappedEglFrame", {"hipGraphicsResourceGetMappedEglFrame", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEventCreateFromEGLSync + {"cuEventCreateFromEGLSync", {"hipEventCreateFromEGLSync", CONV_EGL, API_DRIVER, HIP_UNSUPPORTED}}, +}; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp index 173964caa2..5438aab3de 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp @@ -2,7 +2,9 @@ // Maps the names of CUDA DRIVER API types to the corresponding HIP types const std::map CUDA_DRIVER_TYPE_NAME_MAP{ + // 1. Structs + {"CUDA_ARRAY3D_DESCRIPTOR_st", {"HIP_ARRAY3D_DESCRIPTOR", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_ARRAY3D_DESCRIPTOR", {"HIP_ARRAY3D_DESCRIPTOR", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, @@ -41,35 +43,47 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUDA_KERNEL_NODE_PARAMS_st", {"hipKernelNodeParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_KERNEL_NODE_PARAMS", {"hipKernelNodeParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: cudaLaunchParams struct differs {"CUDA_LAUNCH_PARAMS_st", {"hipLaunchParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_LAUNCH_PARAMS", {"hipLaunchParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_MEMCPY2D_st", {"hip_Memcpy2D", CONV_TYPE, API_DRIVER}}, {"CUDA_MEMCPY2D", {"hip_Memcpy2D", CONV_TYPE, API_DRIVER}}, + // no analogue {"CUDA_MEMCPY3D_st", {"hip_Memcpy3D", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_MEMCPY3D", {"hip_Memcpy3D", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_MEMCPY3D_PEER_st", {"hip_Memcpy3D_Peer", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_MEMCPY3D_PEER", {"hip_Memcpy3D_Peer", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUDA_MEMSET_NODE_PARAMS_st", {"hipMemsetNodeParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUDA_MEMSET_NODE_PARAMS", {"hipMemsetNodeParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaMemsetParams + {"CUDA_MEMSET_NODE_PARAMS_st", {"hipMemsetParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUDA_MEMSET_NODE_PARAMS", {"hipMemsetParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st", {"HIP_POINTER_ATTRIBUTE_P2P_TOKENS", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_POINTER_ATTRIBUTE_P2P_TOKENS", {"HIP_POINTER_ATTRIBUTE_P2P_TOKENS", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: cudaResourceDesc struct differs {"CUDA_RESOURCE_DESC_st", {"HIP_RESOURCE_DESC", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_RESOURCE_DESC", {"HIP_RESOURCE_DESC", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaResourceViewDesc + // NOTE: cudaResourceViewDesc hasn't reserved bytes in the end {"CUDA_RESOURCE_VIEW_DESC_st", {"HIP_RESOURCE_VIEW_DESC", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_RESOURCE_VIEW_DESC", {"HIP_RESOURCE_VIEW_DESC", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: cudaTextureDesc differs {"CUDA_TEXTURE_DESC_st", {"HIP_TEXTURE_DESC", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUDA_TEXTURE_DESC", {"HIP_TEXTURE_DESC", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUdevprop_st", {"hipDeviceProp_t", CONV_TYPE, API_DRIVER}}, - {"CUdevprop", {"hipDeviceProp_t", CONV_TYPE, API_DRIVER}}, + // no analogue + // NOTE: cudaDeviceProp differs + {"CUdevprop_st", {"hipDeviceProp_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUdevprop", {"hipDeviceProp_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // cudaIpcEventHandle_st {"CUipcEventHandle_st", {"ihipIpcEventHandle_t", CONV_TYPE, API_DRIVER}}, @@ -91,9 +105,10 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUctx_st", {"ihipCtx_t", CONV_TYPE, API_DRIVER}}, {"CUcontext", {"hipCtx_t", CONV_TYPE, API_DRIVER}}, - // cudaEglStreamConnection + // CUeglStreamConnection_st {"CUeglStreamConnection_st", {"hipEglStreamConnection", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUeglStreamConnection", {"hipEglStreamConnection", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaEglStreamConnection + {"CUeglStreamConnection", {"hipEglStreamConnection *", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // the same - CUevent_st {"CUevent_st", {"ihipEvent_t", CONV_TYPE, API_DRIVER}}, @@ -135,9 +150,9 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUgraphNode", {"hipGraphNode", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // cudaMipmappedArray - {"CUmipmappedArray_st", {"hipMipmappedArray_st", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUmipmappedArray_st", {"hipMipmappedArray_st", CONV_TYPE, API_DRIVER}}, // cudaMipmappedArray_t - {"CUmipmappedArray", {"hipMipmappedArray_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUmipmappedArray", {"hipMipmappedArray_t", CONV_TYPE, API_DRIVER}}, // no analogue {"CUmod_st", {"ihipModule_t", CONV_TYPE, API_DRIVER}}, @@ -148,16 +163,21 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ // cudaStream_t {"CUstream", {"hipStream_t", CONV_TYPE, API_DRIVER}}, - // surfaceReference + // NOTE: possibly surfaceReference is analogue {"CUsurfref_st", {"ihipSurfaceReference_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - // no analogue {"CUsurfref", {"hipSurfaceReference_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - // surfaceReference + // textureReference {"CUtexref_st", {"textureReference", CONV_TYPE, API_DRIVER}}, {"CUtexref", {"hipTextureReference_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // CUuuid_st + // NOTE: the same struct and its name + {"CUuuid_st", {"hipUUID", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUuuid", {"hipUUID", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // 2. Unions + {"CUstreamBatchMemOpParams", {"hipStreamBatchMemOpParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUstreamBatchMemOpParams_union", {"hipStreamBatchMemOpParams", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, @@ -170,15 +190,21 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_TR_ADDRESS_MODE_MIRROR", {"HIP_TR_ADDRESS_MODE_MIRROR", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 2 {"CU_TR_ADDRESS_MODE_BORDER", {"HIP_TR_ADDRESS_MODE_BORDER", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 3 - {"CUarray_cubemap_face", {"hipArray_cubemap_face", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUarray_cubemap_face_enum", {"hipArray_cubemap_face", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUarray_cubemap_face", {"hipGraphicsCubeFace", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUarray_cubemap_face_enum", {"hipGraphicsCubeFace", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUarray_cubemap_face enum values - {"CU_CUBEMAP_FACE_POSITIVE_X", {"HIP_CUBEMAP_FACE_POSITIVE_X", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x00 - {"CU_CUBEMAP_FACE_NEGATIVE_X", {"HIP_CUBEMAP_FACE_NEGATIVE_X", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_CUBEMAP_FACE_POSITIVE_Y", {"HIP_CUBEMAP_FACE_POSITIVE_Y", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CU_CUBEMAP_FACE_NEGATIVE_Y", {"HIP_CUBEMAP_FACE_NEGATIVE_Y", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 - {"CU_CUBEMAP_FACE_POSITIVE_Z", {"HIP_CUBEMAP_FACE_POSITIVE_Z", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 - {"CU_CUBEMAP_FACE_NEGATIVE_Z", {"HIP_CUBEMAP_FACE_NEGATIVE_Z", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x05 + // cudaGraphicsCubeFacePositiveX + {"CU_CUBEMAP_FACE_POSITIVE_X", {"hipGraphicsCubeFacePositiveX", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x00 + // cudaGraphicsCubeFaceNegativeX + {"CU_CUBEMAP_FACE_NEGATIVE_X", {"hipGraphicsCubeFaceNegativeX", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + // cudaGraphicsCubeFacePositiveY + {"CU_CUBEMAP_FACE_POSITIVE_Y", {"hipGraphicsCubeFacePositiveY", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 + // cudaGraphicsCubeFaceNegativeY + {"CU_CUBEMAP_FACE_NEGATIVE_Y", {"hipGraphicsCubeFaceNegativeY", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 + // cudaGraphicsCubeFacePositiveZ + {"CU_CUBEMAP_FACE_POSITIVE_Z", {"hipGraphicsCubeFacePositiveZ", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 + // cudaGraphicsCubeFaceNegativeZ + {"CU_CUBEMAP_FACE_NEGATIVE_Z", {"hipGraphicsCubeFaceNegativeZ", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x05 {"CUarray_format", {"hipArray_format", CONV_TYPE, API_DRIVER}}, {"CUarray_format_enum", {"hipArray_format", CONV_TYPE, API_DRIVER}}, @@ -198,8 +224,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ // CUcomputemode enum values // cudaComputeModeDefault {"CU_COMPUTEMODE_DEFAULT", {"hipComputeModeDefault", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0 - // Deprecated since CUDA 10.0 // cudaComputeModeExclusive + // NOTE: Deprecated since CUDA 10.0 {"CU_COMPUTEMODE_EXCLUSIVE", {"hipComputeModeExclusive", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 1 // cudaComputeModeProhibited {"CU_COMPUTEMODE_PROHIBITED", {"hipComputeModeProhibited", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 2 @@ -209,15 +235,25 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUctx_flags", {"hipCctx_flags", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUctx_flags_enum", {"hipCctx_flags", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUctx_flags enum values - {"CU_CTX_SCHED_AUTO", {"HIP_CTX_SCHED_AUTO", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x00 - {"CU_CTX_SCHED_SPIN", {"HIP_CTX_SCHED_SPIN", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_CTX_SCHED_YIELD", {"HIP_CTX_SCHED_YIELD", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CU_CTX_SCHED_BLOCKING_SYNC", {"HIP_CTX_SCHED_BLOCKING_SYNC", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 - {"CU_CTX_BLOCKING_SYNC", {"HIP_CTX_BLOCKING_SYNC", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 - {"CU_CTX_SCHED_MASK", {"HIP_CTX_SCHED_MASK", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x07 - {"CU_CTX_MAP_HOST", {"HIP_CTX_MAP_HOST", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x08 - {"CU_CTX_LMEM_RESIZE_TO_MAX", {"HIP_CTX_LMEM_RESIZE_TO_MAX", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x10 - {"CU_CTX_FLAGS_MASK", {"HIP_CTX_FLAGS_MASK", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x1f + // cudaDeviceScheduleAuto + {"CU_CTX_SCHED_AUTO", {"hipDeviceScheduleAuto", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x00 + // cudaDeviceScheduleSpin + {"CU_CTX_SCHED_SPIN", {"hipDeviceScheduleSpin", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x01 + // cudaDeviceScheduleYield + {"CU_CTX_SCHED_YIELD", {"hipDeviceScheduleYield", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x02 + // cudaDeviceScheduleBlockingSync + {"CU_CTX_SCHED_BLOCKING_SYNC", {"hipDeviceScheduleBlockingSync", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x04 + // cudaDeviceBlockingSync + // NOTE: Deprecated since CUDA 4.0 and replaced with CU_CTX_SCHED_BLOCKING_SYNC + {"CU_CTX_BLOCKING_SYNC", {"hipDeviceScheduleBlockingSync", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x04 + // cudaDeviceScheduleMask + {"CU_CTX_SCHED_MASK", {"hipDeviceScheduleMask", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x07 + // cudaDeviceMapHost + {"CU_CTX_MAP_HOST", {"hipDeviceMapHost", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x08 + // cudaDeviceLmemResizeToMax + {"CU_CTX_LMEM_RESIZE_TO_MAX", {"hipDeviceLmemResizeToMax", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x10 + // cudaDeviceMask + {"CU_CTX_FLAGS_MASK", {"hipDeviceMask", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x1f // cudaDeviceAttr {"CUdevice_attribute", {"hipDeviceAttribute_t", CONV_TYPE, API_DRIVER}}, @@ -239,7 +275,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z", {"hipDeviceAttributeMaxGridDimZ", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 7 // cudaDevAttrMaxSharedMemoryPerBlock {"CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK", {"hipDeviceAttributeMaxSharedMemoryPerBlock", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 8 - // Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK + // no analogue + // NOTE: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK {"CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK", {"hipDeviceAttributeMaxSharedMemoryPerBlock", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 8 // cudaDevAttrTotalConstantMemory {"CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY", {"hipDeviceAttributeTotalConstantMemory", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 9 @@ -255,8 +292,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_DEVICE_ATTRIBUTE_CLOCK_RATE", {"hipDeviceAttributeClockRate", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 13 // cudaDevAttrTextureAlignment {"CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT", {"hipDeviceAttributeTextureAlignment", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 14 - // Deprecated, use instead CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT // cudaDevAttrGpuOverlap + // NOTE: Deprecated, use instead CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT {"CU_DEVICE_ATTRIBUTE_GPU_OVERLAP", {"hipDeviceAttributeAsyncEngineCount", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 15 // cudaDevAttrMultiProcessorCount {"CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT", {"hipDeviceAttributeMultiprocessorCount", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 16 @@ -286,14 +323,14 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT", {"hipDeviceAttributeMaxTexture2DLayeredHeight", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 28 // cudaDevAttrMaxTexture2DLayeredLayers {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS", {"hipDeviceAttributeMaxTexture2DLayeredLayers", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 29 - // Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH // cudaDevAttrMaxTexture2DLayeredWidth + // NOTE: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH", {"hipDeviceAttributeMaxTexture2DLayeredWidth", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 27 - // Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT // cudaDevAttrMaxTexture2DLayeredHeight + // NOTE: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT", {"hipDeviceAttributeMaxTexture2DLayeredHeight", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 28 - // Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS // cudaDevAttrMaxTexture2DLayeredLayers + // NOTE: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES", {"hipDeviceAttributeMaxTexture2DLayeredLayers", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 29 // cudaDevAttrSurfaceAlignment {"CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT", {"hipDeviceAttributeSurfaceAlignment", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 30 @@ -323,8 +360,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH", {"hipDeviceAttributeMaxTexture1DLayeredWidth", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 42 // cudaDevAttrMaxTexture1DLayeredLayers {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS", {"hipDeviceAttributeMaxTexture1DLayeredLayers", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 43 - // Deprecated, do not use // no analogue + // NOTE: Deprecated, do not use {"CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER", {"hipDeviceAttributeCanTex2DGather", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 44 // cudaDevAttrMaxTexture2DGatherWidth {"CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH", {"hipDeviceAttributeMaxTexture2DGatherWidth", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 45 @@ -454,9 +491,10 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ // cudaDevP2PAttrNativeAtomicSupported = 3 {"CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED", {"hipDeviceP2PAttributeNativeAtomicSupported", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 // cudaDevP2PAttrCudaArrayAccessSupported = 4 - {"CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED", {"hipDeviceP2PAttributeArrayAccessSupported", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 + // NOTE" deprecated, use CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED instead + {"CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED", {"hipDevP2PAttributeCudaArrayAccessSupported", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 // cudaDevP2PAttrCudaArrayAccessSupported = 4 - {"CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED", {"hipDeviceP2PAttributeArrayAccessSupported", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 + {"CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED", {"hipDevP2PAttributeCudaArrayAccessSupported", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 // cudaEGL.h - presented only on Linux in nvidia-cuda-dev package // cudaEglColorFormat @@ -657,8 +695,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE", {"hipExternalMemoryHandleTypeD3D12Resource", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 5 // cudaExternalSemaphoreHandleType - {"CUexternalSemaphoreHandleType_enum", {"hipExternalSemaphoreHandleType", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUexternalSemaphoreHandleType", {"hipExternalSemaphoreHandleType", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUexternalSemaphoreHandleType_enum", {"hipExternalSemaphoreHandleType", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUexternalSemaphoreHandleType enum values // cudaExternalSemaphoreHandleTypeOpaqueFd {"CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD", {"hipExternalSemaphoreHandleTypeOpaqueFD", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 1 @@ -679,8 +717,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_TR_FILTER_MODE_LINEAR", {"hipFilterModeLinear", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 1 // cudaFuncCache - {"CUfunc_cache", {"hipFuncCache", CONV_TYPE, API_DRIVER}}, - {"CUfunc_cache_enum", {"hipFuncCache", CONV_TYPE, API_DRIVER}}, + {"CUfunc_cache", {"hipFuncCache_t", CONV_TYPE, API_DRIVER}}, + {"CUfunc_cache_enum", {"hipFuncCache_t", CONV_TYPE, API_DRIVER}}, // CUfunc_cache enum values // cudaFilterModePoint = 0 {"CU_FUNC_CACHE_PREFER_NONE", {"hipFuncCachePreferNone", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x00 @@ -715,7 +753,7 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES", {"hipFuncAttributeMaxDynamicSharedMemorySize", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 8 // cudaFuncAttributePreferredSharedMemoryCarveout {"CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT", {"hipFuncAttributePreferredSharedMemoryCarveout", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 9 - // no analogue + // cudaFuncAttributeMax {"CU_FUNC_ATTRIBUTE_MAX", {"hipFuncAttributeMax", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 10 //cudaGraphicsMapFlags @@ -785,9 +823,7 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUjit_fallback", {"hipJitFallback", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUjit_fallback_enum", {"hipJitFallback", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUjit_fallback enum values - // no analogue {"CU_PREFER_PTX", {"hipJitFallbackPreferPtx", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0 - // no analogue {"CU_PREFER_BINARY", {"hipJitFallbackPreferBinary", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // no analogue @@ -821,13 +857,13 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUjit_target", {"hipJitTarget", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUjit_target_enum", {"hipJitTarget", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUjit_target enum values - // Deprecated + // NOTE: Deprecated {"CU_TARGET_COMPUTE_10", {"hipJitTargetCompute10", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 10 - // Deprecated + // NOTE: Deprecated {"CU_TARGET_COMPUTE_11", {"hipJitTargetCompute11", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 11 - // Deprecated + // NOTE: Deprecated {"CU_TARGET_COMPUTE_12", {"hipJitTargetCompute12", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 12 - // Deprecated + // NOTE: Deprecated {"CU_TARGET_COMPUTE_13", {"hipJitTargetCompute13", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 13 {"CU_TARGET_COMPUTE_20", {"hipJitTargetCompute20", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 20 {"CU_TARGET_COMPUTE_21", {"hipJitTargetCompute21", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 21 @@ -842,7 +878,7 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_TARGET_COMPUTE_61", {"hipJitTargetCompute61", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 61 {"CU_TARGET_COMPUTE_62", {"hipJitTargetCompute62", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 62 {"CU_TARGET_COMPUTE_70", {"hipJitTargetCompute70", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 70 - // Deprecated + // NOTE: Deprecated {"CU_TARGET_COMPUTE_73", {"hipJitTargetCompute73", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 73 {"CU_TARGET_COMPUTE_75", {"hipJitTargetCompute75", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 75 @@ -905,14 +941,14 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_MEM_ATTACH_SINGLE", {"hipMemAttachSingle", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x4 // no analogue - // NOTE: cudaMemoryType is not an analogue - {"CUmemorytype", {"hipMemType_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUmemorytype_enum", {"hipMemType_t", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // NOTE: cudaMemoryType is partial analogue + {"CUmemorytype", {"hipMemoryType", CONV_TYPE, API_DRIVER}}, + {"CUmemorytype_enum", {"hipMemoryType", CONV_TYPE, API_DRIVER}}, // CUmemorytype enum values - {"CU_MEMORYTYPE_HOST", {"hipMemTypeHost", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_MEMORYTYPE_DEVICE", {"hipMemTypeDevice", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CU_MEMORYTYPE_ARRAY", {"hipMemTypeArray", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 - {"CU_MEMORYTYPE_UNIFIED", {"hipMemTypeUnified", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 + {"CU_MEMORYTYPE_HOST", {"hipMemoryTypeHost", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x01 + {"CU_MEMORYTYPE_DEVICE", {"hipMemoryTypeDevice", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x02 + {"CU_MEMORYTYPE_ARRAY", {"hipMemoryTypeArray", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x03 + {"CU_MEMORYTYPE_UNIFIED", {"hipMemoryTypeUnified", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x04 // cudaMemRangeAttribute {"CUmem_range_attribute", {"hipMemRangeAttribute", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, @@ -936,9 +972,9 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ // cudaOccupancyDisableCachingOverride {"CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE", {"hipOccupancyDisableCachingOverride", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + //no analogue // TODO: Analogous enum is needed in HIP. Couldn't map enum to struct hipPointerAttribute_t. // TODO: Do the same for Pointer Attributes as for Device Attributes. - //no analogue {"CUpointer_attribute", {"hipPointerAttribute", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUpointer_attribute_enum", {"hipPointerAttribute", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUpointer_attribute enum values @@ -953,17 +989,17 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL", {"hipPointerAttributeDeviceOrdinal", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 9 // cudaResourceType - {"CUresourcetype", {"hipResourceType", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, - {"CUresourcetype_enum", {"hipResourceType", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUresourcetype", {"hipResourceType", CONV_TYPE, API_DRIVER}}, + {"CUresourcetype_enum", {"hipResourceType", CONV_TYPE, API_DRIVER}}, // CUresourcetype enum values // cudaResourceTypeArray - {"CU_RESOURCE_TYPE_ARRAY", {"hipResourceTypeArray", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x00 + {"CU_RESOURCE_TYPE_ARRAY", {"hipResourceTypeArray", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x00 //cudaResourceTypeMipmappedArray - {"CU_RESOURCE_TYPE_MIPMAPPED_ARRAY", {"hipResourceTypeMipmappedArray", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + {"CU_RESOURCE_TYPE_MIPMAPPED_ARRAY", {"hipResourceTypeMipmappedArray", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x01 //cudaResourceTypeLinear - {"CU_RESOURCE_TYPE_LINEAR", {"hipResourceTypeLinear", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 + {"CU_RESOURCE_TYPE_LINEAR", {"hipResourceTypeLinear", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x02 //cudaResourceTypePitch2D - {"CU_RESOURCE_TYPE_PITCH2D", {"hipResourceTypePitch2D", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 + {"CU_RESOURCE_TYPE_PITCH2D", {"hipResourceTypePitch2D", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 0x03 // cudaResourceViewFormat {"CUresourceViewFormat", {"hipResourceViewFormat", CONV_TYPE, API_DRIVER}}, @@ -1058,14 +1094,14 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUDA_ERROR_DEINITIALIZED", {"hipErrorDeinitialized", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 4 // cudaErrorProfilerDisabled = 55 {"CUDA_ERROR_PROFILER_DISABLED", {"hipErrorProfilerDisabled", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 5 - // Deprecated since CUDA 5.0 // cudaErrorProfilerNotInitialized = 56 + // NOTE: Deprecated since CUDA 5.0 {"CUDA_ERROR_PROFILER_NOT_INITIALIZED", {"hipErrorProfilerNotInitialized", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 6 - // Deprecated since CUDA 5.0 + // NOTE: Deprecated since CUDA 5.0 // cudaErrorProfilerAlreadyStarted = 57 {"CUDA_ERROR_PROFILER_ALREADY_STARTED", {"hipErrorProfilerAlreadyStarted", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 7 - // Deprecated since CUDA 5.0 // cudaErrorProfilerAlreadyStopped = 58 + // NOTE: Deprecated since CUDA 5.0 {"CUDA_ERROR_PROFILER_ALREADY_STOPPED", {"hipErrorProfilerAlreadyStopped", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 8 // cudaErrorNoDevice = 38 {"CUDA_ERROR_NO_DEVICE", {"hipErrorNoDevice", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 100 @@ -1076,8 +1112,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUDA_ERROR_INVALID_IMAGE", {"hipErrorInvalidImage", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 200 // no analogue {"CUDA_ERROR_INVALID_CONTEXT", {"hipErrorInvalidContext", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 201 - // Deprecated since CUDA 3.2 // no analogue + // NOTE: Deprecated since CUDA 3.2 {"CUDA_ERROR_CONTEXT_ALREADY_CURRENT", {"hipErrorContextAlreadyCurrent", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 202 // cudaErrorMapBufferObjectFailed = 14 // TODO: double check the matching @@ -1268,22 +1304,22 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUGLDeviceList_enum", {"hipGLDeviceList", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUGLDeviceList enum values // cudaGLDeviceListAll = 1 - {"CU_GL_DEVICE_LIST_ALL", {"HIP_GL_DEVICE_LIST_ALL", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + {"CU_GL_DEVICE_LIST_ALL", {"hipGLDeviceListAll", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 // cudaGLDeviceListCurrentFrame = 2 - {"CU_GL_DEVICE_LIST_CURRENT_FRAME", {"HIP_GL_DEVICE_LIST_CURRENT_FRAME", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 + {"CU_GL_DEVICE_LIST_CURRENT_FRAME", {"hipGLDeviceListCurrentFrame", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 // cudaGLDeviceListNextFrame = 3 - {"CU_GL_DEVICE_LIST_NEXT_FRAME", {"HIP_GL_DEVICE_LIST_NEXT_FRAME", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 + {"CU_GL_DEVICE_LIST_NEXT_FRAME", {"hipGLDeviceListNextFrame", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 // cudaGLMapFlags {"CUGLmap_flags", {"hipGLMapFlags", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUGLmap_flags_enum", {"hipGLMapFlags", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUGLmap_flags enum values // cudaGLMapFlagsNone = 0 - {"CU_GL_MAP_RESOURCE_FLAGS_NONE", {"HIP_GL_MAP_RESOURCE_FLAGS_NONE", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x00 + {"CU_GL_MAP_RESOURCE_FLAGS_NONE", {"hipGLMapFlagsNone", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x00 // cudaGLMapFlagsReadOnly = 1 - {"CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY", {"HIP_GL_MAP_RESOURCE_FLAGS_READ_ONLY", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + {"CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY", {"hipGLMapFlagsReadOnly", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 // cudaGLMapFlagsWriteDiscard = 2 - {"CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD", {"HIP_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 + {"CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD", {"hipGLMapFlagsWriteDiscard", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 // cudaD3D9DeviceList {"CUd3d9DeviceList", {"hipD3D9DeviceList", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, @@ -1296,8 +1332,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ // cudaD3D9DeviceListNextFrame = 3 {"CU_D3D9_DEVICE_LIST_NEXT_FRAME", {"HIP_D3D9_DEVICE_LIST_NEXT_FRAME", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 - // Deprecated // cudaD3D9MapFlags + // NOTE: Deprecated {"CUd3d9map_flags", {"hipD3D9MapFlags", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUd3d9map_flags_enum", {"hipD3D9MapFlags", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, // CUd3d9map_flags enum values @@ -1360,6 +1396,7 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_D3D11_DEVICE_LIST_NEXT_FRAME", {"HIP_D3D11_DEVICE_LIST_NEXT_FRAME", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 // 4. Typedefs + // no analogue {"CUdevice", {"hipDevice_t", CONV_TYPE, API_DRIVER}}, {"CUdeviceptr", {"hipDeviceptr_t", CONV_TYPE, API_DRIVER}}, @@ -1380,37 +1417,59 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUtexObject", {"hipTextureObject_t", CONV_TYPE, API_DRIVER}}, // 5. Defines - {"__CUDACC__", {"__HIPCC__", CONV_DEF, API_DRIVER}}, - {"CUDA_CB", {"HIP_CB", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, - {"CU_DEVICE_CPU", {"HIP_DEVICE_CPU", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUdevice)-1) - {"CU_DEVICE_INVALID", {"HIP_DEVICE_INVALID", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUdevice)-2) - {"CU_IPC_HANDLE_SIZE", {"HIP_LAUNCH_PARAM_END", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 64 - {"CU_LAUNCH_PARAM_BUFFER_POINTER", {"HIP_LAUNCH_PARAM_BUFFER_POINTER", CONV_DEF, API_DRIVER}}, // ((void*)0x01) - {"CU_LAUNCH_PARAM_BUFFER_SIZE", {"HIP_LAUNCH_PARAM_BUFFER_SIZE", CONV_DEF, API_DRIVER}}, // ((void*)0x02) - {"CU_LAUNCH_PARAM_END", {"HIP_LAUNCH_PARAM_END", CONV_DEF, API_DRIVER}}, // ((void*)0x00) - {"CU_MEMHOSTALLOC_DEVICEMAP", {"HIP_MEMHOSTALLOC_DEVICEMAP", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CU_MEMHOSTALLOC_PORTABLE", {"HIP_MEMHOSTALLOC_PORTABLE", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_MEMHOSTALLOC_WRITECOMBINED", {"HIP_MEMHOSTALLOC_WRITECOMBINED", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 - {"CU_MEMHOSTREGISTER_DEVICEMAP", {"HIP_MEMHOSTREGISTER_DEVICEMAP", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CU_MEMHOSTREGISTER_IOMEMORY", {"HIP_MEMHOSTREGISTER_IOMEMORY", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 - {"CU_MEMHOSTREGISTER_PORTABLE", {"HIP_MEMHOSTREGISTER_PORTABLE", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_PARAM_TR_DEFAULT", {"HIP_PARAM_TR_DEFAULT", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // -1 - {"CU_STREAM_LEGACY", {"HIP_STREAM_LEGACY", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUstream)0x1) - {"CU_STREAM_PER_THREAD", {"HIP_STREAM_PER_THREAD", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUstream)0x2) - {"CU_TRSA_OVERRIDE_FORMAT", {"HIP_TRSA_OVERRIDE_FORMAT", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_TRSF_NORMALIZED_COORDINATES", {"HIP_TRSF_NORMALIZED_COORDINATES", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CU_TRSF_READ_AS_INTEGER", {"HIP_TRSF_READ_AS_INTEGER", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CU_TRSF_SRGB", {"HIP_TRSF_SRGB", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x10 - // Deprecated, use CUDA_ARRAY3D_LAYERED - {"CUDA_ARRAY3D_2DARRAY", {"HIP_ARRAY3D_2DARRAY", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CUDA_ARRAY3D_COLOR_ATTACHMENT", {"HIP_ARRAY3D_COLOR_ATTACHMENT", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x20 - {"CUDA_ARRAY3D_CUBEMAP", {"HIP_ARRAY3D_CUBEMAP", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 - {"CUDA_ARRAY3D_DEPTH_TEXTURE", {"HIP_ARRAY3D_DEPTH_TEXTURE", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x10 - {"CUDA_ARRAY3D_LAYERED", {"HIP_ARRAY3D_LAYERED", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CUDA_ARRAY3D_SURFACE_LDST", {"HIP_ARRAY3D_SURFACE_LDST", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CUDA_ARRAY3D_TEXTURE_GATHER", {"HIP_ARRAY3D_TEXTURE_GATHER", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x08 - {"CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC", {"HIP_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 - {"CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC", {"HIP_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 - {"CUDA_EXTERNAL_MEMORY_DEDICATED", {"HIP_EXTERNAL_MEMORY_DEDICATED", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 0x1 - {"CUDA_VERSION", {"HIP_VERSION", CONV_DEF, API_DRIVER, HIP_UNSUPPORTED}}, // 10000 + + {"__CUDACC__", {"__HIPCC__", CONV_DEFINE, API_DRIVER}}, + {"CUDA_CB", {"HIP_CB", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaCpuDeviceId ((int)-1) + {"CU_DEVICE_CPU", {"hipCpuDeviceId", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUdevice)-1) + // cudaInvalidDeviceId ((int)-1) + {"CU_DEVICE_INVALID", {"hipInvalidDeviceId", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUdevice)-2) + // CUDA_IPC_HANDLE_SIZE + {"CU_IPC_HANDLE_SIZE", {"HIP_IPC_HANDLE_SIZE", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 64 + {"CU_LAUNCH_PARAM_BUFFER_POINTER", {"HIP_LAUNCH_PARAM_BUFFER_POINTER", CONV_DEFINE, API_DRIVER}}, // ((void*)0x01) + {"CU_LAUNCH_PARAM_BUFFER_SIZE", {"HIP_LAUNCH_PARAM_BUFFER_SIZE", CONV_DEFINE, API_DRIVER}}, // ((void*)0x02) + {"CU_LAUNCH_PARAM_END", {"HIP_LAUNCH_PARAM_END", CONV_DEFINE, API_DRIVER}}, // ((void*)0x00) + // cudaHostAllocPortable + {"CU_MEMHOSTALLOC_PORTABLE", {"hipHostMallocPortable", CONV_DEFINE, API_DRIVER}}, // 0x01 + // cudaHostAllocMapped + {"CU_MEMHOSTALLOC_DEVICEMAP", {"hipHostMallocMapped", CONV_DEFINE, API_DRIVER}}, // 0x02 + // cudaHostAllocWriteCombined + {"CU_MEMHOSTALLOC_WRITECOMBINED", {"hipHostAllocWriteCombined", CONV_DEFINE, API_DRIVER}}, // 0x04 + // cudaHostRegisterPortable + {"CU_MEMHOSTREGISTER_PORTABLE", {"hipHostRegisterPortable", CONV_DEFINE, API_DRIVER}}, // 0x01 + // cudaHostRegisterMapped + {"CU_MEMHOSTREGISTER_DEVICEMAP", {"hipHostRegisterMapped", CONV_DEFINE, API_DRIVER}}, // 0x02 + // cudaHostRegisterIoMemory + {"CU_MEMHOSTREGISTER_IOMEMORY", {"hipHostRegisterIoMemory", CONV_DEFINE, API_DRIVER}}, // 0x04 + {"CU_PARAM_TR_DEFAULT", {"HIP_PARAM_TR_DEFAULT", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // -1 + // cudaStreamLegacy ((cudaStream_t)0x1) + {"CU_STREAM_LEGACY", {"hipStreamLegacy", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUstream)0x1) + // cudaStreamPerThread ((cudaStream_t)0x2) + {"CU_STREAM_PER_THREAD", {"hipStreamPerThread", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // ((CUstream)0x2) + {"CU_TRSA_OVERRIDE_FORMAT", {"HIP_TRSA_OVERRIDE_FORMAT", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + {"CU_TRSF_NORMALIZED_COORDINATES", {"HIP_TRSF_NORMALIZED_COORDINATES", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 + {"CU_TRSF_READ_AS_INTEGER", {"HIP_TRSF_READ_AS_INTEGER", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + {"CU_TRSF_SRGB", {"HIP_TRSF_SRGB", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x10 + // no analogue + // NOTE: Deprecated, use CUDA_ARRAY3D_LAYERED + {"CUDA_ARRAY3D_2DARRAY", {"HIP_ARRAY3D_2DARRAY", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + // cudaArrayLayered + {"CUDA_ARRAY3D_LAYERED", {"hipArrayLayered", CONV_DEFINE, API_DRIVER}}, // 0x01 + // cudaArraySurfaceLoadStore + {"CUDA_ARRAY3D_SURFACE_LDST", {"hipArraySurfaceLoadStore", CONV_DEFINE, API_DRIVER}}, // 0x02 + // cudaArrayCubemap + {"CUDA_ARRAY3D_CUBEMAP", {"hipArrayCubemap", CONV_DEFINE, API_DRIVER}}, // 0x04 + // cudaArrayTextureGather + {"CUDA_ARRAY3D_TEXTURE_GATHER", {"hipArrayTextureGather", CONV_DEFINE, API_DRIVER}}, // 0x08 + // no analogue + {"CUDA_ARRAY3D_DEPTH_TEXTURE", {"hipArrayDepthTexture", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x10 + // cudaArrayColorAttachment + {"CUDA_ARRAY3D_COLOR_ATTACHMENT", {"hipArrayColorAttachment", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x20 + // cudaCooperativeLaunchMultiDeviceNoPreSync + {"CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC", {"hipCooperativeLaunchMultiDeviceNoPreSync", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + // cudaCooperativeLaunchMultiDeviceNoPostSync + {"CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC", {"hipCooperativeLaunchMultiDeviceNoPostSync", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x02 + // cudaExternalMemoryDedicated + {"CUDA_EXTERNAL_MEMORY_DEDICATED", {"hipExternalMemoryDedicated", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 0x01 + {"CUDA_VERSION", {"HIP_VERSION", CONV_DEFINE, API_DRIVER, HIP_UNSUPPORTED}}, // 10000 }; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_FFT_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_FFT_API_functions.cpp index dfbb78af6e..6c9e8b7b1e 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_FFT_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_FFT_API_functions.cpp @@ -2,36 +2,36 @@ // Map of all functions const std::map CUDA_FFT_FUNCTION_MAP{ - {"cufftPlan1d", {"hipfftPlan1d", CONV_MATH_FUNC, API_FFT}}, - {"cufftPlan2d", {"hipfftPlan2d", CONV_MATH_FUNC, API_FFT}}, - {"cufftPlan3d", {"hipfftPlan3d", CONV_MATH_FUNC, API_FFT}}, - {"cufftPlanMany", {"hipfftPlanMany", CONV_MATH_FUNC, API_FFT}}, - {"cufftMakePlan1d", {"hipfftMakePlan1d", CONV_MATH_FUNC, API_FFT}}, - {"cufftMakePlan2d", {"hipfftMakePlan2d", CONV_MATH_FUNC, API_FFT}}, - {"cufftMakePlan3d", {"hipfftMakePlan3d", CONV_MATH_FUNC, API_FFT}}, - {"cufftMakePlanMany", {"hipfftMakePlanMany", CONV_MATH_FUNC, API_FFT}}, - {"cufftMakePlanMany64", {"hipfftMakePlanMany64", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetSizeMany64", {"hipfftGetSizeMany64", CONV_MATH_FUNC, API_FFT}}, - {"cufftEstimate1d", {"hipfftEstimate1d", CONV_MATH_FUNC, API_FFT}}, - {"cufftEstimate2d", {"hipfftEstimate2d", CONV_MATH_FUNC, API_FFT}}, - {"cufftEstimate3d", {"hipfftEstimate3d", CONV_MATH_FUNC, API_FFT}}, - {"cufftEstimateMany", {"hipfftEstimateMany", CONV_MATH_FUNC, API_FFT}}, - {"cufftCreate", {"hipfftCreate", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetSize1d", {"hipfftGetSize1d", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetSize2d", {"hipfftGetSize2d", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetSize3d", {"hipfftGetSize3d", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetSizeMany", {"hipfftGetSizeMany", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetSize", {"hipfftGetSize", CONV_MATH_FUNC, API_FFT}}, - {"cufftSetWorkArea", {"hipfftSetWorkArea", CONV_MATH_FUNC, API_FFT}}, - {"cufftSetAutoAllocation", {"hipfftSetAutoAllocation", CONV_MATH_FUNC, API_FFT}}, - {"cufftExecC2C", {"hipfftExecC2C", CONV_MATH_FUNC, API_FFT}}, - {"cufftExecR2C", {"hipfftExecR2C", CONV_MATH_FUNC, API_FFT}}, - {"cufftExecC2R", {"hipfftExecC2R", CONV_MATH_FUNC, API_FFT}}, - {"cufftExecZ2Z", {"hipfftExecZ2Z", CONV_MATH_FUNC, API_FFT}}, - {"cufftExecD2Z", {"hipfftExecD2Z", CONV_MATH_FUNC, API_FFT}}, - {"cufftExecZ2D", {"hipfftExecZ2D", CONV_MATH_FUNC, API_FFT}}, - {"cufftSetStream", {"hipfftSetStream", CONV_MATH_FUNC, API_FFT}}, - {"cufftDestroy", {"hipfftDestroy", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetVersion", {"hipfftGetVersion", CONV_MATH_FUNC, API_FFT}}, - {"cufftGetProperty", {"hipfftGetProperty", CONV_MATH_FUNC, API_FFT, HIP_UNSUPPORTED}}, + {"cufftPlan1d", {"hipfftPlan1d", CONV_LIB_FUNC, API_FFT}}, + {"cufftPlan2d", {"hipfftPlan2d", CONV_LIB_FUNC, API_FFT}}, + {"cufftPlan3d", {"hipfftPlan3d", CONV_LIB_FUNC, API_FFT}}, + {"cufftPlanMany", {"hipfftPlanMany", CONV_LIB_FUNC, API_FFT}}, + {"cufftMakePlan1d", {"hipfftMakePlan1d", CONV_LIB_FUNC, API_FFT}}, + {"cufftMakePlan2d", {"hipfftMakePlan2d", CONV_LIB_FUNC, API_FFT}}, + {"cufftMakePlan3d", {"hipfftMakePlan3d", CONV_LIB_FUNC, API_FFT}}, + {"cufftMakePlanMany", {"hipfftMakePlanMany", CONV_LIB_FUNC, API_FFT}}, + {"cufftMakePlanMany64", {"hipfftMakePlanMany64", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetSizeMany64", {"hipfftGetSizeMany64", CONV_LIB_FUNC, API_FFT}}, + {"cufftEstimate1d", {"hipfftEstimate1d", CONV_LIB_FUNC, API_FFT}}, + {"cufftEstimate2d", {"hipfftEstimate2d", CONV_LIB_FUNC, API_FFT}}, + {"cufftEstimate3d", {"hipfftEstimate3d", CONV_LIB_FUNC, API_FFT}}, + {"cufftEstimateMany", {"hipfftEstimateMany", CONV_LIB_FUNC, API_FFT}}, + {"cufftCreate", {"hipfftCreate", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetSize1d", {"hipfftGetSize1d", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetSize2d", {"hipfftGetSize2d", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetSize3d", {"hipfftGetSize3d", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetSizeMany", {"hipfftGetSizeMany", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetSize", {"hipfftGetSize", CONV_LIB_FUNC, API_FFT}}, + {"cufftSetWorkArea", {"hipfftSetWorkArea", CONV_LIB_FUNC, API_FFT}}, + {"cufftSetAutoAllocation", {"hipfftSetAutoAllocation", CONV_LIB_FUNC, API_FFT}}, + {"cufftExecC2C", {"hipfftExecC2C", CONV_LIB_FUNC, API_FFT}}, + {"cufftExecR2C", {"hipfftExecR2C", CONV_LIB_FUNC, API_FFT}}, + {"cufftExecC2R", {"hipfftExecC2R", CONV_LIB_FUNC, API_FFT}}, + {"cufftExecZ2Z", {"hipfftExecZ2Z", CONV_LIB_FUNC, API_FFT}}, + {"cufftExecD2Z", {"hipfftExecD2Z", CONV_LIB_FUNC, API_FFT}}, + {"cufftExecZ2D", {"hipfftExecZ2D", CONV_LIB_FUNC, API_FFT}}, + {"cufftSetStream", {"hipfftSetStream", CONV_LIB_FUNC, API_FFT}}, + {"cufftDestroy", {"hipfftDestroy", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetVersion", {"hipfftGetVersion", CONV_LIB_FUNC, API_FFT}}, + {"cufftGetProperty", {"hipfftGetProperty", CONV_LIB_FUNC, API_FFT, HIP_UNSUPPORTED}}, }; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_RAND_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_RAND_API_functions.cpp index 398ca08617..f5422e56c4 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_RAND_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_RAND_API_functions.cpp @@ -3,60 +3,60 @@ // Map of all functions const std::map CUDA_RAND_FUNCTION_MAP{ // RAND Host functions - {"curandCreateGenerator", {"hiprandCreateGenerator", CONV_MATH_FUNC, API_RAND}}, - {"curandCreateGeneratorHost", {"hiprandCreateGeneratorHost", CONV_MATH_FUNC, API_RAND}}, - {"curandCreatePoissonDistribution", {"hiprandCreatePoissonDistribution", CONV_MATH_FUNC, API_RAND}}, - {"curandDestroyDistribution", {"hiprandDestroyDistribution", CONV_MATH_FUNC, API_RAND}}, - {"curandDestroyGenerator", {"hiprandDestroyGenerator", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerate", {"hiprandGenerate", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateLogNormal", {"hiprandGenerateLogNormal", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateLogNormalDouble", {"hiprandGenerateLogNormalDouble", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateLongLong", {"hiprandGenerateLongLong", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandGenerateNormal", {"hiprandGenerateNormal", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateNormalDouble", {"hiprandGenerateNormalDouble", CONV_MATH_FUNC, API_RAND}}, - {"curandGeneratePoisson", {"hiprandGeneratePoisson", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateSeeds", {"hiprandGenerateSeeds", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateUniform", {"hiprandGenerateUniform", CONV_MATH_FUNC, API_RAND}}, - {"curandGenerateUniformDouble", {"hiprandGenerateUniformDouble", CONV_MATH_FUNC, API_RAND}}, - {"curandGetDirectionVectors32", {"hiprandGetDirectionVectors32", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandGetDirectionVectors64", {"hiprandGetDirectionVectors64", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandGetProperty", {"hiprandGetProperty", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandGetScrambleConstants32", {"hiprandGetScrambleConstants32", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandGetScrambleConstants64", {"hiprandGetScrambleConstants64", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandGetVersion", {"hiprandGetVersion", CONV_MATH_FUNC, API_RAND}}, - {"curandSetGeneratorOffset", {"hiprandSetGeneratorOffset", CONV_MATH_FUNC, API_RAND}}, - {"curandSetGeneratorOrdering", {"hiprandSetGeneratorOrdering", CONV_MATH_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curandSetPseudoRandomGeneratorSeed", {"hiprandSetPseudoRandomGeneratorSeed", CONV_MATH_FUNC, API_RAND}}, - {"curandSetQuasiRandomGeneratorDimensions", {"hiprandSetQuasiRandomGeneratorDimensions", CONV_MATH_FUNC, API_RAND}}, - {"curandSetStream", {"hiprandSetStream", CONV_MATH_FUNC, API_RAND}}, + {"curandCreateGenerator", {"hiprandCreateGenerator", CONV_LIB_FUNC, API_RAND}}, + {"curandCreateGeneratorHost", {"hiprandCreateGeneratorHost", CONV_LIB_FUNC, API_RAND}}, + {"curandCreatePoissonDistribution", {"hiprandCreatePoissonDistribution", CONV_LIB_FUNC, API_RAND}}, + {"curandDestroyDistribution", {"hiprandDestroyDistribution", CONV_LIB_FUNC, API_RAND}}, + {"curandDestroyGenerator", {"hiprandDestroyGenerator", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerate", {"hiprandGenerate", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateLogNormal", {"hiprandGenerateLogNormal", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateLogNormalDouble", {"hiprandGenerateLogNormalDouble", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateLongLong", {"hiprandGenerateLongLong", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandGenerateNormal", {"hiprandGenerateNormal", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateNormalDouble", {"hiprandGenerateNormalDouble", CONV_LIB_FUNC, API_RAND}}, + {"curandGeneratePoisson", {"hiprandGeneratePoisson", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateSeeds", {"hiprandGenerateSeeds", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateUniform", {"hiprandGenerateUniform", CONV_LIB_FUNC, API_RAND}}, + {"curandGenerateUniformDouble", {"hiprandGenerateUniformDouble", CONV_LIB_FUNC, API_RAND}}, + {"curandGetDirectionVectors32", {"hiprandGetDirectionVectors32", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandGetDirectionVectors64", {"hiprandGetDirectionVectors64", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandGetProperty", {"hiprandGetProperty", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandGetScrambleConstants32", {"hiprandGetScrambleConstants32", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandGetScrambleConstants64", {"hiprandGetScrambleConstants64", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandGetVersion", {"hiprandGetVersion", CONV_LIB_FUNC, API_RAND}}, + {"curandSetGeneratorOffset", {"hiprandSetGeneratorOffset", CONV_LIB_FUNC, API_RAND}}, + {"curandSetGeneratorOrdering", {"hiprandSetGeneratorOrdering", CONV_LIB_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curandSetPseudoRandomGeneratorSeed", {"hiprandSetPseudoRandomGeneratorSeed", CONV_LIB_FUNC, API_RAND}}, + {"curandSetQuasiRandomGeneratorDimensions", {"hiprandSetQuasiRandomGeneratorDimensions", CONV_LIB_FUNC, API_RAND}}, + {"curandSetStream", {"hiprandSetStream", CONV_LIB_FUNC, API_RAND}}, // RAND Device functions - {"curand", {"hiprand", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_init", {"hiprand_init", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_log_normal", {"hiprand_log_normal", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_log_normal_double", {"hiprand_log_normal_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_log_normal2", {"hiprand_log_normal2", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_log_normal2_double", {"hiprand_log_normal2_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_log_normal4", {"hiprand_log_normal4", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_log_normal4_double", {"hiprand_log_normal4_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_mtgp32_single", {"hiprand_mtgp32_single", CONV_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curand_mtgp32_single_specific", {"hiprand_mtgp32_single_specific", CONV_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curand_mtgp32_specific", {"hiprand_mtgp32_specific", CONV_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, - {"curand_normal", {"hiprand_normal", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_normal_double", {"hiprand_normal_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_normal2", {"hiprand_normal2", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_normal2_double", {"hiprand_normal2_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_normal4", {"hiprand_normal4", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_normal4_double", {"hiprand_normal4_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_uniform", {"hiprand_uniform", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_uniform_double", {"hiprand_uniform_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_uniform2_double", {"hiprand_uniform2_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_uniform4", {"hiprand_uniform4", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_uniform4_double", {"hiprand_uniform4_double", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_discrete", {"hiprand_discrete", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_discrete4", {"hiprand_discrete4", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_poisson", {"hiprand_poisson", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_poisson4", {"hiprand_poisson4", CONV_DEVICE_FUNC, API_RAND}}, - {"curand_Philox4x32_10", {"hiprand_Philox4x32_10", CONV_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curand", {"hiprand", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_init", {"hiprand_init", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_log_normal", {"hiprand_log_normal", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_log_normal_double", {"hiprand_log_normal_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_log_normal2", {"hiprand_log_normal2", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_log_normal2_double", {"hiprand_log_normal2_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_log_normal4", {"hiprand_log_normal4", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_log_normal4_double", {"hiprand_log_normal4_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_mtgp32_single", {"hiprand_mtgp32_single", CONV_LIB_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curand_mtgp32_single_specific", {"hiprand_mtgp32_single_specific", CONV_LIB_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curand_mtgp32_specific", {"hiprand_mtgp32_specific", CONV_LIB_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, + {"curand_normal", {"hiprand_normal", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_normal_double", {"hiprand_normal_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_normal2", {"hiprand_normal2", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_normal2_double", {"hiprand_normal2_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_normal4", {"hiprand_normal4", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_normal4_double", {"hiprand_normal4_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_uniform", {"hiprand_uniform", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_uniform_double", {"hiprand_uniform_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_uniform2_double", {"hiprand_uniform2_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_uniform4", {"hiprand_uniform4", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_uniform4_double", {"hiprand_uniform4_double", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_discrete", {"hiprand_discrete", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_discrete4", {"hiprand_discrete4", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_poisson", {"hiprand_poisson", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_poisson4", {"hiprand_poisson4", CONV_LIB_DEVICE_FUNC, API_RAND}}, + {"curand_Philox4x32_10", {"hiprand_Philox4x32_10", CONV_LIB_DEVICE_FUNC, API_RAND, HIP_UNSUPPORTED}}, // unchanged function names: skipahead, skipahead_sequence, skipahead_subsequence }; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp index bfc8b3445f..1eaa0903e1 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp @@ -1,133 +1,185 @@ #include "CUDA2HIP.h" -// Map of all functions +// Map of all CUDA Runtime API functions const std::map CUDA_RUNTIME_FUNCTION_MAP{ - -/////////////////////////////// CUDA RT API /////////////////////////////// - // Error API {"cudaGetLastError", {"hipGetLastError", CONV_ERROR, API_RUNTIME}}, {"cudaPeekAtLastError", {"hipPeekAtLastError", CONV_ERROR, API_RUNTIME}}, {"cudaGetErrorName", {"hipGetErrorName", CONV_ERROR, API_RUNTIME}}, {"cudaGetErrorString", {"hipGetErrorString", CONV_ERROR, API_RUNTIME}}, - // memcpy - // memcpy structs - {"cudaMemcpy3DParms", {"hipMemcpy3DParms", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpy3DPeerParms", {"hipMemcpy3DPeerParms", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - // memcpy functions - {"cudaMemcpy", {"hipMemcpy", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyToArray", {"hipMemcpyToArray", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyToSymbol", {"hipMemcpyToSymbol", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyToSymbolAsync", {"hipMemcpyToSymbolAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyAsync", {"hipMemcpyAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpy2D", {"hipMemcpy2D", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpy2DAsync", {"hipMemcpy2DAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpy2DToArray", {"hipMemcpy2DToArray", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpy2DArrayToArray", {"hipMemcpy2DArrayToArray", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpy2DFromArray", {"hipMemcpy2DFromArray", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpy2DFromArrayAsync", {"hipMemcpy2DFromArrayAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpy2DToArrayAsync", {"hipMemcpy2DToArrayAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpy3D", {"hipMemcpy3D", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpy3DAsync", {"hipMemcpy3DAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpy3DPeer", {"hipMemcpy3DPeer", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpy3DPeerAsync", {"hipMemcpy3DPeerAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpyArrayToArray", {"hipMemcpyArrayToArray", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpyFromArrayAsync", {"hipMemcpyFromArrayAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemcpyFromSymbol", {"hipMemcpyFromSymbol", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyFromSymbolAsync", {"hipMemcpyFromSymbolAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemAdvise", {"hipMemAdvise", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, // - {"cudaMemRangeGetAttribute", {"hipMemRangeGetAttribute", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, // - {"cudaMemRangeGetAttributes", {"hipMemRangeGetAttributes", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, // + // no analogue + // NOTE: Not equal to cuMemcpy due to different signatures + {"cudaMemcpy", {"hipMemcpy", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpyToArray", {"hipMemcpyToArray", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpyToSymbol", {"hipMemcpyToSymbol", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpyToSymbolAsync", {"hipMemcpyToSymbolAsync", CONV_MEMORY, API_RUNTIME}}, + + {"cudaMemcpyAsync", {"hipMemcpyAsync", CONV_MEMORY, API_RUNTIME}}, + // no analogue + // NOTE: Not equal to cuMemcpy2D due to different signatures + {"cudaMemcpy2D", {"hipMemcpy2D", CONV_MEMORY, API_RUNTIME}}, + // no analogue + // NOTE: Not equal to cuMemcpy2DAsync due to different signatures + {"cudaMemcpy2DAsync", {"hipMemcpy2DAsync", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpy2DToArray", {"hipMemcpy2DToArray", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpy2DArrayToArray", {"hipMemcpy2DArrayToArray", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemcpy2DFromArray", {"hipMemcpy2DFromArray", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemcpy2DFromArrayAsync", {"hipMemcpy2DFromArrayAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemcpy2DToArrayAsync", {"hipMemcpy2DToArrayAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cuMemcpy3D due to different signatures + {"cudaMemcpy3D", {"hipMemcpy3D", CONV_MEMORY, API_RUNTIME}}, + // no analogue + // NOTE: Not equal to cuMemcpy3DAsync due to different signatures + {"cudaMemcpy3DAsync", {"hipMemcpy3DAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cuMemcpy3DPeer due to different signatures + {"cudaMemcpy3DPeer", {"hipMemcpy3DPeer", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cuMemcpy3DPeerAsync due to different signatures + {"cudaMemcpy3DPeerAsync", {"hipMemcpy3DPeerAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cuMemcpyAtoA due to different signatures + {"cudaMemcpyArrayToArray", {"hipMemcpyArrayToArray", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemcpyFromArrayAsync", {"hipMemcpyFromArrayAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemcpyFromSymbol", {"hipMemcpyFromSymbol", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpyFromSymbolAsync", {"hipMemcpyFromSymbolAsync", CONV_MEMORY, API_RUNTIME}}, + // cuMemAdvise + {"cudaMemAdvise", {"hipMemAdvise", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuMemRangeGetAttribute + {"cudaMemRangeGetAttribute", {"hipMemRangeGetAttribute", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuMemRangeGetAttributes + {"cudaMemRangeGetAttributes", {"hipMemRangeGetAttributes", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, // memset - {"cudaMemset", {"hipMemset", CONV_MEM, API_RUNTIME}}, - {"cudaMemsetAsync", {"hipMemsetAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemset2D", {"hipMemset2D", CONV_MEM, API_RUNTIME}}, - {"cudaMemset2DAsync", {"hipMemset2DAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemset3D", {"hipMemset3D", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemset3DAsync", {"hipMemset3DAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemset", {"hipMemset", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemsetAsync", {"hipMemsetAsync", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemset2D", {"hipMemset2D", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemset2DAsync", {"hipMemset2DAsync", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemset3D", {"hipMemset3D", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMemset3DAsync", {"hipMemset3DAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, // Memory management - {"cudaMemGetInfo", {"hipMemGetInfo", CONV_MEM, API_RUNTIME}}, - {"cudaArrayGetInfo", {"hipArrayGetInfo", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaFreeMipmappedArray", {"hipFreeMipmappedArray", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGetMipmappedArrayLevel", {"hipGetMipmappedArrayLevel", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGetSymbolAddress", {"hipGetSymbolAddress", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGetSymbolSize", {"hipGetSymbolSize", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMemPrefetchAsync", {"hipMemPrefetchAsync", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, // // API_Driver ANALOGUE (cuMemPrefetchAsync) + // cuMemGetInfo + {"cudaMemGetInfo", {"hipMemGetInfo", CONV_MEMORY, API_RUNTIME}}, + {"cudaArrayGetInfo", {"hipArrayGetInfo", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cuMipmappedArrayDestroy due to different signatures + {"cudaFreeMipmappedArray", {"hipFreeMipmappedArray", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGetMipmappedArrayLevel", {"hipGetMipmappedArrayLevel", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGetSymbolAddress", {"hipGetSymbolAddress", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGetSymbolSize", {"hipGetSymbolSize", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // TODO: double check cuMemPrefetchAsync + {"cudaMemPrefetchAsync", {"hipMemPrefetchAsync", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, // malloc - {"cudaMalloc", {"hipMalloc", CONV_MEM, API_RUNTIME}}, - {"cudaMallocHost", {"hipHostMalloc", CONV_MEM, API_RUNTIME}}, - {"cudaMallocArray", {"hipMallocArray", CONV_MEM, API_RUNTIME}}, - {"cudaMalloc3D", {"hipMalloc3D", CONV_MEM, API_RUNTIME}}, - {"cudaMalloc3DArray", {"hipMalloc3DArray", CONV_MEM, API_RUNTIME}}, - {"cudaMallocManaged", {"hipMallocManaged", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMallocMipmappedArray", {"hipMallocMipmappedArray", CONV_MEM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaMallocPitch", {"hipMallocPitch", CONV_MEM, API_RUNTIME}}, + {"cudaMalloc", {"hipMalloc", CONV_MEMORY, API_RUNTIME}}, + {"cudaMallocHost", {"hipHostMalloc", CONV_MEMORY, API_RUNTIME}}, + {"cudaMallocArray", {"hipMallocArray", CONV_MEMORY, API_RUNTIME}}, + {"cudaMalloc3D", {"hipMalloc3D", CONV_MEMORY, API_RUNTIME}}, + {"cudaMalloc3DArray", {"hipMalloc3DArray", CONV_MEMORY, API_RUNTIME}}, + {"cudaMallocManaged", {"hipMallocManaged", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // NOTE: Not equal to cuMipmappedArrayCreate due to different signatures + {"cudaMallocMipmappedArray", {"hipMallocMipmappedArray", CONV_MEMORY, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaMallocPitch", {"hipMallocPitch", CONV_MEMORY, API_RUNTIME}}, - {"cudaFree", {"hipFree", CONV_MEM, API_RUNTIME}}, - {"cudaFreeHost", {"hipHostFree", CONV_MEM, API_RUNTIME}}, - {"cudaFreeArray", {"hipFreeArray", CONV_MEM, API_RUNTIME}}, - {"cudaHostRegister", {"hipHostRegister", CONV_MEM, API_RUNTIME}}, - {"cudaHostUnregister", {"hipHostUnregister", CONV_MEM, API_RUNTIME}}, - // hipHostAlloc deprecated - use hipHostMalloc instead - {"cudaHostAlloc", {"hipHostMalloc", CONV_MEM, API_RUNTIME}}, + // cuMemFree + {"cudaFree", {"hipFree", CONV_MEMORY, API_RUNTIME}}, + // cuMemFreeHost + {"cudaFreeHost", {"hipHostFree", CONV_MEMORY, API_RUNTIME}}, + {"cudaFreeArray", {"hipFreeArray", CONV_MEMORY, API_RUNTIME}}, + // cuMemHostRegister + {"cudaHostRegister", {"hipHostRegister", CONV_MEMORY, API_RUNTIME}}, + // cuMemHostUnregister + {"cudaHostUnregister", {"hipHostUnregister", CONV_MEMORY, API_RUNTIME}}, + // cuMemHostAlloc + // NOTE: hipHostAlloc deprecated - use hipHostMalloc instead + {"cudaHostAlloc", {"hipHostMalloc", CONV_MEMORY, API_RUNTIME}}, // make memory functions - {"make_cudaExtent", {"make_hipExtent", CONV_MEM, API_RUNTIME}}, - {"make_cudaPitchedPtr", {"make_hipPitchedPtr", CONV_MEM, API_RUNTIME}}, - {"make_cudaPos", {"make_hipPos", CONV_MEM, API_RUNTIME}}, - - // Host Malloc Flags (#defines) - {"cudaHostAllocDefault", {"hipHostMallocDefault", CONV_MEM, API_RUNTIME}}, - {"cudaHostAllocPortable", {"hipHostMallocPortable", CONV_MEM, API_RUNTIME}}, - {"cudaHostAllocMapped", {"hipHostMallocMapped", CONV_MEM, API_RUNTIME}}, - {"cudaHostAllocWriteCombined", {"hipHostMallocWriteCombined", CONV_MEM, API_RUNTIME}}, + {"make_cudaExtent", {"make_hipExtent", CONV_MEMORY, API_RUNTIME}}, + {"make_cudaPitchedPtr", {"make_hipPitchedPtr", CONV_MEMORY, API_RUNTIME}}, + {"make_cudaPos", {"make_hipPos", CONV_MEMORY, API_RUNTIME}}, // Host Register Flags - {"cudaHostGetFlags", {"hipHostGetFlags", CONV_MEM, API_RUNTIME}}, - {"cudaHostRegisterDefault", {"hipHostRegisterDefault", CONV_MEM, API_RUNTIME}}, - {"cudaHostRegisterPortable", {"hipHostRegisterPortable", CONV_MEM, API_RUNTIME}}, - {"cudaHostRegisterMapped", {"hipHostRegisterMapped", CONV_MEM, API_RUNTIME}}, - {"cudaHostRegisterIoMemory", {"hipHostRegisterIoMemory", CONV_MEM, API_RUNTIME}}, - - {"warpSize", {"hipWarpSize", CONV_SPECIAL_FUNC, API_RUNTIME}}, + // cuMemHostGetFlags + {"cudaHostGetFlags", {"hipHostGetFlags", CONV_MEMORY, API_RUNTIME}}, // Events - {"cudaEventCreate", {"hipEventCreate", CONV_EVENT, API_RUNTIME}}, - {"cudaEventCreateWithFlags", {"hipEventCreateWithFlags", CONV_EVENT, API_RUNTIME}}, - {"cudaEventDestroy", {"hipEventDestroy", CONV_EVENT, API_RUNTIME}}, - {"cudaEventRecord", {"hipEventRecord", CONV_EVENT, API_RUNTIME}}, - {"cudaEventElapsedTime", {"hipEventElapsedTime", CONV_EVENT, API_RUNTIME}}, - {"cudaEventSynchronize", {"hipEventSynchronize", CONV_EVENT, API_RUNTIME}}, - {"cudaEventQuery", {"hipEventQuery", CONV_EVENT, API_RUNTIME}}, - // Event Flags - {"cudaEventDefault", {"hipEventDefault", CONV_EVENT, API_RUNTIME}}, - {"cudaEventBlockingSync", {"hipEventBlockingSync", CONV_EVENT, API_RUNTIME}}, - {"cudaEventDisableTiming", {"hipEventDisableTiming", CONV_EVENT, API_RUNTIME}}, - {"cudaEventInterprocess", {"hipEventInterprocess", CONV_EVENT, API_RUNTIME}}, + // no analogue + // NOTE: Not equal to cuEventCreate due to different signatures + {"cudaEventCreate", {"hipEventCreate", CONV_EVENT, API_RUNTIME}}, + // cuEventCreate + {"cudaEventCreateWithFlags", {"hipEventCreateWithFlags", CONV_EVENT, API_RUNTIME}}, + // cuEventDestroy + {"cudaEventDestroy", {"hipEventDestroy", CONV_EVENT, API_RUNTIME}}, + // cuEventRecord + {"cudaEventRecord", {"hipEventRecord", CONV_EVENT, API_RUNTIME}}, + // cuEventElapsedTime + {"cudaEventElapsedTime", {"hipEventElapsedTime", CONV_EVENT, API_RUNTIME}}, + // cuEventSynchronize + {"cudaEventSynchronize", {"hipEventSynchronize", CONV_EVENT, API_RUNTIME}}, + // cuEventQuery + {"cudaEventQuery", {"hipEventQuery", CONV_EVENT, API_RUNTIME}}, + + // 5.6. External Resource Interoperability + // cuDestroyExternalMemory + {"cudaDestroyExternalMemory", {"hipDestroyExternalMemory", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuDestroyExternalSemaphore + {"cudaDestroyExternalSemaphore", {"hipDestroyExternalSemaphore", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuExternalMemoryGetMappedBuffer + {"cudaExternalMemoryGetMappedBuffer", {"hipExternalMemoryGetMappedBuffer", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuExternalMemoryGetMappedMipmappedArray + {"cudaExternalMemoryGetMappedMipmappedArray", {"hipExternalMemoryGetMappedMipmappedArray", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuImportExternalMemory + {"cudaImportExternalMemory", {"hipImportExternalMemory", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuImportExternalSemaphore + {"cudaImportExternalSemaphore", {"hipImportExternalSemaphore", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuSignalExternalSemaphoresAsync + {"cudaSignalExternalSemaphoresAsync", {"hipSignalExternalSemaphoresAsync", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuWaitExternalSemaphoresAsync + {"cudaWaitExternalSemaphoresAsync", {"hipWaitExternalSemaphoresAsync", CONV_EXT_RES, API_RUNTIME, HIP_UNSUPPORTED}}, // Streams + // no analogue + // NOTE: Not equal to cuStreamCreate due to different signatures {"cudaStreamCreate", {"hipStreamCreate", CONV_STREAM, API_RUNTIME}}, + // cuStreamCreate {"cudaStreamCreateWithFlags", {"hipStreamCreateWithFlags", CONV_STREAM, API_RUNTIME}}, - {"cudaStreamCreateWithPriority", {"hipStreamCreateWithPriority", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuStreamCreateWithPriority + {"cudaStreamCreateWithPriority", {"hipStreamCreateWithPriority", CONV_STREAM, API_RUNTIME}}, + // cuStreamDestroy {"cudaStreamDestroy", {"hipStreamDestroy", CONV_STREAM, API_RUNTIME}}, + // cuStreamWaitEvent {"cudaStreamWaitEvent", {"hipStreamWaitEvent", CONV_STREAM, API_RUNTIME}}, + // cuStreamSynchronize {"cudaStreamSynchronize", {"hipStreamSynchronize", CONV_STREAM, API_RUNTIME}}, + // cuStreamGetFlags {"cudaStreamGetFlags", {"hipStreamGetFlags", CONV_STREAM, API_RUNTIME}}, + // cuStreamQuery {"cudaStreamQuery", {"hipStreamQuery", CONV_STREAM, API_RUNTIME}}, + // cuStreamAddCallback {"cudaStreamAddCallback", {"hipStreamAddCallback", CONV_STREAM, API_RUNTIME}}, + // cuStreamAttachMemAsync {"cudaStreamAttachMemAsync", {"hipStreamAttachMemAsync", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaStreamGetPriority", {"hipStreamGetPriority", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuStreamBeginCapture + {"cudaStreamBeginCapture", {"hipStreamBeginCapture", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuStreamEndCapture + {"cudaStreamEndCapture", {"hipStreamEndCapture", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuStreamIsCapturing + {"cudaStreamIsCapturing", {"hipStreamIsCapturing", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuStreamGetPriority + {"cudaStreamGetPriority", {"hipStreamGetPriority", CONV_STREAM, API_RUNTIME}}, // Other synchronization {"cudaDeviceSynchronize", {"hipDeviceSynchronize", CONV_DEVICE, API_RUNTIME}}, {"cudaDeviceReset", {"hipDeviceReset", CONV_DEVICE, API_RUNTIME}}, {"cudaSetDevice", {"hipSetDevice", CONV_DEVICE, API_RUNTIME}}, {"cudaGetDevice", {"hipGetDevice", CONV_DEVICE, API_RUNTIME}}, + // cuDeviceGetCount {"cudaGetDeviceCount", {"hipGetDeviceCount", CONV_DEVICE, API_RUNTIME}}, {"cudaChooseDevice", {"hipChooseDevice", CONV_DEVICE, API_RUNTIME}}, @@ -143,39 +195,44 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ {"cudaDeviceGetAttribute", {"hipDeviceGetAttribute", CONV_DEVICE, API_RUNTIME}}, // Pointer Attributes - // struct cudaPointerAttributes - {"cudaPointerGetAttributes", {"hipPointerGetAttributes", CONV_MEM, API_RUNTIME}}, - - {"cudaHostGetDevicePointer", {"hipHostGetDevicePointer", CONV_MEM, API_RUNTIME}}, + // no analogue + // NOTE: Not equal to cuPointerGetAttributes due to different signatures + {"cudaPointerGetAttributes", {"hipPointerGetAttributes", CONV_ADDRESSING, API_RUNTIME}}, + // cuMemHostGetDevicePointer + {"cudaHostGetDevicePointer", {"hipHostGetDevicePointer", CONV_MEMORY, API_RUNTIME}}, // Device {"cudaGetDeviceProperties", {"hipGetDeviceProperties", CONV_DEVICE, API_RUNTIME}}, + // cuDeviceGetPCIBusId {"cudaDeviceGetPCIBusId", {"hipDeviceGetPCIBusId", CONV_DEVICE, API_RUNTIME}}, + // cuDeviceGetByPCIBusId {"cudaDeviceGetByPCIBusId", {"hipDeviceGetByPCIBusId", CONV_DEVICE, API_RUNTIME}}, - {"cudaDeviceGetStreamPriorityRange", {"hipDeviceGetStreamPriorityRange", CONV_DEVICE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuCtxGetStreamPriorityRange + {"cudaDeviceGetStreamPriorityRange", {"hipDeviceGetStreamPriorityRange", CONV_DEVICE, API_RUNTIME}}, {"cudaSetValidDevices", {"hipSetValidDevices", CONV_DEVICE, API_RUNTIME, HIP_UNSUPPORTED}}, // Device Flags - {"cudaGetDeviceFlags", {"hipGetDeviceFlags", CONV_DEVICE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuCtxGetFlags + {"cudaGetDeviceFlags", {"hipCtxGetFlags", CONV_DEVICE, API_RUNTIME}}, {"cudaSetDeviceFlags", {"hipSetDeviceFlags", CONV_DEVICE, API_RUNTIME}}, // Cache config - {"cudaDeviceSetCacheConfig", {"hipDeviceSetCacheConfig", CONV_CACHE, API_RUNTIME}}, - {"cudaDeviceGetCacheConfig", {"hipDeviceGetCacheConfig", CONV_CACHE, API_RUNTIME}}, - {"cudaFuncSetCacheConfig", {"hipFuncSetCacheConfig", CONV_CACHE, API_RUNTIME}}, + {"cudaDeviceSetCacheConfig", {"hipDeviceSetCacheConfig", CONV_DEVICE, API_RUNTIME}}, + {"cudaDeviceGetCacheConfig", {"hipDeviceGetCacheConfig", CONV_DEVICE, API_RUNTIME}}, + {"cudaFuncSetCacheConfig", {"hipFuncSetCacheConfig", CONV_DEVICE, API_RUNTIME}}, // Execution control functions - {"cudaFuncGetAttributes", {"hipFuncGetAttributes", CONV_EXEC, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaFuncSetSharedMemConfig", {"hipFuncSetSharedMemConfig", CONV_EXEC, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGetParameterBuffer", {"hipGetParameterBuffer", CONV_EXEC, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaSetDoubleForDevice", {"hipSetDoubleForDevice", CONV_EXEC, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaSetDoubleForHost", {"hipSetDoubleForHost", CONV_EXEC, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaFuncGetAttributes", {"hipFuncGetAttributes", CONV_EXECUTION, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaFuncSetSharedMemConfig", {"hipFuncSetSharedMemConfig", CONV_EXECUTION, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGetParameterBuffer", {"hipGetParameterBuffer", CONV_EXECUTION, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaSetDoubleForDevice", {"hipSetDoubleForDevice", CONV_EXECUTION, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaSetDoubleForHost", {"hipSetDoubleForHost", CONV_EXECUTION, API_RUNTIME, HIP_UNSUPPORTED}}, // Execution Control [deprecated since 7.0] - {"cudaConfigureCall", {"hipConfigureCall", CONV_EXEC, API_RUNTIME}}, - {"cudaLaunch", {"hipLaunchByPtr", CONV_EXEC, API_RUNTIME}}, - {"cudaSetupArgument", {"hipSetupArgument", CONV_EXEC, API_RUNTIME}}, + {"cudaConfigureCall", {"hipConfigureCall", CONV_EXECUTION, API_RUNTIME}}, + {"cudaLaunch", {"hipLaunchByPtr", CONV_EXECUTION, API_RUNTIME}}, + {"cudaSetupArgument", {"hipSetupArgument", CONV_EXECUTION, API_RUNTIME}}, // Version Management {"cudaDriverGetVersion", {"hipDriverGetVersion", CONV_VERSION, API_RUNTIME}}, @@ -194,8 +251,8 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ {"cudaDeviceDisablePeerAccess", {"hipDeviceDisablePeerAccess", CONV_PEER, API_RUNTIME}}, {"cudaDeviceEnablePeerAccess", {"hipDeviceEnablePeerAccess", CONV_PEER, API_RUNTIME}}, - {"cudaMemcpyPeerAsync", {"hipMemcpyPeerAsync", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyPeer", {"hipMemcpyPeer", CONV_MEM, API_RUNTIME}}, + {"cudaMemcpyPeerAsync", {"hipMemcpyPeerAsync", CONV_MEMORY, API_RUNTIME}}, + {"cudaMemcpyPeer", {"hipMemcpyPeer", CONV_MEMORY, API_RUNTIME}}, // Shared memory {"cudaDeviceSetSharedMemConfig", {"hipDeviceSetSharedMemConfig", CONV_DEVICE, API_RUNTIME}}, @@ -204,39 +261,39 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ // {"cudaThreadGetSharedMemConfig", {"hipDeviceGetSharedMemConfig", CONV_DEVICE, API_RUNTIME}}, // {"cudaThreadSetSharedMemConfig", {"hipDeviceSetSharedMemConfig", CONV_DEVICE, API_RUNTIME}}, - + // cuCtxGetLimit {"cudaDeviceGetLimit", {"hipDeviceGetLimit", CONV_DEVICE, API_RUNTIME}}, // Profiler - {"cudaProfilerInitialize", {"hipProfilerInitialize", CONV_OTHER, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuProfilerInitialize) - {"cudaProfilerStart", {"hipProfilerStart", CONV_OTHER, API_RUNTIME}}, // API_Driver ANALOGUE (cuProfilerStart) - {"cudaProfilerStop", {"hipProfilerStop", CONV_OTHER, API_RUNTIME}}, // API_Driver ANALOGUE (cuProfilerStop) + {"cudaProfilerInitialize", {"hipProfilerInitialize", CONV_PROFILER, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuProfilerInitialize) + {"cudaProfilerStart", {"hipProfilerStart", CONV_PROFILER, API_RUNTIME}}, // API_Driver ANALOGUE (cuProfilerStart) + {"cudaProfilerStop", {"hipProfilerStop", CONV_PROFILER, API_RUNTIME}}, // API_Driver ANALOGUE (cuProfilerStop) - {"cudaBindTexture", {"hipBindTexture", CONV_TEX, API_RUNTIME}}, - {"cudaUnbindTexture", {"hipUnbindTexture", CONV_TEX, API_RUNTIME}}, - {"cudaBindTexture2D", {"hipBindTexture2D", CONV_TEX, API_RUNTIME}}, - {"cudaBindTextureToArray", {"hipBindTextureToArray", CONV_TEX, API_RUNTIME}}, - {"cudaBindTextureToMipmappedArray", {"hipBindTextureToMipmappedArray", CONV_TEX, API_RUNTIME}}, // Unsupported yet on NVCC path - {"cudaGetTextureAlignmentOffset", {"hipGetTextureAlignmentOffset", CONV_TEX, API_RUNTIME}}, // Unsupported yet on NVCC path - {"cudaGetTextureReference", {"hipGetTextureReference", CONV_TEX, API_RUNTIME}}, // Unsupported yet on NVCC path + {"cudaBindTexture", {"hipBindTexture", CONV_TEXTURE, API_RUNTIME}}, + {"cudaUnbindTexture", {"hipUnbindTexture", CONV_TEXTURE, API_RUNTIME}}, + {"cudaBindTexture2D", {"hipBindTexture2D", CONV_TEXTURE, API_RUNTIME}}, + {"cudaBindTextureToArray", {"hipBindTextureToArray", CONV_TEXTURE, API_RUNTIME}}, + {"cudaBindTextureToMipmappedArray", {"hipBindTextureToMipmappedArray", CONV_TEXTURE, API_RUNTIME}}, // Unsupported yet on NVCC path + {"cudaGetTextureAlignmentOffset", {"hipGetTextureAlignmentOffset", CONV_TEXTURE, API_RUNTIME}}, // Unsupported yet on NVCC path + {"cudaGetTextureReference", {"hipGetTextureReference", CONV_TEXTURE, API_RUNTIME}}, // Unsupported yet on NVCC path - {"cudaCreateChannelDesc", {"hipCreateChannelDesc", CONV_TEX, API_RUNTIME}}, - {"cudaGetChannelDesc", {"hipGetChannelDesc", CONV_TEX, API_RUNTIME}}, + {"cudaCreateChannelDesc", {"hipCreateChannelDesc", CONV_TEXTURE, API_RUNTIME}}, + {"cudaGetChannelDesc", {"hipGetChannelDesc", CONV_TEXTURE, API_RUNTIME}}, // Texture Object Management - {"cudaAddressModeWrap", {"hipAddressModeWrap", CONV_TEX, API_RUNTIME}}, - {"cudaAddressModeClamp", {"hipAddressModeClamp", CONV_TEX, API_RUNTIME}}, - {"cudaAddressModeMirror", {"hipAddressModeMirror", CONV_TEX, API_RUNTIME}}, - {"cudaAddressModeBorder", {"hipAddressModeBorder", CONV_TEX, API_RUNTIME}}, + {"cudaAddressModeWrap", {"hipAddressModeWrap", CONV_TEXTURE, API_RUNTIME}}, + {"cudaAddressModeClamp", {"hipAddressModeClamp", CONV_TEXTURE, API_RUNTIME}}, + {"cudaAddressModeMirror", {"hipAddressModeMirror", CONV_TEXTURE, API_RUNTIME}}, + {"cudaAddressModeBorder", {"hipAddressModeBorder", CONV_TEXTURE, API_RUNTIME}}, // functions - {"cudaCreateTextureObject", {"hipCreateTextureObject", CONV_TEX, API_RUNTIME}}, - {"cudaDestroyTextureObject", {"hipDestroyTextureObject", CONV_TEX, API_RUNTIME}}, - {"cudaGetTextureObjectResourceDesc", {"hipGetTextureObjectResourceDesc", CONV_TEX, API_RUNTIME}}, - {"cudaGetTextureObjectResourceViewDesc", {"hipGetTextureObjectResourceViewDesc", CONV_TEX, API_RUNTIME}}, - {"cudaGetTextureObjectTextureDesc", {"hipGetTextureObjectTextureDesc", CONV_TEX, API_RUNTIME}}, + {"cudaCreateTextureObject", {"hipCreateTextureObject", CONV_TEXTURE, API_RUNTIME}}, + {"cudaDestroyTextureObject", {"hipDestroyTextureObject", CONV_TEXTURE, API_RUNTIME}}, + {"cudaGetTextureObjectResourceDesc", {"hipGetTextureObjectResourceDesc", CONV_TEXTURE, API_RUNTIME}}, + {"cudaGetTextureObjectResourceViewDesc", {"hipGetTextureObjectResourceViewDesc", CONV_TEXTURE, API_RUNTIME}}, + {"cudaGetTextureObjectTextureDesc", {"hipGetTextureObjectTextureDesc", CONV_TEXTURE, API_RUNTIME}}, // Surface Reference Management {"cudaBindSurfaceToArray", {"hipBindSurfaceToArray", CONV_SURFACE, API_RUNTIME, HIP_UNSUPPORTED}}, @@ -256,10 +313,10 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ {"cudaIpcOpenMemHandle", {"hipIpcOpenMemHandle", CONV_DEVICE, API_RUNTIME}}, // OpenGL Interoperability - {"cudaGLGetDevices", {"hipGLGetDevices", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsGLRegisterBuffer", {"hipGraphicsGLRegisterBuffer", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsGLRegisterImage", {"hipGraphicsGLRegisterImage", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaWGLGetDevice", {"hipWGLGetDevice", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGLGetDevices", {"hipGLGetDevices", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGraphicsGLRegisterBuffer", {"hipGraphicsGLRegisterBuffer", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaGraphicsGLRegisterImage", {"hipGraphicsGLRegisterImage", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaWGLGetDevice", {"hipWGLGetDevice", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // Graphics Interoperability {"cudaGraphicsMapResources", {"hipGraphicsMapResources", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsMapResources) @@ -270,21 +327,21 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ {"cudaGraphicsUnmapResources", {"hipGraphicsUnmapResources", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsUnmapResources) {"cudaGraphicsUnregisterResource", {"hipGraphicsUnregisterResource", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsUnregisterResource) - {"cudaGLGetDevices", {"hipGLGetDevices", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLGetDevices) - {"cudaGraphicsGLRegisterBuffer", {"hipGraphicsGLRegisterBuffer", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsGLRegisterBuffer) - {"cudaGraphicsGLRegisterImage", {"hipGraphicsGLRegisterImage", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsGLRegisterImage) - {"cudaWGLGetDevice", {"hipWGLGetDevice", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuWGLGetDevice) + {"cudaGLGetDevices", {"hipGLGetDevices", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLGetDevices) + {"cudaGraphicsGLRegisterBuffer", {"hipGraphicsGLRegisterBuffer", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsGLRegisterBuffer) + {"cudaGraphicsGLRegisterImage", {"hipGraphicsGLRegisterImage", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGraphicsGLRegisterImage) + {"cudaWGLGetDevice", {"hipWGLGetDevice", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuWGLGetDevice) // OpenGL Interoperability [DEPRECATED] - {"cudaGLMapBufferObject", {"hipGLMapBufferObject__", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // Not equal to cuGLMapBufferObject due to different signatures - {"cudaGLMapBufferObjectAsync", {"hipGLMapBufferObjectAsync__", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // Not equal to cuGLMapBufferObjectAsync due to different signatures - {"cudaGLRegisterBufferObject", {"hipGLRegisterBufferObject", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLRegisterBufferObject) - {"cudaGLSetBufferObjectMapFlags", {"hipGLSetBufferObjectMapFlags", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLSetBufferObjectMapFlags) - {"cudaGLSetGLDevice", {"hipGLSetGLDevice", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // no API_Driver ANALOGUE - {"cudaGLUnmapBufferObject", {"hipGLUnmapBufferObject", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLUnmapBufferObject) - {"cudaGLUnmapBufferObjectAsync", {"hipGLUnmapBufferObjectAsync", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLUnmapBufferObjectAsync) - {"cudaGLUnregisterBufferObject", {"hipGLUnregisterBufferObject", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLUnregisterBufferObject) + {"cudaGLMapBufferObject", {"hipGLMapBufferObject__", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // Not equal to cuGLMapBufferObject due to different signatures + {"cudaGLMapBufferObjectAsync", {"hipGLMapBufferObjectAsync__", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // Not equal to cuGLMapBufferObjectAsync due to different signatures + {"cudaGLRegisterBufferObject", {"hipGLRegisterBufferObject", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLRegisterBufferObject) + {"cudaGLSetBufferObjectMapFlags", {"hipGLSetBufferObjectMapFlags", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLSetBufferObjectMapFlags) + {"cudaGLSetGLDevice", {"hipGLSetGLDevice", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // no API_Driver ANALOGUE + {"cudaGLUnmapBufferObject", {"hipGLUnmapBufferObject", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLUnmapBufferObject) + {"cudaGLUnmapBufferObjectAsync", {"hipGLUnmapBufferObjectAsync", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLUnmapBufferObjectAsync) + {"cudaGLUnregisterBufferObject", {"hipGLUnregisterBufferObject", CONV_OPENGL, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (cuGLUnregisterBufferObject) // Direct3D 9 Interoperability diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp index 6ff3391382..ab97c8315e 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp @@ -2,11 +2,15 @@ // Maps the names of CUDA RUNTIME API types to the corresponding HIP types const std::map CUDA_RUNTIME_TYPE_NAME_MAP { + // 1. Structs + // no analogue {"cudaChannelFormatDesc", {"hipChannelFormatDesc", CONV_TYPE, API_RUNTIME}}, // no analogue {"cudaDeviceProp", {"hipDeviceProp_t", CONV_TYPE, API_RUNTIME}}, + // NOTE: int warpSize is a field of cudaDeviceProp + {"warpSize", {"hipWarpSize", CONV_TYPE, API_RUNTIME}}, // no analogue {"cudaEglFrame", {"hipEglFrame", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, @@ -54,10 +58,519 @@ const std::map CUDA_RUNTIME_TYPE_NAME_MAP { {"cudaIpcMemHandle_st", {"hipIpcMemHandle_st", CONV_TYPE, API_RUNTIME}}, // CUDA_KERNEL_NODE_PARAMS - {"cudaKernelNodeParams", {"hipKernelNodeParams", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaKernelNodeParams", {"hipKernelNodeParams", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + // CUDA_LAUNCH_PARAMS struct differs + {"cudaLaunchParams", {"hipLaunchParams", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // no analogue + // NOTE: HIP struct is bigger and contains cudaMemcpy3DParms only in the beginning + {"cudaMemcpy3DParms", {"hipMemcpy3DParms", CONV_TYPE, API_RUNTIME}}, + + // no analogue + {"cudaMemcpy3DPeerParms", {"hipMemcpy3DPeerParms", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // CUDA_MEMSET_NODE_PARAMS + {"cudaMemsetParams", {"hipMemsetParams", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // no analogue + {"cudaPitchedPtr", {"hipPitchedPtr", CONV_TYPE, API_RUNTIME}}, + + // no analogue + {"cudaPointerAttributes", {"hipPointerAttribute_t", CONV_TYPE, API_RUNTIME}}, + + // no analogue + {"cudaPos", {"hipPos", CONV_TYPE, API_RUNTIME}}, + + // no analogue + // NOTE: CUDA_RESOURCE_DESC struct differs + {"cudaResourceDesc", {"hipResourceDesc", CONV_TYPE, API_RUNTIME}}, + + // NOTE: CUDA_RESOURCE_VIEW_DESC has reserved bytes in the end + {"cudaResourceViewDesc", {"hipResourceViewDesc", CONV_TYPE, API_RUNTIME}}, + + // no analogue + // NOTE: CUDA_TEXTURE_DESC differs + {"cudaTextureDesc", {"hipTextureDesc", CONV_TYPE, API_RUNTIME}}, + + // NOTE: the same struct and its name + {"CUuuid_st", {"hipUUID", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // NOTE: possibly CUsurfref is analogue + {"surfaceReference", {"hipSurfaceReference", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // the same - CUevent_st + {"CUevent_st", {"ihipEvent_t", CONV_TYPE, API_RUNTIME}}, + // CUevent + {"cudaEvent_t", {"hipEvent_t", CONV_TYPE, API_RUNTIME}}, + + // CUextMemory_st + {"CUexternalMemory_st", {"hipExtMemory_st", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUexternalMemory + {"cudaExternalMemory_t", {"hipExternalMemory", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // CUextSemaphore_st + {"CUexternalSemaphore_st", {"hipExtSemaphore_st", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUexternalSemaphore + {"cudaExternalSemaphore_t", {"hipExternalSemaphore", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // the same - CUgraph_st + {"CUgraph_st", {"hipGraph_st", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUgraph + {"cudaGraph_t", {"hipGraph", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // the same -CUgraphExec_st + {"CUgraphExec_st", {"hipGraphExec_st", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUgraphExec + {"cudaGraphExec_t", {"hipGraphExec", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // CUgraphicsResource_st + {"cudaGraphicsResource", {"hipGraphicsResource_st", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUgraphicsResource + {"cudaGraphicsResource_t", {"hipGraphicsResource_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // the same - CUgraphNode_st + {"CUgraphNode_st", {"hipGraphNode_st", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUgraphNode + {"cudaGraphNode_t", {"hipGraphNode", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // CUeglStreamConnection_st + {"CUeglStreamConnection_st", {"hipEglStreamConnection", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUeglStreamConnection + {"cudaEglStreamConnection", {"hipEglStreamConnection", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // CUarray_st + {"cudaArray", {"hipArray", CONV_TYPE, API_RUNTIME}}, + // CUarray + {"cudaArray_t", {"hipArray_t", CONV_TYPE, API_RUNTIME}}, + // no analogue + {"cudaArray_const_t", {"hipArray_const_t", CONV_TYPE, API_RUNTIME}}, + + // CUmipmappedArray_st + {"cudaMipmappedArray", {"hipMipmappedArray", CONV_TYPE, API_RUNTIME}}, + // CUmipmappedArray + {"cudaMipmappedArray_t", {"hipMipmappedArray_t", CONV_TYPE, API_RUNTIME}}, + // no analogue + {"cudaMipmappedArray_const_t", {"hipMipmappedArray_const_t", CONV_TYPE, API_RUNTIME}}, + + // the same - CUstream_st + {"CUstream_st", {"ihipStream_t", CONV_TYPE, API_RUNTIME}}, + // CUstream + {"cudaStream_t", {"hipStream_t", CONV_TYPE, API_RUNTIME}}, // 3. Enums + + // no analogue + {"cudaCGScope", {"hipCGScope", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaCGScope enum values + {"cudaCGScopeInvalid", {"hipCGScopeInvalid", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + {"cudaCGScopeGrid", {"hipCGScopeGrid", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + {"cudaCGScopeMultiGrid", {"hipCGScopeMultiGrid", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + + // no analogue + {"cudaChannelFormatKind", {"hipChannelFormatKind", CONV_TYPE, API_RUNTIME}}, + // cudaChannelFormatKind enum values + {"cudaChannelFormatKindSigned", {"hipChannelFormatKindSigned", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + {"cudaChannelFormatKindUnsigned", {"hipChannelFormatKindUnsigned", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + {"cudaChannelFormatKindFloat", {"hipChannelFormatKindFloat", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + {"cudaChannelFormatKindNone", {"hipChannelFormatKindNone", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 + + // CUcomputemode + {"cudaComputeMode", {"hipComputeMode", CONV_TYPE, API_RUNTIME}}, + // cudaComputeMode enum values + // CU_COMPUTEMODE_DEFAULT + {"cudaComputeModeDefault", {"hipComputeModeDefault", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + // CU_COMPUTEMODE_EXCLUSIVE + {"cudaComputeModeExclusive", {"hipComputeModeExclusive", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + // CU_COMPUTEMODE_PROHIBITED + {"cudaComputeModeProhibited", {"hipComputeModeProhibited", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + // CU_COMPUTEMODE_EXCLUSIVE_PROCESS + {"cudaComputeModeExclusiveProcess", {"hipComputeModeExclusiveProcess", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 + + // CUdevice_attribute + {"cudaDeviceAttr", {"hipDeviceAttribute_t", CONV_TYPE, API_RUNTIME}}, + // cudaDeviceAttr enum values + // CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK + {"cudaDevAttrMaxThreadsPerBlock", {"hipDeviceAttributeMaxThreadsPerBlock", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + // CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X + {"cudaDevAttrMaxBlockDimX", {"hipDeviceAttributeMaxBlockDimX", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + // CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y + {"cudaDevAttrMaxBlockDimY", {"hipDeviceAttributeMaxBlockDimY", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 + // CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z + {"cudaDevAttrMaxBlockDimZ", {"hipDeviceAttributeMaxBlockDimZ", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 4 + // CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X + {"cudaDevAttrMaxGridDimX", {"hipDeviceAttributeMaxGridDimX", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 5 + // CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y + {"cudaDevAttrMaxGridDimY", {"hipDeviceAttributeMaxGridDimY", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 6 + // CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z + {"cudaDevAttrMaxGridDimZ", {"hipDeviceAttributeMaxGridDimZ", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 7 + // CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK + {"cudaDevAttrMaxSharedMemoryPerBlock", {"hipDeviceAttributeMaxSharedMemoryPerBlock", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 8 + // CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY + {"cudaDevAttrTotalConstantMemory", {"hipDeviceAttributeTotalConstantMemory", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 9 + // CU_DEVICE_ATTRIBUTE_WARP_SIZE + {"cudaDevAttrWarpSize", {"hipDeviceAttributeWarpSize", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 10 + // CU_DEVICE_ATTRIBUTE_MAX_PITCH + {"cudaDevAttrMaxPitch", {"hipDeviceAttributeMaxPitch", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 11 + // CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK + {"cudaDevAttrMaxRegistersPerBlock", {"hipDeviceAttributeMaxRegistersPerBlock", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 12 + // CU_DEVICE_ATTRIBUTE_CLOCK_RATE + {"cudaDevAttrClockRate", {"hipDeviceAttributeClockRate", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 13 + // CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT + {"cudaDevAttrTextureAlignment", {"hipDeviceAttributeTextureAlignment", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 14 + // CU_DEVICE_ATTRIBUTE_GPU_OVERLAP + // NOTE: Is not deprecated as CUDA Driver's API analogue CU_DEVICE_ATTRIBUTE_GPU_OVERLAP + {"cudaDevAttrGpuOverlap", {"hipDeviceAttributeGpuOverlap", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 15 + // CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT + {"cudaDevAttrMultiProcessorCount", {"hipDeviceAttributeMultiprocessorCount", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 16 + // CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT + {"cudaDevAttrKernelExecTimeout", {"hipDeviceAttributeKernelExecTimeout", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 17 + // CU_DEVICE_ATTRIBUTE_INTEGRATED + {"cudaDevAttrIntegrated", {"hipDeviceAttributeIntegrated", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 18 + // CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY + {"cudaDevAttrCanMapHostMemory", {"hipDeviceAttributeCanMapHostMemory", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 19 + // CU_DEVICE_ATTRIBUTE_COMPUTE_MODE + {"cudaDevAttrComputeMode", {"hipDeviceAttributeComputeMode", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 20 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH + {"cudaDevAttrMaxTexture1DWidth", {"hipDeviceAttributeMaxTexture1DWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 21 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH + {"cudaDevAttrMaxTexture2DWidth", {"hipDeviceAttributeMaxTexture2DWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 22 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT + {"cudaDevAttrMaxTexture2DHeight", {"hipDeviceAttributeMaxTexture2DHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 23 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH + {"cudaDevAttrMaxTexture3DWidth", {"hipDeviceAttributeMaxTexture3DWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 24 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT + {"cudaDevAttrMaxTexture3DHeight", {"hipDeviceAttributeMaxTexture3DHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 25 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH + {"cudaDevAttrMaxTexture3DDepth", {"hipDeviceAttributeMaxTexture3DDepth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 26 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH + {"cudaDevAttrMaxTexture2DLayeredWidth", {"hipDeviceAttributeMaxTexture2DLayeredWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 27 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT + {"cudaDevAttrMaxTexture2DLayeredHeight", {"hipDeviceAttributeMaxTexture2DLayeredHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 28 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS + {"cudaDevAttrMaxTexture2DLayeredLayers", {"hipDeviceAttributeMaxTexture2DLayeredLayers", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 29 + // CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT + {"cudaDevAttrSurfaceAlignment", {"hipDeviceAttributeSurfaceAlignment", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 30 + // CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS + {"cudaDevAttrConcurrentKernels", {"hipDeviceAttributeConcurrentKernels", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 31 + // CU_DEVICE_ATTRIBUTE_ECC_ENABLED + {"cudaDevAttrEccEnabled", {"hipDeviceAttributeEccEnabled", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 32 + // CU_DEVICE_ATTRIBUTE_PCI_BUS_ID + {"cudaDevAttrPciBusId", {"hipDeviceAttributePciBusId", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 33 + // CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID + {"cudaDevAttrPciDeviceId", {"hipDeviceAttributePciDeviceId", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 34 + // CU_DEVICE_ATTRIBUTE_TCC_DRIVER + {"cudaDevAttrTccDriver", {"hipDeviceAttributeTccDriver", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 35 + // CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE + {"cudaDevAttrMemoryClockRate", {"hipDeviceAttributeMemoryClockRate", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 36 + // CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH + {"cudaDevAttrGlobalMemoryBusWidth", {"hipDeviceAttributeMemoryBusWidth", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 37 + // CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE + {"cudaDevAttrL2CacheSize", {"hipDeviceAttributeL2CacheSize", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 38 + // CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR + {"cudaDevAttrMaxThreadsPerMultiProcessor", {"hipDeviceAttributeMaxThreadsPerMultiProcessor", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 39 + // CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT + {"cudaDevAttrAsyncEngineCount", {"hipDeviceAttributeAsyncEngineCount", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 40 + // CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING + {"cudaDevAttrUnifiedAddressing", {"hipDeviceAttributeUnifiedAddressing", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 41 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH + {"cudaDevAttrMaxTexture1DLayeredWidth", {"hipDeviceAttributeMaxTexture1DLayeredWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 42 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS + {"cudaDevAttrMaxTexture1DLayeredLayers", {"hipDeviceAttributeMaxTexture1DLayeredLayers", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 43 + // 44 - no + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH + {"cudaDevAttrMaxTexture2DGatherWidth", {"hipDeviceAttributeMaxTexture2DGatherWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 45 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT + {"cudaDevAttrMaxTexture2DGatherHeight", {"hipDeviceAttributeMaxTexture2DGatherHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 46 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE + {"cudaDevAttrMaxTexture3DWidthAlt", {"hipDeviceAttributeMaxTexture3DWidthAlternate", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 47 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE + {"cudaDevAttrMaxTexture3DHeightAlt", {"hipDeviceAttributeMaxTexture3DHeightAlternate", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 48 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE + {"cudaDevAttrMaxTexture3DDepthAlt", {"hipDeviceAttributeMaxTexture3DDepthAlternate", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 49 + // CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID + {"cudaDevAttrPciDomainId", {"hipDeviceAttributePciDomainId", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 50 + // CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT + {"cudaDevAttrTexturePitchAlignment", {"hipDeviceAttributeTexturePitchAlignment", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 51 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH + {"cudaDevAttrMaxTextureCubemapWidth", {"hipDeviceAttributeMaxTextureCubemapWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 52 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH + {"cudaDevAttrMaxTextureCubemapLayeredWidth", {"hipDeviceAttributeMaxTextureCubemapLayeredWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 53 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS + {"cudaDevAttrMaxTextureCubemapLayeredLayers", {"hipDeviceAttributeMaxTextureCubemapLayeredLayers", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 54 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH + {"cudaDevAttrMaxSurface1DWidth", {"hipDeviceAttributeMaxSurface1DWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 55 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH + {"cudaDevAttrMaxSurface2DWidth", {"hipDeviceAttributeMaxSurface2DWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 56 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT + {"cudaDevAttrMaxSurface2DHeight", {"hipDeviceAttributeMaxSurface2DHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 57 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH + {"cudaDevAttrMaxSurface3DWidth", {"hipDeviceAttributeMaxSurface3DWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 58 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT + {"cudaDevAttrMaxSurface3DHeight", {"hipDeviceAttributeMaxSurface3DHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 59 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH + {"cudaDevAttrMaxSurface3DDepth", {"hipDeviceAttributeMaxSurface3DDepth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 60 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH + {"cudaDevAttrMaxSurface1DLayeredWidth", {"hipDeviceAttributeMaxSurface1DLayeredWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 61 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS + {"cudaDevAttrMaxSurface1DLayeredLayers", {"hipDeviceAttributeMaxSurface1DLayeredLayers", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 62 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH + {"cudaDevAttrMaxSurface2DLayeredWidth", {"hipDeviceAttributeMaxSurface2DLayeredWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 63 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT + {"cudaDevAttrMaxSurface2DLayeredHeight", {"hipDeviceAttributeMaxSurface2DLayeredHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 64 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LA YERS + {"cudaDevAttrMaxSurface2DLayeredLayers", {"hipDeviceAttributeMaxSurface2DLayeredLayers", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 65 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH + {"cudaDevAttrMaxSurfaceCubemapWidth", {"hipDeviceAttributeMaxSurfaceCubemapWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 66 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH + {"cudaDevAttrMaxSurfaceCubemapLayeredWidth", {"hipDeviceAttributeMaxSurfaceCubemapLayeredWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 67 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS + {"cudaDevAttrMaxSurfaceCubemapLayeredLayers", {"hipDeviceAttributeMaxSurfaceCubemapLayeredLayers", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 68 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH + {"cudaDevAttrMaxTexture1DLinearWidth", {"hipDeviceAttributeMaxTexture1DLinearWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 69 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH + {"cudaDevAttrMaxTexture2DLinearWidth", {"hipDeviceAttributeMaxTexture2DLinearWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 70 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT + {"cudaDevAttrMaxTexture2DLinearHeight", {"hipDeviceAttributeMaxTexture2DLinearHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 71 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH + {"cudaDevAttrMaxTexture2DLinearPitch", {"hipDeviceAttributeMaxTexture2DLinearPitch", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 72 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH + {"cudaDevAttrMaxTexture2DMipmappedWidth", {"hipDeviceAttributeMaxTexture2DMipmappedWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 73 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT + {"cudaDevAttrMaxTexture2DMipmappedHeight", {"hipDeviceAttributeMaxTexture2DMipmappedHeight", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 74 + // CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR + {"cudaDevAttrComputeCapabilityMajor", {"hipDeviceAttributeComputeCapabilityMajor", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 75 + // CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR + {"cudaDevAttrComputeCapabilityMinor", {"hipDeviceAttributeComputeCapabilityMinor", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 76 + // CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH + {"cudaDevAttrMaxTexture1DMipmappedWidth", {"hipDeviceAttributeMaxTexture1DMipmappedWidth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 77 + // CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED + {"cudaDevAttrStreamPrioritiesSupported", {"hipDeviceAttributeStreamPrioritiesSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 78 + // CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED + {"cudaDevAttrGlobalL1CacheSupported", {"hipDeviceAttributeGlobalL1CacheSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 79 + // CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED + {"cudaDevAttrLocalL1CacheSupported", {"hipDeviceAttributeLocalL1CacheSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 80 + // CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR + {"cudaDevAttrMaxSharedMemoryPerMultiprocessor", {"hipDeviceAttributeMaxSharedMemoryPerMultiprocessor", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 81 + // CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR + {"cudaDevAttrMaxRegistersPerMultiprocessor", {"hipDeviceAttributeMaxRegistersPerMultiprocessor", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 82 + // CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY + {"cudaDevAttrManagedMemory", {"hipDeviceAttributeManagedMemory", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 83 + // CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD + {"cudaDevAttrIsMultiGpuBoard", {"hipDeviceAttributeIsMultiGpuBoard", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 84 + // CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID + {"cudaDevAttrMultiGpuBoardGroupID", {"hipDeviceAttributeMultiGpuBoardGroupID", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 85 + // CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED + {"cudaDevAttrHostNativeAtomicSupported", {"hipDeviceAttributeHostNativeAtomicSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 86 + // CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO + {"cudaDevAttrSingleToDoublePrecisionPerfRatio", {"hipDeviceAttributeSingleToDoublePrecisionPerfRatio", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 87 + // CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS + {"cudaDevAttrPageableMemoryAccess", {"hipDeviceAttributePageableMemoryAccess", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 88 + // CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS + {"cudaDevAttrConcurrentManagedAccess", {"hipDeviceAttributeConcurrentManagedAccess", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 89 + // CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED + {"cudaDevAttrComputePreemptionSupported", {"hipDeviceAttributeComputePreemptionSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 90 + // CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM + {"cudaDevAttrCanUseHostPointerForRegisteredMem", {"hipDeviceAttributeCanUseHostPointerForRegisteredMem", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 91 + // CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS + {"cudaDevAttrReserved92", {"hipDeviceAttributeCanUseStreamMemOps", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 92 + // CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS + {"cudaDevAttrReserved93", {"hipDeviceAttributeCanUse64BitStreamMemOps", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 93 + // CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR + {"cudaDevAttrReserved94", {"hipDeviceAttributeCanUseStreamWaitValueNor", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 94 + // CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH + {"cudaDevAttrCooperativeLaunch", {"hipDeviceAttributeCooperativeLaunch", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 95 + // CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH + {"cudaDevAttrCooperativeMultiDeviceLaunch", {"hipDeviceAttributeCooperativeMultiDeviceLaunch", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 96 + // CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN + {"cudaDevAttrMaxSharedMemoryPerBlockOptin", {"hipDeviceAttributeMaxSharedMemoryPerBlockOptin", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 97 + // CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES + {"cudaDevAttrCanFlushRemoteWrites", {"hipDeviceAttributeCanFlushRemoteWrites", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 98 + // CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED + {"cudaDevAttrHostRegisterSupported", {"hipDeviceAttributeHostRegisterSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 99 + // CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES + {"cudaDevAttrPageableMemoryAccessUsesHostPageTables", {"hipDeviceAttributePageableMemoryAccessUsesHostPageTables", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 100 + // CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST + {"cudaDevAttrDirectManagedMemAccessFromHost", {"hipDeviceAttributeDirectManagedMemAccessFromHost", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 101 + + // CUdevice_P2PAttribute + {"cudaDeviceP2PAttr", {"hipDeviceP2PAttribute", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaDeviceP2PAttr enum values + // CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 0x01 + {"cudaDevP2PAttrPerformanceRank", {"hipDeviceP2PAttributePerformanceRank", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 0x02 + {"cudaDevP2PAttrAccessSupported", {"hipDeviceP2PAttributeAccessSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 0x03 + {"cudaDevP2PAttrNativeAtomicSupported", {"hipDeviceP2PAttributeNativeAtomicSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = 0x04 + {"cudaDevP2PAttrCudaArrayAccessSupported", {"hipDevP2PAttributeCudaArrayAccessSupported", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 + + // cudaEGL.h - presented only on Linux in nvidia-cuda-dev package + // CUeglColorFormat + {"cudaEglColorFormat", {"hipEglColorFormat", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaEglColorFormat enum values + // CU_EGL_COLOR_FORMAT_YUV420_PLANAR = 0x00 + {"cudaEglColorFormatYUV420Planar", {"hipEglColorFormatYUV420Planar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR= 0x01 + {"cudaEglColorFormatYUV420SemiPlanar ", {"hipEglColorFormatYUV420SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_EGL_COLOR_FORMAT_YUV422_PLANAR = 0x02 + {"cudaEglColorFormatYUV422Planar", {"hipEglColorFormatYUV422Planar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR = 0x03 + {"cudaEglColorFormatYUV422SemiPlanar", {"hipEglColorFormatYUV422SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_EGL_COLOR_FORMAT_RGB = 0x04 + {"cudaEglColorFormatRGB", {"hipEglColorFormatRGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 + // CU_EGL_COLOR_FORMAT_BGR = 0x05 + {"cudaEglColorFormatBGR", {"hipEglColorFormatBGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 5 + // CU_EGL_COLOR_FORMAT_ARGB = 0x06 + {"cudaEglColorFormatARGB", {"hipEglColorFormatARGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 6 + // CU_EGL_COLOR_FORMAT_RGBA = 0x07 + {"cudaEglColorFormatRGBA", {"hipEglColorFormatRGBA", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 7 + // CU_EGL_COLOR_FORMAT_L = 0x08 + {"cudaEglColorFormatL", {"hipEglColorFormatL", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 8 + // CU_EGL_COLOR_FORMAT_R = 0x09 + {"cudaEglColorFormatR", {"hipEglColorFormatR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 9 + // CU_EGL_COLOR_FORMAT_YUV444_PLANAR = 0x0A + {"cudaEglColorFormatYUV444Planar", {"hipEglColorFormatYUV444Planar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 10 + // CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR = 0x0B + {"cudaEglColorFormatYUV444SemiPlanar", {"hipEglColorFormatYUV444SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 11 + // CU_EGL_COLOR_FORMAT_YUYV_422 = 0x0C + {"cudaEglColorFormatYUYV422", {"hipEglColorFormatYUYV422", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 12 + // CU_EGL_COLOR_FORMAT_UYVY_422 = 0x0D + {"cudaEglColorFormatUYVY422", {"hipEglColorFormatUYVY422", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 13 + // CU_EGL_COLOR_FORMAT_ABGR = 0x0E + {"cudaEglColorFormatABGR", {"hipEglColorFormatABGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 14 + // CU_EGL_COLOR_FORMAT_BGRA = 0x0F + {"cudaEglColorFormatBGRA", {"hipEglColorFormatBGRA", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 15 + // CU_EGL_COLOR_FORMAT_A = 0x10 + {"cudaEglColorFormatA", {"hipEglColorFormatA", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 16 + // CU_EGL_COLOR_FORMAT_RG = 0x11 + {"cudaEglColorFormatRG", {"hipEglColorFormatRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 17 + // CU_EGL_COLOR_FORMAT_AYUV = 0x12 + {"cudaEglColorFormatAYUV", {"hipEglColorFormatAYUV", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 18 + // CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR = 0x13 + {"cudaEglColorFormatYVU444SemiPlanar", {"hipEglColorFormatYVU444SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 19 + // CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR = 0x14 + {"cudaEglColorFormatYVU422SemiPlanar", {"hipEglColorFormatYVU422SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 20 + // CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR = 0x15 + {"cudaEglColorFormatYVU420SemiPlanar", {"hipEglColorFormatYVU420SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 21 + // CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR = 0x16 + {"cudaEglColorFormatY10V10U10_444SemiPlanar", {"hipEglColorFormatY10V10U10_444SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 22 + // CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = 0x17 + {"cudaEglColorFormatY10V10U10_420SemiPlanar", {"hipEglColorFormatY10V10U10_420SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 23 + // CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR = 0x18 + {"cudaEglColorFormatY12V12U12_444SemiPlanar", {"hipEglColorFormatY12V12U12_444SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 24 + // CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR = 0x19 + {"cudaEglColorFormatY12V12U12_420SemiPlanar", {"hipEglColorFormatY12V12U12_420SemiPlanar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 25 + // CU_EGL_COLOR_FORMAT_VYUY_ER = 0x1A + {"cudaEglColorFormatVYUY_ER", {"hipEglColorFormatVYUY_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 26 + // CU_EGL_COLOR_FORMAT_UYVY_ER = 0x1B + {"cudaEglColorFormatUYVY_ER", {"hipEglColorFormatUYVY_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 27 + // CU_EGL_COLOR_FORMAT_YUYV_ER = 0x1C + {"cudaEglColorFormatYUYV_ER", {"hipEglColorFormatYUYV_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 28 + // CU_EGL_COLOR_FORMAT_YVYU_ER = 0x1D + {"cudaEglColorFormatYVYU_ER", {"hipEglColorFormatYVYU_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 29 + // CU_EGL_COLOR_FORMAT_YUV_ER = 0x1E + {"cudaEglColorFormatYUV_ER", {"hipEglColorFormatYUV_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 30 + // CU_EGL_COLOR_FORMAT_YUVA_ER = 0x1F + {"cudaEglColorFormatYUVA_ER", {"hipEglColorFormatYUVA_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 31 + // CU_EGL_COLOR_FORMAT_AYUV_ER = 0x20 + {"cudaEglColorFormatAYUV_ER", {"hipEglColorFormatAYUV_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 32 + // CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER = 0x21 + {"cudaEglColorFormatYUV444Planar_ER", {"hipEglColorFormatYUV444Planar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 33 + // CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER = 0x22 + {"cudaEglColorFormatYUV422Planar_ER", {"hipEglColorFormatYUV422Planar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 34 + // CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER = 0x23 + {"cudaEglColorFormatYUV420Planar_ER", {"hipEglColorFormatYUV420Planar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 35 + // CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER = 0x24 + {"cudaEglColorFormatYUV444SemiPlanar_ER", {"hipEglColorFormatYUV444SemiPlanar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 36 + // CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER = 0x25 + {"cudaEglColorFormatYUV422SemiPlanar_ER", {"hipEglColorFormatYUV422SemiPlanar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 37 + // CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER = 0x26 + {"cudaEglColorFormatYUV420SemiPlanar_ER", {"hipEglColorFormatYUV420SemiPlanar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 38 + // CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER = 0x27 + {"cudaEglColorFormatYVU444Planar_ER", {"hipEglColorFormatYVU444Planar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 39 + // CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER = 0x28 + {"cudaEglColorFormatYVU422Planar_ER", {"hipEglColorFormatYVU422Planar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 40 + // CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER = 0x29 + {"cudaEglColorFormatYVU420Planar_ER", {"hipEglColorFormatYVU420Planar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 41 + // CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER = 0x2A + {"cudaEglColorFormatYVU444SemiPlanar_ER", {"hipEglColorFormatYVU444SemiPlanar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 42 + // CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER = 0x2B + {"cudaEglColorFormatYVU422SemiPlanar_ER", {"hipEglColorFormatYVU422SemiPlanar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 43 + // CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER = 0x2C + {"cudaEglColorFormatYVU420SemiPlanar_ER", {"hipEglColorFormatYVU420SemiPlanar_ER", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 44 + // CU_EGL_COLOR_FORMAT_BAYER_RGGB = 0x2D + {"cudaEglColorFormatBayerRGGB", {"hipEglColorFormatBayerRGGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 45 + // CU_EGL_COLOR_FORMAT_BAYER_BGGR = 0x2E + {"cudaEglColorFormatBayerBGGR", {"hipEglColorFormatBayerBGGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 46 + // CU_EGL_COLOR_FORMAT_BAYER_GRBG = 0x2F + {"cudaEglColorFormatBayerGRBG", {"hipEglColorFormatBayerGRBG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 47 + // CU_EGL_COLOR_FORMAT_BAYER_GBRG = 0x30 + {"cudaEglColorFormatBayerGBRG", {"hipEglColorFormatBayerGBRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 48 + // CU_EGL_COLOR_FORMAT_BAYER10_RGGB = 0x31 + {"cudaEglColorFormatBayer10RGGB", {"hipEglColorFormatBayer10RGGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 49 + // CU_EGL_COLOR_FORMAT_BAYER10_BGGR = 0x32 + {"cudaEglColorFormatBayer10BGGR", {"hipEglColorFormatBayer10BGGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 50 + // CU_EGL_COLOR_FORMAT_BAYER10_GRBG = 0x33 + {"cudaEglColorFormatBayer10GRBG", {"hipEglColorFormatBayer10GRBG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 51 + // CU_EGL_COLOR_FORMAT_BAYER10_GBRG = 0x34 + {"cudaEglColorFormatBayer10GBRG", {"hipEglColorFormatBayer10GBRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 52 + // CU_EGL_COLOR_FORMAT_BAYER12_RGGB = 0x35 + {"cudaEglColorFormatBayer12RGGB", {"hipEglColorFormatBayer12RGGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 53 + // CU_EGL_COLOR_FORMAT_BAYER12_BGGR = 0x36 + {"cudaEglColorFormatBayer12BGGR", {"hipEglColorFormatBayer12BGGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 54 + // CU_EGL_COLOR_FORMAT_BAYER12_GRBG = 0x37 + {"cudaEglColorFormatBayer12GRBG", {"hipEglColorFormatBayer12GRBG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 55 + // CU_EGL_COLOR_FORMAT_BAYER12_GBRG = 0x38 + {"cudaEglColorFormatBayer12GBRG", {"hipEglColorFormatBayer12GBRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 56 + // CU_EGL_COLOR_FORMAT_BAYER14_RGGB = 0x39 + {"cudaEglColorFormatBayer14RGGB", {"hipEglColorFormatBayer14RGGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 57 + // CU_EGL_COLOR_FORMAT_BAYER14_BGGR = 0x3A + {"cudaEglColorFormatBayer14BGGR", {"hipEglColorFormatBayer14BGGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 58 + // CU_EGL_COLOR_FORMAT_BAYER14_GRBG = 0x3B + {"cudaEglColorFormatBayer14GRBG", {"hipEglColorFormatBayer14GRBG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 59 + // CU_EGL_COLOR_FORMAT_BAYER14_GBRG = 0x3C + {"cudaEglColorFormatBayer14GBRG", {"hipEglColorFormatBayer14GBRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 60 + // CU_EGL_COLOR_FORMAT_BAYER20_RGGB = 0x3D + {"cudaEglColorFormatBayer20RGGB", {"hipEglColorFormatBayer20RGGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 61 + // CU_EGL_COLOR_FORMAT_BAYER20_BGGR = 0x3E + {"cudaEglColorFormatBayer20BGGR", {"hipEglColorFormatBayer20BGGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 62 + // CU_EGL_COLOR_FORMAT_BAYER20_GRBG = 0x3F + {"cudaEglColorFormatBayer20GRBG", {"hipEglColorFormatBayer20GRBG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 63 + // CU_EGL_COLOR_FORMAT_BAYER20_GBRG = 0x40 + {"cudaEglColorFormatBayer20GBRG", {"hipEglColorFormatBayer20GBRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 64 + // CU_EGL_COLOR_FORMAT_YVU444_PLANAR = 0x41 + {"cudaEglColorFormatYVU444Planar", {"hipEglColorFormatYVU444Planar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 65 + // CU_EGL_COLOR_FORMAT_YVU422_PLANAR = 0x42 + {"cudaEglColorFormatYVU422Planar", {"hipEglColorFormatYVU422Planar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 66 + // CU_EGL_COLOR_FORMAT_YVU420_PLANAR = 0x43 + {"cudaEglColorFormatYVU420Planar", {"hipEglColorFormatYVU420Planar", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 67 + // CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB = 0x44 + {"cudaEglColorFormatBayerIspRGGB", {"hipEglColorFormatBayerIspRGGB", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 68 + // CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR = 0x45 + {"cudaEglColorFormatBayerIspBGGR", {"hipEglColorFormatBayerIspBGGR", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 69 + // CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG = 0x46 + {"cudaEglColorFormatBayerIspGRBG", {"hipEglColorFormatBayerIspGRBG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 70 + // CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG = 0x47 + {"cudaEglColorFormatBayerIspGBRG", {"hipEglColorFormatBayerIspGBRG", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 71 + + // CUeglFrameType + {"cudaEglFrameType", {"hipEglFrameType", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaEglFrameType enum values + // CU_EGL_FRAME_TYPE_ARRAY + {"cudaEglFrameTypeArray", {"hipEglFrameTypeArray", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_EGL_FRAME_TYPE_PITCH + {"cudaEglFrameTypePitch", {"hipEglFrameTypePitch", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + + // CUeglResourceLocationFlags + {"cudaEglResourceLocationFlags", {"hipEglResourceLocationFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaEglResourceLocationFlagss enum values + // CU_EGL_RESOURCE_LOCATION_SYSMEM + {"cudaEglResourceLocationSysmem", {"hipEglResourceLocationSysmem", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 + // CU_EGL_RESOURCE_LOCATION_VIDMEM + {"cudaEglResourceLocationVidmem", {"hipEglResourceLocationVidmem", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CUresult {"cudaError", {"hipError_t", CONV_TYPE, API_RUNTIME}}, {"cudaError_t", {"hipError_t", CONV_TYPE, API_RUNTIME}}, @@ -256,439 +769,548 @@ const std::map CUDA_RUNTIME_TYPE_NAME_MAP { // Deprecated since CUDA 4.1 {"cudaErrorApiFailureBase", {"hipErrorApiFailureBase", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 10000 + // CUexternalMemoryHandleType + {"cudaExternalMemoryHandleType", {"hipExternalMemoryHandleType", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaExternalMemoryHandleType enum values + // CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD + {"cudaExternalMemoryHandleTypeOpaqueFd", {"hipExternalMemoryHandleTypeOpaqueFD", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 + {"cudaExternalMemoryHandleTypeOpaqueWin32", {"hipExternalMemoryHandleTypeOpaqueWin32", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT + {"cudaExternalMemoryHandleTypeOpaqueWin32Kmt", {"hipExternalMemoryHandleTypeOpaqueWin32KMT", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP + {"cudaExternalMemoryHandleTypeD3D12Heap", {"hipExternalMemoryHandleTypeD3D12Heap", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 + // CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE + {"cudaExternalMemoryHandleTypeD3D12Resource", {"hipExternalMemoryHandleTypeD3D12Resource", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 5 - {"libraryPropertyType_t", {"hipLibraryPropertyType_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"libraryPropertyType", {"hipLibraryPropertyType_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUexternalSemaphoreHandleType + {"cudaExternalSemaphoreHandleType", {"hipExternalSemaphoreHandleType", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaExternalSemaphoreHandleType enum values + // CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD + {"cudaExternalSemaphoreHandleTypeOpaqueFd", {"hipExternalSemaphoreHandleTypeOpaqueFD", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 + {"cudaExternalSemaphoreHandleTypeOpaqueWin32", {"hipExternalSemaphoreHandleTypeOpaqueWin32", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT + {"cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt", {"hipExternalSemaphoreHandleTypeOpaqueWin32KMT", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE + {"cudaExternalSemaphoreHandleTypeD3D12Fence", {"hipExternalSemaphoreHandleTypeD3D12Fence", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 - {"cudaStreamCallback_t", {"hipStreamCallback_t", CONV_TYPE, API_RUNTIME}}, + // CUfunction_attribute + // NOTE: only last, starting from 8, values are presented and are equal to Driver's ones + {"cudaFuncAttribute", {"hipFuncAttribute", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaFuncAttribute enum values + // CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES + {"cudaFuncAttributeMaxDynamicSharedMemorySize", {"hipFuncAttributeMaxDynamicSharedMemorySize", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 8 + // CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT + {"cudaFuncAttributePreferredSharedMemoryCarveout", {"hipFuncAttributePreferredSharedMemoryCarveout", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 9 + // CU_FUNC_ATTRIBUTE_MAX + {"cudaFuncAttributeMax", {"hipFuncAttributeMax", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 10 - // Arrays - {"cudaArray", {"hipArray", CONV_TYPE, API_RUNTIME}}, - // typedef struct cudaArray *cudaArray_t; + // CUfunc_cache + {"cudaFuncCache", {"hipFuncCache_t", CONV_TYPE, API_RUNTIME}}, + // cudaFuncCache enum values + // CU_FUNC_CACHE_PREFER_NONE = 0x00 + {"cudaFuncCachePreferNone", {"hipFuncCachePreferNone", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + // CU_FUNC_CACHE_PREFER_SHARED = 0x01 + {"cudaFuncCachePreferShared", {"hipFuncCachePreferShared", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + // CU_FUNC_CACHE_PREFER_L1 = 0x02 + {"cudaFuncCachePreferL1", {"hipFuncCachePreferL1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + // CU_FUNC_CACHE_PREFER_EQUAL = 0x03 + {"cudaFuncCachePreferEqual", {"hipFuncCachePreferEqual", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 - {"cudaArray_t", {"hipArray_t", CONV_TYPE, API_RUNTIME}}, - // typedef const struct cudaArray *cudaArray_const_t; + // CUarray_cubemap_face + {"cudaGraphicsCubeFace", {"hipGraphicsCubeFace", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaGraphicsCubeFace enum values + // CU_CUBEMAP_FACE_POSITIVE_X + {"cudaGraphicsCubeFacePositiveX", {"hipGraphicsCubeFacePositiveX", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 + // CU_CUBEMAP_FACE_NEGATIVE_X + {"cudaGraphicsCubeFaceNegativeX", {"hipGraphicsCubeFaceNegativeX", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CU_CUBEMAP_FACE_POSITIVE_Y + {"cudaGraphicsCubeFacePositiveY", {"hipGraphicsCubeFacePositiveY", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 + // CU_CUBEMAP_FACE_NEGATIVE_Y + {"cudaGraphicsCubeFaceNegativeY", {"hipGraphicsCubeFaceNegativeY", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x03 + // CU_CUBEMAP_FACE_POSITIVE_Z + {"cudaGraphicsCubeFacePositiveZ", {"hipGraphicsCubeFacePositiveZ", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x04 + // CU_CUBEMAP_FACE_NEGATIVE_Z + {"cudaGraphicsCubeFaceNegativeZ", {"hipGraphicsCubeFaceNegativeZ", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x05 - {"cudaArray_const_t", {"hipArray_const_t", CONV_TYPE, API_RUNTIME}}, - {"cudaMipmappedArray_t", {"hipMipmappedArray_t", CONV_TYPE, API_RUNTIME}}, - {"cudaMipmappedArray_const_t", {"hipMipmappedArray_const_t", CONV_TYPE, API_RUNTIME}}, + // CUgraphicsMapResourceFlags + {"cudaGraphicsMapFlags", {"hipGraphicsMapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaGraphicsMapFlags enum values + // CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00 + {"cudaGraphicsMapFlagsNone", {"hipGraphicsMapFlagsNone", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01 + {"cudaGraphicsMapFlagsReadOnly", {"hipGraphicsMapFlagsReadOnly", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02 + {"cudaGraphicsMapFlagsWriteDiscard", {"hipGraphicsMapFlagsWriteDiscard", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 - // defines - {"cudaArrayDefault", {"hipArrayDefault", CONV_TYPE, API_RUNTIME}}, - {"cudaArrayLayered", {"hipArrayLayered", CONV_TYPE, API_RUNTIME}}, - {"cudaArraySurfaceLoadStore", {"hipArraySurfaceLoadStore", CONV_TYPE, API_RUNTIME}}, - {"cudaArrayCubemap", {"hipArrayCubemap", CONV_TYPE, API_RUNTIME}}, - {"cudaArrayTextureGather", {"hipArrayTextureGather", CONV_TYPE, API_RUNTIME}}, + // CUgraphicsRegisterFlags + {"cudaGraphicsRegisterFlags", {"hipGraphicsRegisterFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaGraphicsRegisterFlags enum values + // CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00 + {"cudaGraphicsRegisterFlagsNone", {"hipGraphicsRegisterFlagsNone", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01 + {"cudaGraphicsRegisterFlagsReadOnly", {"hipGraphicsRegisterFlagsReadOnly", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 0x02 + {"cudaGraphicsRegisterFlagsWriteDiscard", {"hipGraphicsRegisterFlagsWriteDiscard", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 0x04 + {"cudaGraphicsRegisterFlagsSurfaceLoadStore", {"hipGraphicsRegisterFlagsSurfaceLoadStore", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 + // CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 0x08 + {"cudaGraphicsRegisterFlagsTextureGather", {"hipGraphicsRegisterFlagsTextureGather", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 8 - {"cudaMemoryAdvise", {"hipMemAdvise", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUmem_advise) - {"cudaMemRangeAttribute", {"hipMemRangeAttribute", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUmem_range_attribute) - {"cudaMemcpyKind", {"hipMemcpyKind", CONV_TYPE, API_RUNTIME}}, - {"cudaMemoryType", {"hipMemoryType", CONV_TYPE, API_RUNTIME}}, // API_Driver ANALOGUE (no - CUmemorytype is not an analogue) + // CUgraphNodeType + {"cudaGraphNodeType", {"hipGraphNodeType", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaGraphNodeType enum values + // CU_GRAPH_NODE_TYPE_KERNEL = 0 + {"cudaGraphNodeTypeKernel", {"hipGraphNodeTypeKernel", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 + // CU_GRAPH_NODE_TYPE_MEMCPY = 1 + {"cudaGraphNodeTypeMemcpy", {"hipGraphNodeTypeMemcpy", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CU_GRAPH_NODE_TYPE_MEMSET = 2 + {"cudaGraphNodeTypeMemset", {"hipGraphNodeTypeMemset", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 + // CU_GRAPH_NODE_TYPE_HOST = 3 + {"cudaGraphNodeTypeHost", {"hipGraphNodeTypeHost", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x03 + // CU_GRAPH_NODE_TYPE_GRAPH = 4 + {"cudaGraphNodeTypeGraph", {"hipGraphNodeTypeGraph", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x04 + // CU_GRAPH_NODE_TYPE_EMPTY = 5 + {"cudaGraphNodeTypeEmpty", {"hipGraphNodeTypeEmpty", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x05 + // CU_GRAPH_NODE_TYPE_COUNT + {"cudaGraphNodeTypeCount", {"hipGraphNodeTypeCount", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaPitchedPtr", {"hipPitchedPtr", CONV_TYPE, API_RUNTIME}}, - {"cudaPos", {"hipPos", CONV_TYPE, API_RUNTIME}}, + // CUlimit + {"cudaLimit", {"hipLimit_t", CONV_TYPE, API_RUNTIME}}, + // cudaLimit enum values + // CU_LIMIT_STACK_SIZE + {"cudaLimitStackSize", {"hipLimitStackSize", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 + // CU_LIMIT_PRINTF_FIFO_SIZE + {"cudaLimitPrintfFifoSize", {"hipLimitPrintfFifoSize", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CU_LIMIT_MALLOC_HEAP_SIZE + {"cudaLimitMallocHeapSize", {"hipLimitMallocHeapSize", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x02 + // CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH + {"cudaLimitDevRuntimeSyncDepth", {"hipLimitDevRuntimeSyncDepth", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x03 + // CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT + {"cudaLimitDevRuntimePendingLaunchCount", {"hipLimitDevRuntimePendingLaunchCount", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x04 + // CU_LIMIT_MAX_L2_FETCH_GRANULARITY + {"cudaLimitMaxL2FetchGranularity", {"hipLimitMaxL2FetchGranularity", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x05 - {"cudaEvent_t", {"hipEvent_t", CONV_TYPE, API_RUNTIME}}, - {"cudaStream_t", {"hipStream_t", CONV_TYPE, API_RUNTIME}}, - {"cudaPointerAttributes", {"hipPointerAttribute_t", CONV_TYPE, API_RUNTIME}}, + // no analogue + {"cudaMemcpyKind", {"hipMemcpyKind", CONV_TYPE, API_RUNTIME}}, + // cudaMemcpyKind enum values + {"cudaMemcpyHostToHost", {"hipMemcpyHostToHost", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + {"cudaMemcpyHostToDevice", {"hipMemcpyHostToDevice", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + {"cudaMemcpyDeviceToHost", {"hipMemcpyDeviceToHost", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + {"cudaMemcpyDeviceToDevice", {"hipMemcpyDeviceToDevice", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 + {"cudaMemcpyDefault", {"hipMemcpyDefault", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 4 - {"cudaDeviceAttr", {"hipDeviceAttribute_t", CONV_TYPE, API_RUNTIME}}, // API_DRIVER ANALOGUE (CUdevice_attribute) - {"cudaDeviceP2PAttr", {"hipDeviceP2PAttribute", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_DRIVER ANALOGUE (CUdevice_P2PAttribute) - {"cudaComputeMode", {"hipComputeMode", CONV_TYPE, API_RUNTIME}}, // API_DRIVER ANALOGUE (CUcomputemode) - {"cudaFuncCache", {"hipFuncCache_t", CONV_TYPE, API_RUNTIME}}, // API_Driver ANALOGUE (CUfunc_cache) - {"cudaSharedMemConfig", {"hipSharedMemConfig", CONV_TYPE, API_RUNTIME}}, - {"cudaLimit", {"hipLimit_t", CONV_TYPE, API_RUNTIME}}, // API_Driver ANALOGUE (CUlimit) + // CUmem_advise + {"cudaMemoryAdvise", {"hipMemAdvise", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaMemoryAdvise enum values + // CU_MEM_ADVISE_SET_READ_MOSTLY + {"cudaMemAdviseSetReadMostly", {"hipMemAdviseSetReadMostly", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_MEM_ADVISE_UNSET_READ_MOSTLY + {"cudaMemAdviseUnsetReadMostly", {"hipMemAdviseUnsetReadMostly", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_MEM_ADVISE_SET_PREFERRED_LOCATION + {"cudaMemAdviseSetPreferredLocation", {"hipMemAdviseSetPreferredLocation", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION + {"cudaMemAdviseUnsetPreferredLocation", {"hipMemAdviseUnsetPreferredLocation", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 + // CU_MEM_ADVISE_SET_ACCESSED_BY + {"cudaMemAdviseSetAccessedBy", {"hipMemAdviseSetAccessedBy", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 5 + // CU_MEM_ADVISE_UNSET_ACCESSED_BY + {"cudaMemAdviseUnsetAccessedBy", {"hipMemAdviseUnsetAccessedBy", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 6 - {"cudaOutputMode", {"hipOutputMode", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - - // Texture reference management - {"cudaTextureReadMode", {"hipTextureReadMode", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureFilterMode", {"hipTextureFilterMode", CONV_TYPE, API_RUNTIME}}, // API_DRIVER ANALOGUE (CUfilter_mode) - - {"cudaChannelFormatKind", {"hipChannelFormatKind", CONV_TYPE, API_RUNTIME}}, - - // Texture Object Management - {"cudaResourceDesc", {"hipResourceDesc", CONV_TYPE, API_RUNTIME}}, - {"cudaResourceViewDesc", {"hipResourceViewDesc", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureDesc", {"hipTextureDesc", CONV_TYPE, API_RUNTIME}}, - {"surfaceReference", {"hipSurfaceReference", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - // Left unchanged - // {"textureReference", {"textureReference", CONV_TYPE, API_RUNTIME}}, - - // typedefs - {"cudaTextureObject_t", {"hipTextureObject_t", CONV_TYPE, API_RUNTIME}}, - {"cudaSurfaceObject_t", {"hipSurfaceObject_t", CONV_TYPE, API_RUNTIME}}, - - // enums - {"cudaResourceType", {"hipResourceType", CONV_TYPE, API_RUNTIME}}, // API_Driver ANALOGUE (CUresourcetype) - {"cudaResourceViewFormat", {"hipResourceViewFormat", CONV_TYPE, API_RUNTIME}}, // API_Driver ANALOGUE (CUresourceViewFormat) - {"cudaTextureAddressMode", {"hipTextureAddressMode", CONV_TYPE, API_RUNTIME}}, - {"cudaSurfaceBoundaryMode", {"hipSurfaceBoundaryMode", CONV_TYPE, API_RUNTIME}}, - - {"cudaSurfaceFormatMode", {"hipSurfaceFormatMode", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - - // defines - {"cudaTextureType1D", {"hipTextureType1D", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureType2D", {"hipTextureType2D", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureType3D", {"hipTextureType3D", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureTypeCubemap", {"hipTextureTypeCubemap", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureType1DLayered", {"hipTextureType1DLayered", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureType2DLayered", {"hipTextureType2DLayered", CONV_TYPE, API_RUNTIME}}, - {"cudaTextureTypeCubemapLayered", {"hipTextureTypeCubemapLayered", CONV_TYPE, API_RUNTIME}}, - - // Graphics Interoperability - {"cudaGraphicsCubeFace", {"hipGraphicsCubeFace", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsMapFlags", {"hipGraphicsMapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUgraphicsMapResourceFlags) - {"cudaGraphicsRegisterFlags", {"hipGraphicsRegisterFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUgraphicsRegisterFlags) - - // OpenGL Interoperability - {"cudaGLDeviceList", {"hipGLDeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUGLDeviceList) - {"cudaGLMapFlags", {"hipGLMapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUGLmap_flags) - - // Direct3D 9 Interoperability - {"cudaD3D9DeviceList", {"hipD3D9DeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d9DeviceList) - {"cudaD3D9MapFlags", {"hipD3D9MapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d9map_flags) - {"cudaD3D9RegisterFlags", {"hipD3D9RegisterFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d9Register_flags) - - // Direct3D 10 Interoperability - {"cudaD3D10DeviceList", {"hipd3d10DeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d10DeviceList) - {"cudaD3D10MapFlags", {"hipD3D10MapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d10map_flags) - {"cudaD3D10RegisterFlags", {"hipD3D10RegisterFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d10Register_flags) - - // Direct3D 11 Interoperability - {"cudaD3D11DeviceList", {"hipd3d11DeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d11DeviceList) - - // EGL Interoperability - {"cudaEglStreamConnection", {"hipEglStreamConnection", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUeglStreamConnection) - - - // Library property types - // IMPORTANT: no cuda prefix - {"MAJOR_VERSION", {"hipLibraryMajorVersion", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"MINOR_VERSION", {"hipLibraryMinorVersion", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"PATCH_LEVEL", {"hipLibraryPatchVersion", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - - // defines - {"cudaMemAttachGlobal", {"hipMemAttachGlobal", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 // API_Driver ANALOGUE (CU_MEM_ATTACH_GLOBAL = 0x1) - {"cudaMemAttachHost", {"hipMemAttachHost", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 // API_Driver ANALOGUE (CU_MEM_ATTACH_HOST = 0x2) - {"cudaMemAttachSingle", {"hipMemAttachSingle", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x04 // API_Driver ANALOGUE (CU_MEM_ATTACH_SINGLE = 0x4) - - {"cudaOccupancyDefault", {"hipOccupancyDefault", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 // API_Driver ANALOGUE (CU_OCCUPANCY_DEFAULT = 0x0) - {"cudaOccupancyDisableCachingOverride", {"hipOccupancyDisableCachingOverride", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 // API_Driver ANALOGUE (CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 0x1) - - - // enum cudaDeviceAttr - {"cudaDevAttrMaxThreadsPerBlock", {"hipDeviceAttributeMaxThreadsPerBlock", CONV_TYPE, API_RUNTIME}}, // 1 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1) - {"cudaDevAttrMaxBlockDimX", {"hipDeviceAttributeMaxBlockDimX", CONV_TYPE, API_RUNTIME}}, // 2 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2) - {"cudaDevAttrMaxBlockDimY", {"hipDeviceAttributeMaxBlockDimY", CONV_TYPE, API_RUNTIME}}, // 3 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3) - {"cudaDevAttrMaxBlockDimZ", {"hipDeviceAttributeMaxBlockDimZ", CONV_TYPE, API_RUNTIME}}, // 4 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4) - {"cudaDevAttrMaxGridDimX", {"hipDeviceAttributeMaxGridDimX", CONV_TYPE, API_RUNTIME}}, // 5 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5) - {"cudaDevAttrMaxGridDimY", {"hipDeviceAttributeMaxGridDimY", CONV_TYPE, API_RUNTIME}}, // 6 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 6) - {"cudaDevAttrMaxGridDimZ", {"hipDeviceAttributeMaxGridDimZ", CONV_TYPE, API_RUNTIME}}, // 7 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 7) - {"cudaDevAttrMaxSharedMemoryPerBlock", {"hipDeviceAttributeMaxSharedMemoryPerBlock", CONV_TYPE, API_RUNTIME}}, // 8 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8) - {"cudaDevAttrTotalConstantMemory", {"hipDeviceAttributeTotalConstantMemory", CONV_TYPE, API_RUNTIME}}, // 9 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY =9) - {"cudaDevAttrWarpSize", {"hipDeviceAttributeWarpSize", CONV_TYPE, API_RUNTIME}}, // 10 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10) - {"cudaDevAttrMaxPitch", {"hipDeviceAttributeMaxPitch", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 11 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11) - {"cudaDevAttrMaxRegistersPerBlock", {"hipDeviceAttributeMaxRegistersPerBlock", CONV_TYPE, API_RUNTIME}}, // 12 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12) - {"cudaDevAttrClockRate", {"hipDeviceAttributeClockRate", CONV_TYPE, API_RUNTIME}}, // 13 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13) - {"cudaDevAttrTextureAlignment", {"hipDeviceAttributeTextureAlignment", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 14 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14) - // Is not deprecated as CUDA Driver's API analogue CU_DEVICE_ATTRIBUTE_GPU_OVERLAP - {"cudaDevAttrGpuOverlap", {"hipDeviceAttributeGpuOverlap", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 15 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15) - {"cudaDevAttrMultiProcessorCount", {"hipDeviceAttributeMultiprocessorCount", CONV_TYPE, API_RUNTIME}}, // 16 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16) - {"cudaDevAttrKernelExecTimeout", {"hipDeviceAttributeKernelExecTimeout", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 17 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17) - {"cudaDevAttrIntegrated", {"hipDeviceAttributeIntegrated", CONV_TYPE, API_RUNTIME}}, // 18 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_INTEGRATED = 18) - {"cudaDevAttrCanMapHostMemory", {"hipDeviceAttributeCanMapHostMemory", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 19 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19) - {"cudaDevAttrComputeMode", {"hipDeviceAttributeComputeMode", CONV_TYPE, API_RUNTIME}}, // 20 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20) - {"cudaDevAttrMaxTexture1DWidth", {"hipDeviceAttributeMaxTexture1DWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 21 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21) - {"cudaDevAttrMaxTexture2DWidth", {"hipDeviceAttributeMaxTexture2DWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 22 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22) - {"cudaDevAttrMaxTexture2DHeight", {"hipDeviceAttributeMaxTexture2DHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 23 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23) - {"cudaDevAttrMaxTexture3DWidth", {"hipDeviceAttributeMaxTexture3DWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 24 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24) - {"cudaDevAttrMaxTexture3DHeight", {"hipDeviceAttributeMaxTexture3DHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 25 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25) - {"cudaDevAttrMaxTexture3DDepth", {"hipDeviceAttributeMaxTexture3DDepth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 26 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26) - {"cudaDevAttrMaxTexture2DLayeredWidth", {"hipDeviceAttributeMaxTexture2DLayeredWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 27 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27) - {"cudaDevAttrMaxTexture2DLayeredHeight", {"hipDeviceAttributeMaxTexture2DLayeredHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 28 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28) - {"cudaDevAttrMaxTexture2DLayeredLayers", {"hipDeviceAttributeMaxTexture2DLayeredLayers", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 29 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29) - {"cudaDevAttrSurfaceAlignment", {"hipDeviceAttributeSurfaceAlignment", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 30 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30) - {"cudaDevAttrConcurrentKernels", {"hipDeviceAttributeConcurrentKernels", CONV_TYPE, API_RUNTIME}}, // 31 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31) - {"cudaDevAttrEccEnabled", {"hipDeviceAttributeEccEnabled", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 32 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32) - {"cudaDevAttrPciBusId", {"hipDeviceAttributePciBusId", CONV_TYPE, API_RUNTIME}}, // 33 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33) - {"cudaDevAttrPciDeviceId", {"hipDeviceAttributePciDeviceId", CONV_TYPE, API_RUNTIME}}, // 34 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34) - {"cudaDevAttrTccDriver", {"hipDeviceAttributeTccDriver", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 35 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35) - {"cudaDevAttrMemoryClockRate", {"hipDeviceAttributeMemoryClockRate", CONV_TYPE, API_RUNTIME}}, // 36 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36) - {"cudaDevAttrGlobalMemoryBusWidth", {"hipDeviceAttributeMemoryBusWidth", CONV_TYPE, API_RUNTIME}}, // 37 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37) - {"cudaDevAttrL2CacheSize", {"hipDeviceAttributeL2CacheSize", CONV_TYPE, API_RUNTIME}}, // 38 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38) - {"cudaDevAttrMaxThreadsPerMultiProcessor", {"hipDeviceAttributeMaxThreadsPerMultiProcessor", CONV_TYPE, API_RUNTIME}}, // 39 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39) - {"cudaDevAttrAsyncEngineCount", {"hipDeviceAttributeAsyncEngineCount", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 40 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40) - {"cudaDevAttrUnifiedAddressing", {"hipDeviceAttributeUnifiedAddressing", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 41 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41) - {"cudaDevAttrMaxTexture1DLayeredWidth", {"hipDeviceAttributeMaxTexture1DLayeredWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 42 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42) - {"cudaDevAttrMaxTexture1DLayeredLayers", {"hipDeviceAttributeMaxTexture1DLayeredLayers", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 43 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43) - // 44 - no - {"cudaDevAttrMaxTexture2DGatherWidth", {"hipDeviceAttributeMaxTexture2DGatherWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 45 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45) - {"cudaDevAttrMaxTexture2DGatherHeight", {"hipDeviceAttributeMaxTexture2DGatherHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 46 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46) - {"cudaDevAttrMaxTexture3DWidthAlt", {"hipDeviceAttributeMaxTexture3DWidthAlternate", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 47 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47) - {"cudaDevAttrMaxTexture3DHeightAlt", {"hipDeviceAttributeMaxTexture3DHeightAlternate", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 48 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48) - {"cudaDevAttrMaxTexture3DDepthAlt", {"hipDeviceAttributeMaxTexture3DDepthAlternate", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 49 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49) - {"cudaDevAttrPciDomainId", {"hipDeviceAttributePciDomainId", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 50 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50) - {"cudaDevAttrTexturePitchAlignment", {"hipDeviceAttributeTexturePitchAlignment", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 51 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51) - {"cudaDevAttrMaxTextureCubemapWidth", {"hipDeviceAttributeMaxTextureCubemapWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 52 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52) - {"cudaDevAttrMaxTextureCubemapLayeredWidth", {"hipDeviceAttributeMaxTextureCubemapLayeredWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 53 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53) - {"cudaDevAttrMaxTextureCubemapLayeredLayers", {"hipDeviceAttributeMaxTextureCubemapLayeredLayers", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 54 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54) - {"cudaDevAttrMaxSurface1DWidth", {"hipDeviceAttributeMaxSurface1DWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 55 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55) - {"cudaDevAttrMaxSurface2DWidth", {"hipDeviceAttributeMaxSurface2DWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 56 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56) - {"cudaDevAttrMaxSurface2DHeight", {"hipDeviceAttributeMaxSurface2DHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 57 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57) - {"cudaDevAttrMaxSurface3DWidth", {"hipDeviceAttributeMaxSurface3DWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 58 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58) - {"cudaDevAttrMaxSurface3DHeight", {"hipDeviceAttributeMaxSurface3DHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 59 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59) - {"cudaDevAttrMaxSurface3DDepth", {"hipDeviceAttributeMaxSurface3DDepth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 60 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60) - {"cudaDevAttrMaxSurface1DLayeredWidth", {"hipDeviceAttributeMaxSurface1DLayeredWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 61 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61) - {"cudaDevAttrMaxSurface1DLayeredLayers", {"hipDeviceAttributeMaxSurface1DLayeredLayers", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 62 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62) - {"cudaDevAttrMaxSurface2DLayeredWidth", {"hipDeviceAttributeMaxSurface2DLayeredWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 63 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63) - {"cudaDevAttrMaxSurface2DLayeredHeight", {"hipDeviceAttributeMaxSurface2DLayeredHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 64 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64) - {"cudaDevAttrMaxSurface2DLayeredLayers", {"hipDeviceAttributeMaxSurface2DLayeredLayers", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 65 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65) - {"cudaDevAttrMaxSurfaceCubemapWidth", {"hipDeviceAttributeMaxSurfaceCubemapWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 66 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66) - {"cudaDevAttrMaxSurfaceCubemapLayeredWidth", {"hipDeviceAttributeMaxSurfaceCubemapLayeredWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 67 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67) - {"cudaDevAttrMaxSurfaceCubemapLayeredLayers", {"hipDeviceAttributeMaxSurfaceCubemapLayeredLayers", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 68 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68) - {"cudaDevAttrMaxTexture1DLinearWidth", {"hipDeviceAttributeMaxTexture1DLinearWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 69 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69) - {"cudaDevAttrMaxTexture2DLinearWidth", {"hipDeviceAttributeMaxTexture2DLinearWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 70 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70) - {"cudaDevAttrMaxTexture2DLinearHeight", {"hipDeviceAttributeMaxTexture2DLinearHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 71 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71) - {"cudaDevAttrMaxTexture2DLinearPitch", {"hipDeviceAttributeMaxTexture2DLinearPitch", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 72 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72) - {"cudaDevAttrMaxTexture2DMipmappedWidth", {"hipDeviceAttributeMaxTexture2DMipmappedWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 73 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73) - {"cudaDevAttrMaxTexture2DMipmappedHeight", {"hipDeviceAttributeMaxTexture2DMipmappedHeight", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 74 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74) - {"cudaDevAttrComputeCapabilityMajor", {"hipDeviceAttributeComputeCapabilityMajor", CONV_TYPE, API_RUNTIME}}, // 75 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75) - {"cudaDevAttrComputeCapabilityMinor", {"hipDeviceAttributeComputeCapabilityMinor", CONV_TYPE, API_RUNTIME}}, // 76 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76) - {"cudaDevAttrMaxTexture1DMipmappedWidth", {"hipDeviceAttributeMaxTexture1DMipmappedWidth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 77 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77) - {"cudaDevAttrStreamPrioritiesSupported", {"hipDeviceAttributeStreamPrioritiesSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 78 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78) - {"cudaDevAttrGlobalL1CacheSupported", {"hipDeviceAttributeGlobalL1CacheSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 79 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79) - {"cudaDevAttrLocalL1CacheSupported", {"hipDeviceAttributeLocalL1CacheSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 80 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80) - {"cudaDevAttrMaxSharedMemoryPerMultiprocessor", {"hipDeviceAttributeMaxSharedMemoryPerMultiprocessor", CONV_TYPE, API_RUNTIME}}, // 81 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81) - {"cudaDevAttrMaxRegistersPerMultiprocessor", {"hipDeviceAttributeMaxRegistersPerMultiprocessor", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 82 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82) - {"cudaDevAttrManagedMemory", {"hipDeviceAttributeManagedMemory", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 83 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83) - {"cudaDevAttrIsMultiGpuBoard", {"hipDeviceAttributeIsMultiGpuBoard", CONV_TYPE, API_RUNTIME}}, // 84 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84) - {"cudaDevAttrMultiGpuBoardGroupID", {"hipDeviceAttributeMultiGpuBoardGroupID", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 85 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85) - {"cudaDevAttrHostNativeAtomicSupported", {"hipDeviceAttributeHostNativeAtomicSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 86 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86) - {"cudaDevAttrSingleToDoublePrecisionPerfRatio", {"hipDeviceAttributeSingleToDoublePrecisionPerfRatio", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 87 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87) - {"cudaDevAttrPageableMemoryAccess", {"hipDeviceAttributePageableMemoryAccess", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 88 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88) - {"cudaDevAttrConcurrentManagedAccess", {"hipDeviceAttributeConcurrentManagedAccess", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 89 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89) - {"cudaDevAttrComputePreemptionSupported", {"hipDeviceAttributeComputePreemptionSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 90 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90) - {"cudaDevAttrCanUseHostPointerForRegisteredMem", {"hipDeviceAttributeCanUseHostPointerForRegisteredMem", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 91 // API_DRIVER ANALOGUE (CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91) - - - // Memory advise values - {"cudaMemAdviseSetReadMostly", {"hipMemAdviseSetReadMostly", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_MEM_ADVISE_SET_READ_MOSTLY = 1) - {"cudaMemAdviseUnsetReadMostly", {"hipMemAdviseUnsetReadMostly", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2) - {"cudaMemAdviseSetPreferredLocation", {"hipMemAdviseSetPreferredLocation", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // API_Driver ANALOGUE (CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3) - {"cudaMemAdviseUnsetPreferredLocation", {"hipMemAdviseUnsetPreferredLocation", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 // API_Driver ANALOGUE (CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4) - {"cudaMemAdviseSetAccessedBy", {"hipMemAdviseSetAccessedBy", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 5 // API_Driver ANALOGUE (CU_MEM_ADVISE_SET_ACCESSED_BY = 5) - {"cudaMemAdviseUnsetAccessedBy", {"hipMemAdviseUnsetAccessedBy", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 6 // API_Driver ANALOGUE (CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6) + // no analogue + // NOTE: CUmemorytype is partial analogue + {"cudaMemoryType", {"hipMemoryType_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaMemoryType enum values + {"cudaMemoryTypeUnregistered", {"hipMemoryTypeUnregistered", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + {"cudaMemoryTypeHost", {"hipMemoryTypeHost", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + {"cudaMemoryTypeDevice", {"hipMemoryTypeDevice", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + {"cudaMemoryTypeManaged", {"hipMemoryTypeManaged", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // CUmem_range_attribute - {"cudaMemRangeAttributeReadMostly", {"hipMemRangeAttributeReadMostly", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1) - {"cudaMemRangeAttributePreferredLocation", {"hipMemRangeAttributePreferredLocation", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2) - {"cudaMemRangeAttributeAccessedBy", {"hipMemRangeAttributeAccessedBy", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // API_Driver ANALOGUE (CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = 3) - {"cudaMemRangeAttributeLastPrefetchLocation", {"hipMemRangeAttributeLastPrefetchLocation", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 // API_Driver ANALOGUE (CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4) + {"cudaMemRangeAttribute", {"hipMemRangeAttribute", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaMemRangeAttribute enum values + // CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY + {"cudaMemRangeAttributeReadMostly", {"hipMemRangeAttributeReadMostly", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION + {"cudaMemRangeAttributePreferredLocation", {"hipMemRangeAttributePreferredLocation", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY + {"cudaMemRangeAttributeAccessedBy", {"hipMemRangeAttributeAccessedBy", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION + {"cudaMemRangeAttributeLastPrefetchLocation", {"hipMemRangeAttributeLastPrefetchLocation", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 - // memcpy kind - {"cudaMemcpyHostToHost", {"hipMemcpyHostToHost", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyHostToDevice", {"hipMemcpyHostToDevice", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyDeviceToHost", {"hipMemcpyDeviceToHost", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyDeviceToDevice", {"hipMemcpyDeviceToDevice", CONV_MEM, API_RUNTIME}}, - {"cudaMemcpyDefault", {"hipMemcpyDefault", CONV_MEM, API_RUNTIME}}, + // no analogue + {"cudaOutputMode", {"hipOutputMode", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaOutputMode_t", {"hipOutputMode", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaOutputMode enum values + {"cudaKeyValuePair", {"hipKeyValuePair", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 + {"cudaCSV", {"hipCSV", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CUresourcetype + {"cudaResourceType", {"hipResourceType", CONV_TYPE, API_RUNTIME}}, + // cudaResourceType enum values + // CU_RESOURCE_TYPE_ARRAY + {"cudaResourceTypeArray", {"hipResourceTypeArray", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x00 + // CU_RESOURCE_TYPE_MIPMAPPED_ARRAY + {"cudaResourceTypeMipmappedArray", {"hipResourceTypeMipmappedArray", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x01 + // CU_RESOURCE_TYPE_LINEAR + {"cudaResourceTypeLinear", {"hipResourceTypeLinear", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x02 + // CU_RESOURCE_TYPE_PITCH2D + {"cudaResourceTypePitch2D", {"hipResourceTypePitch2D", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x03 - // Stream Flags (defines) - {"cudaStreamDefault", {"hipStreamDefault", CONV_TYPE, API_RUNTIME}}, - {"cudaStreamNonBlocking", {"hipStreamNonBlocking", CONV_TYPE, API_RUNTIME}}, - - // P2P Attributes (enum cudaDeviceP2PAttr) - {"cudaDevP2PAttrPerformanceRank", {"hipDeviceP2PAttributePerformanceRank", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 // API_DRIVER ANALOGUE (CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 0x01) - {"cudaDevP2PAttrAccessSupported", {"hipDeviceP2PAttributeAccessSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 // API_DRIVER ANALOGUE (CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 0x02) - {"cudaDevP2PAttrNativeAtomicSupported", {"hipDeviceP2PAttributeNativeAtomicSupported", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x03 // API_DRIVER ANALOGUE (CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 0x03) - // - {"cudaDeviceGetP2PAttribute", {"hipDeviceGetP2PAttribute", CONV_DEVICE, API_RUNTIME, HIP_UNSUPPORTED}}, // API_DRIVER ANALOGUE (cuDeviceGetP2PAttribute) - - // enum cudaComputeMode - {"cudaComputeModeDefault", {"hipComputeModeDefault", CONV_TYPE, API_RUNTIME}}, // 0 // API_DRIVER ANALOGUE (CU_COMPUTEMODE_DEFAULT = 0) - {"cudaComputeModeExclusive", {"hipComputeModeExclusive", CONV_TYPE, API_RUNTIME}}, // 1 // API_DRIVER ANALOGUE (CU_COMPUTEMODE_EXCLUSIVE = 1) - {"cudaComputeModeProhibited", {"hipComputeModeProhibited", CONV_TYPE, API_RUNTIME}}, // 2 // API_DRIVER ANALOGUE (CU_COMPUTEMODE_PROHIBITED = 2) - {"cudaComputeModeExclusiveProcess", {"hipComputeModeExclusiveProcess", CONV_TYPE, API_RUNTIME}}, // 3 // API_DRIVER ANALOGUE (CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3) - - // Device stuff (#defines) - {"cudaDeviceScheduleAuto", {"hipDeviceScheduleAuto", CONV_TYPE, API_RUNTIME}}, - {"cudaDeviceScheduleSpin", {"hipDeviceScheduleSpin", CONV_TYPE, API_RUNTIME}}, - {"cudaDeviceScheduleYield", {"hipDeviceScheduleYield", CONV_TYPE, API_RUNTIME}}, - // Deprecated since CUDA 4.0 and replaced with cudaDeviceScheduleBlockingSync - {"cudaDeviceBlockingSync", {"hipDeviceScheduleBlockingSync", CONV_TYPE, API_RUNTIME}}, - {"cudaDeviceScheduleBlockingSync", {"hipDeviceScheduleBlockingSync", CONV_TYPE, API_RUNTIME}}, - {"cudaDeviceScheduleMask", {"hipDeviceScheduleMask", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaDeviceMapHost", {"hipDeviceMapHost", CONV_TYPE, API_RUNTIME}}, - {"cudaDeviceLmemResizeToMax", {"hipDeviceLmemResizeToMax", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaDeviceMask", {"hipDeviceMask", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, - - // #define cudaIpcMemLazyEnablePeerAccess 0x01 - {"cudaIpcMemLazyEnablePeerAccess", {"hipIpcMemLazyEnablePeerAccess", CONV_TYPE, API_RUNTIME}}, // 0x01 // API_Driver ANALOGUE (CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1) - - // enum cudaSharedMemConfig - {"cudaSharedMemBankSizeDefault", {"hipSharedMemBankSizeDefault", CONV_TYPE, API_RUNTIME}}, - {"cudaSharedMemBankSizeFourByte", {"hipSharedMemBankSizeFourByte", CONV_TYPE, API_RUNTIME}}, - {"cudaSharedMemBankSizeEightByte", {"hipSharedMemBankSizeEightByte", CONV_TYPE, API_RUNTIME}}, - - // enum cudaLimit - {"cudaLimitStackSize", {"hipLimitStackSize", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 // API_Driver ANALOGUE (CU_LIMIT_STACK_SIZE = 0x00) - {"cudaLimitPrintfFifoSize", {"hipLimitPrintfFifoSize", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 // API_Driver ANALOGUE (CU_LIMIT_PRINTF_FIFO_SIZE = 0x01) - {"cudaLimitMallocHeapSize", {"hipLimitMallocHeapSize", CONV_TYPE, API_RUNTIME}}, // 0x02 // API_Driver ANALOGUE (CU_LIMIT_MALLOC_HEAP_SIZE = 0x02) - {"cudaLimitDevRuntimeSyncDepth", {"hipLimitDevRuntimeSyncDepth", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x03 // API_Driver ANALOGUE (CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = 0x03) - {"cudaLimitDevRuntimePendingLaunchCount", {"hipLimitDevRuntimePendingLaunchCount", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x04 // API_Driver ANALOGUE (CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = 0x04) - - // enum cudaGraphicsMapFlags - {"cudaGraphicsMapFlagsNone", {"hipGraphicsMapFlagsNone", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 // API_Driver ANALOGUE (CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00) - {"cudaGraphicsMapFlagsReadOnly", {"hipGraphicsMapFlagsReadOnly", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01) - {"cudaGraphicsMapFlagsWriteDiscard", {"hipGraphicsMapFlagsWriteDiscard", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02) - - // enum cudaGraphicsRegisterFlags - {"cudaGraphicsRegisterFlagsNone", {"hipGraphicsRegisterFlagsNone", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 // API_Driver ANALOGUE (CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00) - {"cudaGraphicsRegisterFlagsReadOnly", {"hipGraphicsRegisterFlagsReadOnly", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01) - {"cudaGraphicsRegisterFlagsWriteDiscard", {"hipGraphicsRegisterFlagsWriteDiscard", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = 0x02) - {"cudaGraphicsRegisterFlagsSurfaceLoadStore", {"hipGraphicsRegisterFlagsSurfaceLoadStore", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 4 // API_Driver ANALOGUE (CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = 0x04) - {"cudaGraphicsRegisterFlagsTextureGather", {"hipGraphicsRegisterFlagsTextureGather", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, // 8 // API_Driver ANALOGUE (CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = 0x08) - - // enum cudaMemoryType - {"cudaMemoryTypeHost", {"hipMemoryTypeHost", CONV_MEM, API_RUNTIME}}, - {"cudaMemoryTypeDevice", {"hipMemoryTypeDevice", CONV_MEM, API_RUNTIME}}, - - - // Execution control - // CUDA function cache configurations (enum cudaFuncCache) - {"cudaFuncCachePreferNone", {"hipFuncCachePreferNone", CONV_CACHE, API_RUNTIME}}, // 0 // API_Driver ANALOGUE (CU_FUNC_CACHE_PREFER_NONE = 0x00) - {"cudaFuncCachePreferShared", {"hipFuncCachePreferShared", CONV_CACHE, API_RUNTIME}}, // 1 // API_Driver ANALOGUE (CU_FUNC_CACHE_PREFER_SHARED = 0x01) - {"cudaFuncCachePreferL1", {"hipFuncCachePreferL1", CONV_CACHE, API_RUNTIME}}, // 2 // API_Driver ANALOGUE (CU_FUNC_CACHE_PREFER_L1 = 0x02) - {"cudaFuncCachePreferEqual", {"hipFuncCachePreferEqual", CONV_CACHE, API_RUNTIME}}, // 3 // API_Driver ANALOGUE (CU_FUNC_CACHE_PREFER_EQUAL = 0x03) - - - // enum cudaOutputMode - {"cudaKeyValuePair", {"hipKeyValuePair", CONV_OTHER, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaCSV", {"hipCSV", CONV_OTHER, API_RUNTIME, HIP_UNSUPPORTED}}, - - // Texture Reference Management - // enum cudaTextureReadMode - {"cudaReadModeElementType", {"hipReadModeElementType", CONV_TEX, API_RUNTIME}}, - {"cudaReadModeNormalizedFloat", {"hipReadModeNormalizedFloat", CONV_TEX, API_RUNTIME}}, - - // enum cudaTextureFilterMode - {"cudaFilterModePoint", {"hipFilterModePoint", CONV_TEX, API_RUNTIME}}, // 0 // API_DRIVER ANALOGUE (CU_TR_FILTER_MODE_POINT = 0) - {"cudaFilterModeLinear", {"hipFilterModeLinear", CONV_TEX, API_RUNTIME}}, // 1 // API_DRIVER ANALOGUE (CU_TR_FILTER_MODE_POINT = 1) - - - // Channel (enum cudaChannelFormatKind) - {"cudaChannelFormatKindSigned", {"hipChannelFormatKindSigned", CONV_TEX, API_RUNTIME}}, - {"cudaChannelFormatKindUnsigned", {"hipChannelFormatKindUnsigned", CONV_TEX, API_RUNTIME}}, - {"cudaChannelFormatKindFloat", {"hipChannelFormatKindFloat", CONV_TEX, API_RUNTIME}}, - {"cudaChannelFormatKindNone", {"hipChannelFormatKindNone", CONV_TEX, API_RUNTIME}}, - - // enum cudaResourceType - {"cudaResourceTypeArray", {"hipResourceTypeArray", CONV_TEX, API_RUNTIME}}, // 0x00 // API_Driver ANALOGUE (CU_RESOURCE_TYPE_ARRAY = 0x00) - {"cudaResourceTypeMipmappedArray", {"hipResourceTypeMipmappedArray", CONV_TEX, API_RUNTIME}}, // 0x01 // API_Driver ANALOGUE (CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = 0x01) - {"cudaResourceTypeLinear", {"hipResourceTypeLinear", CONV_TEX, API_RUNTIME}}, // 0x02 // API_Driver ANALOGUE (CU_RESOURCE_TYPE_LINEAR = 0x02) - {"cudaResourceTypePitch2D", {"hipResourceTypePitch2D", CONV_TEX, API_RUNTIME}}, // 0x03 // API_Driver ANALOGUE (CU_RESOURCE_TYPE_PITCH2D = 0x03) - + // CUresourceViewFormat + {"cudaResourceViewFormat", {"hipResourceViewFormat", CONV_TYPE, API_RUNTIME}}, // enum cudaResourceViewFormat - {"cudaResViewFormatNone", {"hipResViewFormatNone", CONV_TEX, API_RUNTIME}}, // 0x00 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_NONE = 0x00) - {"cudaResViewFormatUnsignedChar1", {"hipResViewFormatUnsignedChar1", CONV_TEX, API_RUNTIME}}, // 0x01 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_1X8 = 0x01) - {"cudaResViewFormatUnsignedChar2", {"hipResViewFormatUnsignedChar2", CONV_TEX, API_RUNTIME}}, // 0x02 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_2X8 = 0x02) - {"cudaResViewFormatUnsignedChar4", {"hipResViewFormatUnsignedChar4", CONV_TEX, API_RUNTIME}}, // 0x03 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_4X8 = 0x03) - {"cudaResViewFormatSignedChar1", {"hipResViewFormatSignedChar1", CONV_TEX, API_RUNTIME}}, // 0x04 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_1X8 = 0x04) - {"cudaResViewFormatSignedChar2", {"hipResViewFormatSignedChar2", CONV_TEX, API_RUNTIME}}, // 0x05 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_2X8 = 0x05) - {"cudaResViewFormatSignedChar4", {"hipResViewFormatSignedChar4", CONV_TEX, API_RUNTIME}}, // 0x06 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_4X8 = 0x06) - {"cudaResViewFormatUnsignedShort1", {"hipResViewFormatUnsignedShort1", CONV_TEX, API_RUNTIME}}, // 0x07 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_1X16 = 0x07) - {"cudaResViewFormatUnsignedShort2", {"hipResViewFormatUnsignedShort2", CONV_TEX, API_RUNTIME}}, // 0x08 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_2X16 = 0x08) - {"cudaResViewFormatUnsignedShort4", {"hipResViewFormatUnsignedShort4", CONV_TEX, API_RUNTIME}}, // 0x09 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_4X16 = 0x09) - {"cudaResViewFormatSignedShort1", {"hipResViewFormatSignedShort1", CONV_TEX, API_RUNTIME}}, // 0x0a // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_1X16 = 0x0a) - {"cudaResViewFormatSignedShort2", {"hipResViewFormatSignedShort2", CONV_TEX, API_RUNTIME}}, // 0x0b // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_2X16 = 0x0b) - {"cudaResViewFormatSignedShort4", {"hipResViewFormatSignedShort4", CONV_TEX, API_RUNTIME}}, // 0x0c // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_4X16 = 0x0c) - {"cudaResViewFormatUnsignedInt1", {"hipResViewFormatUnsignedInt1", CONV_TEX, API_RUNTIME}}, // 0x0d // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_1X32 = 0x0d) - {"cudaResViewFormatUnsignedInt2", {"hipResViewFormatUnsignedInt2", CONV_TEX, API_RUNTIME}}, // 0x0e // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_2X32 = 0x0e) - {"cudaResViewFormatUnsignedInt4", {"hipResViewFormatUnsignedInt4", CONV_TEX, API_RUNTIME}}, // 0x0f // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UINT_4X32 = 0x0f) - {"cudaResViewFormatSignedInt1", {"hipResViewFormatSignedInt1", CONV_TEX, API_RUNTIME}}, // 0x10 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_1X32 = 0x10) - {"cudaResViewFormatSignedInt2", {"hipResViewFormatSignedInt2", CONV_TEX, API_RUNTIME}}, // 0x11 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_2X32 = 0x11) - {"cudaResViewFormatSignedInt4", {"hipResViewFormatSignedInt4", CONV_TEX, API_RUNTIME}}, // 0x12 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SINT_4X32 = 0x12) - {"cudaResViewFormatHalf1", {"hipResViewFormatHalf1", CONV_TEX, API_RUNTIME}}, // 0x13 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_FLOAT_1X16 = 0x13) - {"cudaResViewFormatHalf2", {"hipResViewFormatHalf2", CONV_TEX, API_RUNTIME}}, // 0x14 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_FLOAT_2X16 = 0x14) - {"cudaResViewFormatHalf4", {"hipResViewFormatHalf4", CONV_TEX, API_RUNTIME}}, // 0x15 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_FLOAT_4X16 = 0x15) - {"cudaResViewFormatFloat1", {"hipResViewFormatFloat1", CONV_TEX, API_RUNTIME}}, // 0x16 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_FLOAT_1X32 = 0x16) - {"cudaResViewFormatFloat2", {"hipResViewFormatFloat2", CONV_TEX, API_RUNTIME}}, // 0x17 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_FLOAT_2X32 = 0x17) - {"cudaResViewFormatFloat4", {"hipResViewFormatFloat4", CONV_TEX, API_RUNTIME}}, // 0x18 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_FLOAT_4X32 = 0x18) - {"cudaResViewFormatUnsignedBlockCompressed1", {"hipResViewFormatUnsignedBlockCompressed1", CONV_TEX, API_RUNTIME}}, // 0x19 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = 0x19) - {"cudaResViewFormatUnsignedBlockCompressed2", {"hipResViewFormatUnsignedBlockCompressed2", CONV_TEX, API_RUNTIME}}, // 0x1a // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = 0x1a) - {"cudaResViewFormatUnsignedBlockCompressed3", {"hipResViewFormatUnsignedBlockCompressed3", CONV_TEX, API_RUNTIME}}, // 0x1b // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = 0x1b) - {"cudaResViewFormatUnsignedBlockCompressed4", {"hipResViewFormatUnsignedBlockCompressed4", CONV_TEX, API_RUNTIME}}, // 0x1c // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = 0x1c) - {"cudaResViewFormatSignedBlockCompressed4", {"hipResViewFormatSignedBlockCompressed4", CONV_TEX, API_RUNTIME}}, // 0x1d // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SIGNED_BC4 = 0x1d) - {"cudaResViewFormatUnsignedBlockCompressed5", {"hipResViewFormatUnsignedBlockCompressed5", CONV_TEX, API_RUNTIME}}, // 0x1e // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = 0x1e) - {"cudaResViewFormatSignedBlockCompressed5", {"hipResViewFormatSignedBlockCompressed5", CONV_TEX, API_RUNTIME}}, // 0x1f // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SIGNED_BC5 = 0x1f) - {"cudaResViewFormatUnsignedBlockCompressed6H", {"hipResViewFormatUnsignedBlockCompressed6H", CONV_TEX, API_RUNTIME}}, // 0x20 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = 0x20) - {"cudaResViewFormatSignedBlockCompressed6H", {"hipResViewFormatSignedBlockCompressed6H", CONV_TEX, API_RUNTIME}}, // 0x21 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_SIGNED_BC6H = 0x21) - {"cudaResViewFormatUnsignedBlockCompressed7", {"hipResViewFormatUnsignedBlockCompressed7", CONV_TEX, API_RUNTIME}}, // 0x22 // API_Driver ANALOGUE (CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = 0x22) + // CU_RES_VIEW_FORMAT_NONE + {"cudaResViewFormatNone", {"hipResViewFormatNone", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x00 + // CU_RES_VIEW_FORMAT_UINT_1X8 + {"cudaResViewFormatUnsignedChar1", {"hipResViewFormatUnsignedChar1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x01 + // CU_RES_VIEW_FORMAT_UINT_2X8 + {"cudaResViewFormatUnsignedChar2", {"hipResViewFormatUnsignedChar2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x02 + // CU_RES_VIEW_FORMAT_UINT_4X8 + {"cudaResViewFormatUnsignedChar4", {"hipResViewFormatUnsignedChar4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x03 + // CU_RES_VIEW_FORMAT_SINT_1X8 + {"cudaResViewFormatSignedChar1", {"hipResViewFormatSignedChar1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x04 + // CU_RES_VIEW_FORMAT_SINT_2X8 + {"cudaResViewFormatSignedChar2", {"hipResViewFormatSignedChar2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x05 + // CU_RES_VIEW_FORMAT_SINT_4X8 + {"cudaResViewFormatSignedChar4", {"hipResViewFormatSignedChar4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x06 + // CU_RES_VIEW_FORMAT_UINT_1X16 + {"cudaResViewFormatUnsignedShort1", {"hipResViewFormatUnsignedShort1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x07 + // CU_RES_VIEW_FORMAT_UINT_2X16 + {"cudaResViewFormatUnsignedShort2", {"hipResViewFormatUnsignedShort2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x08 + // CU_RES_VIEW_FORMAT_UINT_4X16 + {"cudaResViewFormatUnsignedShort4", {"hipResViewFormatUnsignedShort4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x09 + // CU_RES_VIEW_FORMAT_SINT_1X16 + {"cudaResViewFormatSignedShort1", {"hipResViewFormatSignedShort1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x0a + // CU_RES_VIEW_FORMAT_SINT_2X16 + {"cudaResViewFormatSignedShort2", {"hipResViewFormatSignedShort2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x0b + // CU_RES_VIEW_FORMAT_SINT_4X16 + {"cudaResViewFormatSignedShort4", {"hipResViewFormatSignedShort4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x0c + // CU_RES_VIEW_FORMAT_UINT_1X32 + {"cudaResViewFormatUnsignedInt1", {"hipResViewFormatUnsignedInt1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x0d + // CU_RES_VIEW_FORMAT_UINT_2X32 + {"cudaResViewFormatUnsignedInt2", {"hipResViewFormatUnsignedInt2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x0e + // CU_RES_VIEW_FORMAT_UINT_4X32 + {"cudaResViewFormatUnsignedInt4", {"hipResViewFormatUnsignedInt4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x0f + // CU_RES_VIEW_FORMAT_SINT_1X32 + {"cudaResViewFormatSignedInt1", {"hipResViewFormatSignedInt1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x10 + // CU_RES_VIEW_FORMAT_SINT_2X32 + {"cudaResViewFormatSignedInt2", {"hipResViewFormatSignedInt2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x11 + // CU_RES_VIEW_FORMAT_SINT_4X32 + {"cudaResViewFormatSignedInt4", {"hipResViewFormatSignedInt4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x12 + // CU_RES_VIEW_FORMAT_FLOAT_1X16 + {"cudaResViewFormatHalf1", {"hipResViewFormatHalf1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x13 + // CU_RES_VIEW_FORMAT_FLOAT_2X16 + {"cudaResViewFormatHalf2", {"hipResViewFormatHalf2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x14 + // CU_RES_VIEW_FORMAT_FLOAT_4X16 + {"cudaResViewFormatHalf4", {"hipResViewFormatHalf4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x15 + // CU_RES_VIEW_FORMAT_FLOAT_1X32 + {"cudaResViewFormatFloat1", {"hipResViewFormatFloat1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x16 + // CU_RES_VIEW_FORMAT_FLOAT_2X32 + {"cudaResViewFormatFloat2", {"hipResViewFormatFloat2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x17 + // CU_RES_VIEW_FORMAT_FLOAT_4X32 + {"cudaResViewFormatFloat4", {"hipResViewFormatFloat4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x18 + // CU_RES_VIEW_FORMAT_UNSIGNED_BC1 + {"cudaResViewFormatUnsignedBlockCompressed1", {"hipResViewFormatUnsignedBlockCompressed1", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x19 + // CU_RES_VIEW_FORMAT_UNSIGNED_BC2 + {"cudaResViewFormatUnsignedBlockCompressed2", {"hipResViewFormatUnsignedBlockCompressed2", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x1a + // CU_RES_VIEW_FORMAT_UNSIGNED_BC3 + {"cudaResViewFormatUnsignedBlockCompressed3", {"hipResViewFormatUnsignedBlockCompressed3", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x1b + // CU_RES_VIEW_FORMAT_UNSIGNED_BC4 + {"cudaResViewFormatUnsignedBlockCompressed4", {"hipResViewFormatUnsignedBlockCompressed4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x1c + // CU_RES_VIEW_FORMAT_SIGNED_BC4 + {"cudaResViewFormatSignedBlockCompressed4", {"hipResViewFormatSignedBlockCompressed4", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x1d + // CU_RES_VIEW_FORMAT_UNSIGNED_BC5 + {"cudaResViewFormatUnsignedBlockCompressed5", {"hipResViewFormatUnsignedBlockCompressed5", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x1e + // CU_RES_VIEW_FORMAT_SIGNED_BC5 + {"cudaResViewFormatSignedBlockCompressed5", {"hipResViewFormatSignedBlockCompressed5", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x1f + // CU_RES_VIEW_FORMAT_UNSIGNED_BC6H + {"cudaResViewFormatUnsignedBlockCompressed6H", {"hipResViewFormatUnsignedBlockCompressed6H", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x20 + // CU_RES_VIEW_FORMAT_SIGNED_BC6H + {"cudaResViewFormatSignedBlockCompressed6H", {"hipResViewFormatSignedBlockCompressed6H", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x21 + // CU_RES_VIEW_FORMAT_UNSIGNED_BC7 + {"cudaResViewFormatUnsignedBlockCompressed7", {"hipResViewFormatUnsignedBlockCompressed7", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0x22 + // CUshared_carveout + {"cudaSharedCarveout", {"hipSharedCarveout", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaSharedCarveout enum values + // CU_SHAREDMEM_CARVEOUT_DEFAULT + {"cudaSharedmemCarveoutDefault", {"hipSharedmemCarveoutDefault", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // -1 + // CU_SHAREDMEM_CARVEOUT_MAX_SHARED + {"cudaSharedmemCarveoutMaxShared", {"hipSharedmemCarveoutMaxShared", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 100 + // CU_SHAREDMEM_CARVEOUT_MAX_L1 + {"cudaSharedmemCarveoutMaxShared", {"hipSharedmemCarveoutMaxL1", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 - // enum cudaGraphicsCubeFace - {"cudaGraphicsCubeFacePositiveX", {"hipGraphicsCubeFacePositiveX", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsCubeFaceNegativeX", {"hipGraphicsCubeFaceNegativeX", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsCubeFacePositiveY", {"hipGraphicsCubeFacePositiveY", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsCubeFaceNegativeY", {"hipGraphicsCubeFaceNegativeY", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsCubeFacePositiveZ", {"hipGraphicsCubeFacePositiveZ", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaGraphicsCubeFaceNegativeZ", {"hipGraphicsCubeFaceNegativeZ", CONV_GRAPHICS, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUsharedconfig + {"cudaSharedMemConfig", {"hipSharedMemConfig", CONV_TYPE, API_RUNTIME}}, + // cudaSharedMemConfig enum values + // CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = 0x00 + {"cudaSharedMemBankSizeDefault", {"hipSharedMemBankSizeDefault", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + // CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = 0x01 + {"cudaSharedMemBankSizeFourByte", {"hipSharedMemBankSizeFourByte", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + // CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = 0x02 + {"cudaSharedMemBankSizeEightByte", {"hipSharedMemBankSizeEightByte", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 - // OpenGL Interoperability - // enum cudaGLDeviceList - {"cudaGLDeviceListAll", {"HIP_GL_DEVICE_LIST_ALL", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 // API_Driver ANALOGUE (CU_GL_DEVICE_LIST_ALL) - {"cudaGLDeviceListCurrentFrame", {"HIP_GL_DEVICE_LIST_CURRENT_FRAME", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 // API_Driver ANALOGUE (CU_GL_DEVICE_LIST_CURRENT_FRAME) - {"cudaGLDeviceListNextFrame", {"HIP_GL_DEVICE_LIST_NEXT_FRAME", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x03 // API_Driver ANALOGUE (CU_GL_DEVICE_LIST_NEXT_FRAME) + // CUstreamCaptureStatus + {"cudaStreamCaptureStatus", {"hipStreamCaptureStatus", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaStreamCaptureStatus enum values + // CU_STREAM_CAPTURE_STATUS_NONE + {"cudaStreamCaptureStatusNone", {"hipStreamCaptureStatusNone", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_STREAM_CAPTURE_STATUS_ACTIVE + {"cudaStreamCaptureStatusActive", {"hipStreamCaptureStatusActive", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_STREAM_CAPTURE_STATUS_INVALIDATED + {"cudaStreamCaptureStatusInvalidated", {"hipStreamCaptureStatusInvalidated", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 - // enum cudaSurfaceBoundaryMode - {"cudaBoundaryModeZero", {"hipBoundaryModeZero", CONV_SURFACE, API_RUNTIME}}, - {"cudaBoundaryModeClamp", {"hipBoundaryModeClamp", CONV_SURFACE, API_RUNTIME}}, - {"cudaBoundaryModeTrap", {"hipBoundaryModeTrap", CONV_SURFACE, API_RUNTIME}}, + // no analogue + {"cudaSurfaceBoundaryMode", {"hipSurfaceBoundaryMode", CONV_TYPE, API_RUNTIME}}, + // cudaSurfaceBoundaryMode enum values + {"cudaBoundaryModeZero", {"hipBoundaryModeZero", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + {"cudaBoundaryModeClamp", {"hipBoundaryModeClamp", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + {"cudaBoundaryModeTrap", {"hipBoundaryModeTrap", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + // no analogue + {"cudaSurfaceFormatMode", {"hipSurfaceFormatMode", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // enum cudaSurfaceFormatMode - {"cudaFormatModeForced", {"hipFormatModeForced", CONV_SURFACE, API_RUNTIME, HIP_UNSUPPORTED}}, - {"cudaFormatModeAuto", {"hipFormatModeAuto", CONV_SURFACE, API_RUNTIME, HIP_UNSUPPORTED}}, + {"cudaFormatModeForced", {"hipFormatModeForced", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + {"cudaFormatModeAuto", {"hipFormatModeAuto", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // no analogue + {"cudaTextureAddressMode", {"hipTextureAddressMode", CONV_TYPE, API_RUNTIME}}, + // cudaTextureAddressMode enum values + {"cudaAddressModeWrap", {"hipAddressModeWrap", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + {"cudaAddressModeClamp", {"hipAddressModeClamp", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + {"cudaAddressModeMirror", {"hipAddressModeMirror", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 2 + {"cudaAddressModeBorder", {"hipAddressModeBorder", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 - // enum cudaGLMapFlags - {"cudaGLMapFlagsNone", {"HIP_GL_MAP_RESOURCE_FLAGS_NONE", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 // API_Driver ANALOGUE (CU_GL_MAP_RESOURCE_FLAGS_NONE) - {"cudaGLMapFlagsReadOnly", {"HIP_GL_MAP_RESOURCE_FLAGS_READ_ONLY", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 // API_Driver ANALOGUE (CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY) - {"cudaGLMapFlagsWriteDiscard", {"HIP_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD", CONV_GL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 // API_Driver ANALOGUE (CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD) + // CUfilter_mode + {"cudaTextureFilterMode", {"hipTextureFilterMode", CONV_TYPE, API_RUNTIME}}, + // cudaTextureFilterMode enum values + // CU_TR_FILTER_MODE_POINT + {"cudaFilterModePoint", {"hipFilterModePoint", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + // CU_TR_FILTER_MODE_LINEAR + {"cudaFilterModeLinear", {"hipFilterModeLinear", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 - // enum CUd3d9DeviceList - {"cudaD3D9DeviceListAll", {"HIP_D3D9_DEVICE_LIST_ALL", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D9_DEVICE_LIST_ALL) - {"cudaD3D9DeviceListCurrentFrame", {"HIP_D3D9_DEVICE_LIST_CURRENT_FRAME", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_D3D9_DEVICE_LIST_CURRENT_FRAME) - {"cudaD3D9DeviceListNextFrame", {"HIP_D3D9_DEVICE_LIST_NEXT_FRAME", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // API_Driver ANALOGUE (CU_D3D9_DEVICE_LIST_NEXT_FRAME) + // no analogue + {"cudaTextureReadMode", {"hipTextureReadMode", CONV_TYPE, API_RUNTIME}}, + // cudaTextureReadMode enum values + {"cudaReadModeElementType", {"hipReadModeElementType", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 0 + {"cudaReadModeNormalizedFloat", {"hipReadModeNormalizedFloat", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 + // CUGLDeviceList + {"cudaGLDeviceList", {"hipGLDeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaGLDeviceList enum values + // CU_GL_DEVICE_LIST_ALL = 0x01 + {"cudaGLDeviceListAll", {"hipGLDeviceListAll", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_GL_DEVICE_LIST_CURRENT_FRAME = 0x02 + {"cudaGLDeviceListCurrentFrame", {"hipGLDeviceListCurrentFrame", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_GL_DEVICE_LIST_NEXT_FRAME = 0x03 + {"cudaGLDeviceListNextFrame", {"hipGLDeviceListNextFrame", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + + // CUGLmap_flags + {"cudaGLMapFlags", {"hipGLMapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaGLMapFlags enum values + // CU_GL_MAP_RESOURCE_FLAGS_NONE = 0x00 + {"cudaGLMapFlagsNone", {"hipGLMapFlagsNone", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01 + {"cudaGLMapFlagsReadOnly", {"hipGLMapFlagsReadOnly", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02 + {"cudaGLMapFlagsWriteDiscard", {"hipGLMapFlagsWriteDiscard", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + + // CUd3d9DeviceList + {"cudaD3D9DeviceList", {"hipD3D9DeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CUd3d9DeviceList enum values + // CU_D3D9_DEVICE_LIST_ALL = 0x01 + {"cudaD3D9DeviceListAll", {"HIP_D3D9_DEVICE_LIST_ALL", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_D3D9_DEVICE_LIST_CURRENT_FRAME = 0x02 + {"cudaD3D9DeviceListCurrentFrame", {"HIP_D3D9_DEVICE_LIST_CURRENT_FRAME", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_D3D9_DEVICE_LIST_NEXT_FRAME = 0x03 + {"cudaD3D9DeviceListNextFrame", {"HIP_D3D9_DEVICE_LIST_NEXT_FRAME", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + + // CUd3d9map_flags + {"cudaD3D9MapFlags", {"hipD3D9MapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, // cudaD3D9MapFlags enum values - {"cudaD3D9MapFlags", {"hipD3D9MapFlags", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // API_Driver ANALOGUE (CUd3d9map_flags) - {"cudaD3D9MapFlagsNone", {"HIP_D3D9_MAPRESOURCE_FLAGS_NONE", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 // API_Driver ANALOGUE (CU_D3D9_MAPRESOURCE_FLAGS_NONE) - {"cudaD3D9MapFlagsReadOnly", {"HIP_D3D9_MAPRESOURCE_FLAGS_READONLY", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D9_MAPRESOURCE_FLAGS_READONLY) - {"cudaD3D9MapFlagsWriteDiscard", {"HIP_D3D9_MAPRESOURCE_FLAGS_WRITEDISCARD", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_D3D9_MAPRESOURCE_FLAGS_WRITEDISCARD) - + // CU_D3D9_MAPRESOURCE_FLAGS_NONE = 0x00 + {"cudaD3D9MapFlagsNone", {"HIP_D3D9_MAPRESOURCE_FLAGS_NONE", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_D3D9_MAPRESOURCE_FLAGS_READONLY = 0x01 + {"cudaD3D9MapFlagsReadOnly", {"HIP_D3D9_MAPRESOURCE_FLAGS_READONLY", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_D3D9_MAPRESOURCE_FLAGS_WRITEDISCARD = 0x02 + {"cudaD3D9MapFlagsWriteDiscard", {"HIP_D3D9_MAPRESOURCE_FLAGS_WRITEDISCARD", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 - // enum cudaD3D9RegisterFlags - {"cudaD3D9RegisterFlagsNone", {"HIP_D3D9_REGISTER_FLAGS_NONE", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 // API_Driver ANALOGUE (CU_D3D9_REGISTER_FLAGS_NONE) - {"cudaD3D9RegisterFlagsArray", {"HIP_D3D9_REGISTER_FLAGS_ARRAY", CONV_D3D9, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D9_REGISTER_FLAGS_ARRAY) + // CUd3d9Register_flags + {"cudaD3D9RegisterFlags", {"hipD3D9RegisterFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaD3D9RegisterFlags enum values + // CU_D3D9_REGISTER_FLAGS_NONE = 0x00 + {"cudaD3D9RegisterFlagsNone", {"HIP_D3D9_REGISTER_FLAGS_NONE", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_D3D9_REGISTER_FLAGS_ARRAY = 0x01 + {"cudaD3D9RegisterFlagsArray", {"HIP_D3D9_REGISTER_FLAGS_ARRAY", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 - // enum cudaD3D10DeviceList - {"cudaD3D10DeviceListAll", {"HIP_D3D10_DEVICE_LIST_ALL", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D10_DEVICE_LIST_ALL) - {"cudaD3D10DeviceListCurrentFrame", {"HIP_D3D10_DEVICE_LIST_CURRENT_FRAME", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_D3D10_DEVICE_LIST_CURRENT_FRAME) - {"cudaD3D10DeviceListNextFrame", {"HIP_D3D10_DEVICE_LIST_NEXT_FRAME", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // API_Driver ANALOGUE (CU_D3D10_DEVICE_LIST_NEXT_FRAME) + // CUd3d10DeviceList + {"cudaD3D10DeviceList", {"hipd3d10DeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaD3D10DeviceList enum values + // CU_D3D10_DEVICE_LIST_ALL = 0x01 + {"cudaD3D10DeviceListAll", {"HIP_D3D10_DEVICE_LIST_ALL", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_D3D10_DEVICE_LIST_CURRENT_FRAME = 0x02 + {"cudaD3D10DeviceListCurrentFrame", {"HIP_D3D10_DEVICE_LIST_CURRENT_FRAME", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_D3D10_DEVICE_LIST_NEXT_FRAME = 0x03 + {"cudaD3D10DeviceListNextFrame", {"HIP_D3D10_DEVICE_LIST_NEXT_FRAME", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 - // enum cudaD3D10MapFlags - {"cudaD3D10MapFlagsNone", {"HIP_D3D10_MAPRESOURCE_FLAGS_NONE", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 // API_Driver ANALOGUE (CU_D3D10_MAPRESOURCE_FLAGS_NONE) - {"cudaD3D10MapFlagsReadOnly", {"HIP_D3D10_MAPRESOURCE_FLAGS_READONLY", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D10_MAPRESOURCE_FLAGS_READONLY) - {"cudaD3D10MapFlagsWriteDiscard", {"HIP_D3D10_MAPRESOURCE_FLAGS_WRITEDISCARD", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_D3D10_MAPRESOURCE_FLAGS_WRITEDISCARD) + // CUd3d10map_flags + {"cudaD3D10MapFlags", {"hipD3D10MapFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaD3D10MapFlags enum values + // CU_D3D10_MAPRESOURCE_FLAGS_NONE = 0x00 + {"cudaD3D10MapFlagsNone", {"HIP_D3D10_MAPRESOURCE_FLAGS_NONE", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_D3D10_MAPRESOURCE_FLAGS_READONLY = 0x01 + {"cudaD3D10MapFlagsReadOnly", {"HIP_D3D10_MAPRESOURCE_FLAGS_READONLY", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_D3D10_MAPRESOURCE_FLAGS_WRITEDISCARD = 0x02 + {"cudaD3D10MapFlagsWriteDiscard", {"HIP_D3D10_MAPRESOURCE_FLAGS_WRITEDISCARD", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 - // enum cudaD3D10RegisterFlags - {"cudaD3D10RegisterFlagsNone", {"HIP_D3D10_REGISTER_FLAGS_NONE", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 // API_Driver ANALOGUE (CU_D3D10_REGISTER_FLAGS_NONE) - {"cudaD3D10RegisterFlagsArray", {"HIP_D3D10_REGISTER_FLAGS_ARRAY", CONV_D3D10, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D10_REGISTER_FLAGS_ARRAY) + // CUd3d10Register_flags + {"cudaD3D10RegisterFlags", {"hipD3D10RegisterFlags", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaD3D10RegisterFlags enum values + // CU_D3D10_REGISTER_FLAGS_NONE = 0x00 + {"cudaD3D10RegisterFlagsNone", {"HIP_D3D10_REGISTER_FLAGS_NONE", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_D3D10_REGISTER_FLAGS_ARRAY = 0x01 + {"cudaD3D10RegisterFlagsArray", {"HIP_D3D10_REGISTER_FLAGS_ARRAY", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 - // enum cudaD3D11DeviceList - {"cudaD3D11DeviceListAll", {"HIP_D3D11_DEVICE_LIST_ALL", CONV_D3D11, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 // API_Driver ANALOGUE (CU_D3D11_DEVICE_LIST_ALL) - {"cudaD3D11DeviceListCurrentFrame", {"HIP_D3D11_DEVICE_LIST_CURRENT_FRAME", CONV_D3D11, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 // API_Driver ANALOGUE (CU_D3D11_DEVICE_LIST_CURRENT_FRAME) - {"cudaD3D11DeviceListNextFrame", {"HIP_D3D11_DEVICE_LIST_NEXT_FRAME", CONV_D3D11, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // API_Driver ANALOGUE (CU_D3D11_DEVICE_LIST_NEXT_FRAME) + // CUd3d11DeviceList + {"cudaD3D11DeviceList", {"hipd3d11DeviceList", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaD3D11DeviceList enum values + // CU_D3D11_DEVICE_LIST_ALL = 0x01 + {"cudaD3D11DeviceListAll", {"HIP_D3D11_DEVICE_LIST_ALL", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_D3D11_DEVICE_LIST_CURRENT_FRAME = 0x02 + {"cudaD3D11DeviceListCurrentFrame", {"HIP_D3D11_DEVICE_LIST_CURRENT_FRAME", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CU_D3D11_DEVICE_LIST_NEXT_FRAME = 0x03 + {"cudaD3D11DeviceListNextFrame", {"HIP_D3D11_DEVICE_LIST_NEXT_FRAME", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // no analogue + {"libraryPropertyType", {"hipLibraryPropertyType_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + {"libraryPropertyType_t", {"hipLibraryPropertyType_t", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + {"MAJOR_VERSION", {"hipLibraryMajorVersion", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + {"MINOR_VERSION", {"hipLibraryMinorVersion", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, + // no analogue + {"PATCH_LEVEL", {"hipLibraryPatchVersion", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, + + // 4. Typedefs + + // CUhostFn + {"cudaHostFn_t", {"hipHostFn", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + + // CUstreamCallback + {"cudaStreamCallback_t", {"hipStreamCallback_t", CONV_TYPE, API_RUNTIME}}, + + // CUsurfObject + {"cudaSurfaceObject_t", {"hipSurfaceObject_t", CONV_TYPE, API_RUNTIME}}, + + // CUtexObject + {"cudaTextureObject_t", {"hipTextureObject_t", CONV_TYPE, API_RUNTIME}}, + + // 5. Defines + + // no analogue + {"CUDA_EGL_MAX_PLANES", {"HIP_EGL_MAX_PLANES", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 + // CU_IPC_HANDLE_SIZE + {"CUDA_IPC_HANDLE_SIZE", {"HIP_IPC_HANDLE_SIZE", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 64 + // no analogue + {"cudaArrayDefault", {"hipArrayDefault", CONV_DEFINE, API_RUNTIME}}, // 0x00 + // CUDA_ARRAY3D_LAYERED + {"cudaArrayLayered", {"hipArrayLayered", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CUDA_ARRAY3D_SURFACE_LDST + {"cudaArraySurfaceLoadStore", {"hipArraySurfaceLoadStore", CONV_DEFINE, API_RUNTIME}}, // 0x02 + // CUDA_ARRAY3D_CUBEMAP + {"cudaArrayCubemap", {"hipArrayCubemap", CONV_DEFINE, API_RUNTIME}}, // 0x04 + // CUDA_ARRAY3D_TEXTURE_GATHER + {"cudaArrayTextureGather", {"hipArrayTextureGather", CONV_DEFINE, API_RUNTIME}}, // 0x08 + // CUDA_ARRAY3D_COLOR_ATTACHMENT + {"cudaArrayColorAttachment", {"hipArrayColorAttachment", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x20 + // CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC + {"cudaCooperativeLaunchMultiDeviceNoPreSync", {"hipCooperativeLaunchMultiDeviceNoPreSync", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC + {"cudaCooperativeLaunchMultiDeviceNoPostSync", {"hipCooperativeLaunchMultiDeviceNoPostSync", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 + // CU_DEVICE_CPU ((CUdevice)-1) + {"cudaCpuDeviceId", {"hipCpuDeviceId", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // ((int)-1) + // CU_DEVICE_INVALID ((CUdevice)-2) + {"cudaInvalidDeviceId", {"hipInvalidDeviceId", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // ((int)-2) + // CU_CTX_BLOCKING_SYNC + // NOTE: Deprecated since CUDA 4.0 and replaced with cudaDeviceScheduleBlockingSync + {"cudaDeviceBlockingSync", {"hipDeviceScheduleBlockingSync", CONV_DEFINE, API_RUNTIME}}, // 0x04 + // CU_CTX_LMEM_RESIZE_TO_MAX + {"cudaDeviceLmemResizeToMax", {"hipDeviceLmemResizeToMax", CONV_DEFINE, API_RUNTIME}}, // 0x10 + // CU_CTX_MAP_HOST + {"cudaDeviceMapHost", {"hipDeviceMapHost", CONV_DEFINE, API_RUNTIME}}, // 0x08 + // CU_CTX_FLAGS_MASK + {"cudaDeviceMask", {"hipDeviceMask", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x1f + // no analogue + {"cudaDevicePropDontCare", {"hipDevicePropDontCare", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, + // CU_CTX_SCHED_AUTO + {"cudaDeviceScheduleAuto", {"hipDeviceScheduleAuto", CONV_DEFINE, API_RUNTIME}}, // 0x00 + // CU_CTX_SCHED_SPIN + {"cudaDeviceScheduleSpin", {"hipDeviceScheduleSpin", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CU_CTX_SCHED_YIELD + {"cudaDeviceScheduleYield", {"hipDeviceScheduleYield", CONV_DEFINE, API_RUNTIME}}, // 0x02 + // CU_CTX_SCHED_BLOCKING_SYNC + {"cudaDeviceScheduleBlockingSync", {"hipDeviceScheduleBlockingSync", CONV_DEFINE, API_RUNTIME}}, // 0x04 + // CU_CTX_SCHED_MASK + {"cudaDeviceScheduleMask", {"hipDeviceScheduleMask", CONV_DEFINE, API_RUNTIME}}, // 0x07 + // CU_EVENT_DEFAULT + {"cudaEventDefault", {"hipEventDefault", CONV_DEFINE, API_RUNTIME}}, // 0x00 + // CU_EVENT_BLOCKING_SYNC + {"cudaEventBlockingSync", {"hipEventBlockingSync", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CU_EVENT_DISABLE_TIMING + {"cudaEventDisableTiming", {"hipEventDisableTiming", CONV_DEFINE, API_RUNTIME}}, // 0x02 + // CU_EVENT_INTERPROCESS + {"cudaEventInterprocess", {"hipEventInterprocess", CONV_DEFINE, API_RUNTIME}}, // 0x04 + // CUDA_EXTERNAL_MEMORY_DEDICATED + {"cudaExternalMemoryDedicated", {"hipExternalMemoryDedicated", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // no analogue + {"cudaHostAllocDefault", {"hipHostMallocDefault", CONV_DEFINE, API_RUNTIME}}, // 0x00 + // CU_MEMHOSTALLOC_PORTABLE + {"cudaHostAllocPortable", {"hipHostMallocPortable", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CU_MEMHOSTALLOC_DEVICEMAP + {"cudaHostAllocMapped", {"hipHostMallocMapped", CONV_DEFINE, API_RUNTIME}}, // 0x02 + // CU_MEMHOSTALLOC_WRITECOMBINED + {"cudaHostAllocWriteCombined", {"hipHostAllocWriteCombined", CONV_DEFINE, API_RUNTIME}}, // 0x04 + // no analogue + {"cudaHostRegisterDefault", {"hipHostRegisterDefault", CONV_DEFINE, API_RUNTIME}}, // 0x00 + // CU_MEMHOSTREGISTER_PORTABLE + {"cudaHostRegisterPortable", {"hipHostRegisterPortable", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CU_MEMHOSTREGISTER_DEVICEMAP + {"cudaHostRegisterMapped", {"hipHostRegisterMapped", CONV_DEFINE, API_RUNTIME}}, // 0x02 + // CU_MEMHOSTREGISTER_IOMEMORY + {"cudaHostRegisterIoMemory", {"hipHostRegisterIoMemory", CONV_DEFINE, API_RUNTIME}}, // 0x04 + // CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS + {"cudaIpcMemLazyEnablePeerAccess", {"hipIpcMemLazyEnablePeerAccess", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CU_MEM_ATTACH_GLOBAL + {"cudaMemAttachGlobal", {"hipMemAttachGlobal", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CU_MEM_ATTACH_HOST + {"cudaMemAttachHost", {"hipMemAttachHost", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x02 + // CU_MEM_ATTACH_SINGLE + {"cudaMemAttachSingle", {"hipMemAttachSingle", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x04 + // no analogue + {"cudaTextureType1D", {"hipTextureType1D", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // no analogue + {"cudaTextureType2D", {"hipTextureType2D", CONV_DEFINE, API_RUNTIME}}, // 0x02 + // no analogue + {"cudaTextureType3D", {"hipTextureType3D", CONV_DEFINE, API_RUNTIME}}, // 0x03 + // no analogue + {"cudaTextureTypeCubemap", {"hipTextureTypeCubemap", CONV_DEFINE, API_RUNTIME}}, // 0x0C + // no analogue + {"cudaTextureType1DLayered", {"hipTextureType1DLayered", CONV_DEFINE, API_RUNTIME}}, // 0xF1 + // no analogue + {"cudaTextureType2DLayered", {"hipTextureType2DLayered", CONV_DEFINE, API_RUNTIME}}, // 0xF2 + // no analogue + {"cudaTextureTypeCubemapLayered", {"hipTextureTypeCubemapLayered", CONV_DEFINE, API_RUNTIME}}, // 0xFC + // CU_OCCUPANCY_DEFAULT + {"cudaOccupancyDefault", {"hipOccupancyDefault", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x00 + // CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE + {"cudaOccupancyDisableCachingOverride", {"hipOccupancyDisableCachingOverride", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // 0x01 + // CU_STREAM_DEFAULT + {"cudaStreamDefault", {"hipStreamDefault", CONV_DEFINE, API_RUNTIME}}, // 0x00 + // CU_STREAM_NON_BLOCKING + {"cudaStreamNonBlocking", {"hipStreamNonBlocking", CONV_DEFINE, API_RUNTIME}}, // 0x01 + // CU_STREAM_LEGACY ((CUstream)0x1) + {"cudaStreamLegacy", {"hipStreamLegacy", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // ((cudaStream_t)0x1) + // CU_STREAM_PER_THREAD ((CUstream)0x2) + {"cudaStreamPerThread", {"hipStreamPerThread", CONV_DEFINE, API_RUNTIME, HIP_UNSUPPORTED}}, // ((cudaStream_t)0x2) }; diff --git a/hipamd/hipify-clang/src/HipifyAction.cpp b/hipamd/hipify-clang/src/HipifyAction.cpp index 5f0491a2dd..b370df794e 100644 --- a/hipamd/hipify-clang/src/HipifyAction.cpp +++ b/hipamd/hipify-clang/src/HipifyAction.cpp @@ -24,7 +24,7 @@ void HipifyAction::RewriteString(StringRef s, clang::SourceLocation start) { Statistics::current().incrementCounter(counter, name.str()); if (!counter.unsupported) { clang::SourceLocation sl = start.getLocWithOffset(begin + 1); - ct::Replacement Rep(SM, sl, name.size(), repName); + ct::Replacement Rep(SM, sl, name.size(), repName.str()); clang::FullSourceLoc fullSL(sl, SM); insertReplacement(Rep, fullSL); } @@ -70,7 +70,7 @@ void HipifyAction::RewriteToken(const clang::Token& t) { return; } StringRef repName = found->second.hipName; - ct::Replacement Rep(SM, sl, name.size(), repName); + ct::Replacement Rep(SM, sl, name.size(), repName.str()); clang::FullSourceLoc fullSL(sl, SM); insertReplacement(Rep, fullSL); } @@ -219,7 +219,7 @@ void HipifyAction::InclusionDirective(clang::SourceLocation hash_loc, } const char *B = SM.getCharacterData(sl); const char *E = SM.getCharacterData(filename_range.getEnd()); - ct::Replacement Rep(SM, sl, E - B, newInclude); + ct::Replacement Rep(SM, sl, E - B, newInclude.str()); insertReplacement(Rep, clang::FullSourceLoc{sl, SM}); } @@ -270,21 +270,21 @@ bool HipifyAction::cudaLaunchKernel(const clang::ast_matchers::MatchFinder::Matc if (numArgs > 0) { OS << ", "; // Start of the first argument. - clang::SourceLocation argStart = launchKernel->getArg(0)->getLocStart(); + clang::SourceLocation argStart = llcompat::getBeginLoc(launchKernel->getArg(0)); // End of the last argument. - clang::SourceLocation argEnd = launchKernel->getArg(numArgs - 1)->getLocEnd(); + clang::SourceLocation argEnd = llcompat::getEndLoc(launchKernel->getArg(numArgs - 1)); OS << readSourceText(*SM, {argStart, argEnd}); } OS << ")"; - clang::SourceRange replacementRange = getWriteRange(*SM, {launchKernel->getLocStart(), launchKernel->getLocEnd()}); + clang::SourceRange replacementRange = getWriteRange(*SM, {llcompat::getBeginLoc(launchKernel), llcompat::getEndLoc(launchKernel)}); clang::SourceLocation launchStart = replacementRange.getBegin(); clang::SourceLocation launchEnd = replacementRange.getEnd(); size_t length = SM->getCharacterData(clang::Lexer::getLocForEndOfToken(launchEnd, 0, *SM, DefaultLangOptions)) - SM->getCharacterData(launchStart); ct::Replacement Rep(*SM, launchStart, length, OS.str()); clang::FullSourceLoc fullSL(launchStart, *SM); insertReplacement(Rep, fullSL); - hipCounter counter = {"hipLaunchKernelGGL", ConvTypes::CONV_KERN, ApiTypes::API_RUNTIME}; + hipCounter counter = {"hipLaunchKernelGGL", ConvTypes::CONV_EXECUTION, ApiTypes::API_RUNTIME}; Statistics::current().incrementCounter(counter, refName.str()); return true; } @@ -320,8 +320,8 @@ bool HipifyAction::cudaSharedIncompleteArrayVar(const clang::ast_matchers::Match } if (!typeName.empty()) { - clang::SourceLocation slStart = sharedVar->getLocStart(); - clang::SourceLocation slEnd = sharedVar->getLocEnd(); + clang::SourceLocation slStart = llcompat::getBeginLoc(sharedVar->getTypeSourceInfo()->getTypeLoc()); + clang::SourceLocation slEnd = llcompat::getEndLoc(sharedVar->getTypeSourceInfo()->getTypeLoc()); clang::SourceManager* SM = Result.SourceManager; size_t repLength = SM->getCharacterData(slEnd) - SM->getCharacterData(slStart) + 1; std::string varName = sharedVar->getNameAsString(); @@ -329,7 +329,7 @@ bool HipifyAction::cudaSharedIncompleteArrayVar(const clang::ast_matchers::Match ct::Replacement Rep(*SM, slStart, repLength, repName); clang::FullSourceLoc fullSL(slStart, *SM); insertReplacement(Rep, fullSL); - hipCounter counter = {"HIP_DYNAMIC_SHARED", ConvTypes::CONV_MEM, ApiTypes::API_RUNTIME}; + hipCounter counter = {"HIP_DYNAMIC_SHARED", ConvTypes::CONV_MEMORY, ApiTypes::API_RUNTIME}; Statistics::current().incrementCounter(counter, refName.str()); } return true; diff --git a/hipamd/hipify-clang/src/HipifyAction.h b/hipamd/hipify-clang/src/HipifyAction.h index 7b54dddf54..9d30a72592 100644 --- a/hipamd/hipify-clang/src/HipifyAction.h +++ b/hipamd/hipify-clang/src/HipifyAction.h @@ -9,6 +9,7 @@ #include "Statistics.h" namespace ct = clang::tooling; +using namespace llvm; /** * A FrontendAction that hipifies CUDA programs. diff --git a/hipamd/hipify-clang/src/LLVMCompat.cpp b/hipamd/hipify-clang/src/LLVMCompat.cpp index 4ab62310d6..611bb28cbe 100644 --- a/hipamd/hipify-clang/src/LLVMCompat.cpp +++ b/hipamd/hipify-clang/src/LLVMCompat.cpp @@ -8,11 +8,11 @@ void PrintStackTraceOnErrorSignal() { #if (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR == 8) llvm::sys::PrintStackTraceOnErrorSignal(); #else - llvm::sys::PrintStackTraceOnErrorSignal(clang::StringRef()); + llvm::sys::PrintStackTraceOnErrorSignal(StringRef()); #endif } -ct::Replacements& getReplacements(ct::RefactoringTool& Tool, clang::StringRef file) { +ct::Replacements& getReplacements(ct::RefactoringTool& Tool, StringRef file) { #if LLVM_VERSION_MAJOR > 3 // getReplacements() now returns a map from filename to Replacements - so create an entry // for this source file and return a reference to it. @@ -40,4 +40,36 @@ void EnterPreprocessorTokenStream(clang::Preprocessor& _pp, const clang::Token * #endif } +clang::SourceLocation getBeginLoc(const clang::Stmt* stmt) { +#if LLVM_VERSION_MAJOR < 8 + return stmt->getLocStart(); +#else + return stmt->getBeginLoc(); +#endif +} + +clang::SourceLocation getBeginLoc(const clang::TypeLoc& typeLoc) { +#if LLVM_VERSION_MAJOR < 8 + return typeLoc.getLocStart(); +#else + return typeLoc.getBeginLoc(); +#endif +} + +clang::SourceLocation getEndLoc(const clang::Stmt* stmt) { +#if LLVM_VERSION_MAJOR < 8 + return stmt->getLocEnd(); +#else + return stmt->getEndLoc(); +#endif +} + +clang::SourceLocation getEndLoc(const clang::TypeLoc& typeLoc) { +#if LLVM_VERSION_MAJOR < 8 + return typeLoc.getLocEnd(); +#else + return typeLoc.getEndLoc(); +#endif +} + } // namespace llcompat diff --git a/hipamd/hipify-clang/src/LLVMCompat.h b/hipamd/hipify-clang/src/LLVMCompat.h index 9f82e36a1f..a43af857bf 100644 --- a/hipamd/hipify-clang/src/LLVMCompat.h +++ b/hipamd/hipify-clang/src/LLVMCompat.h @@ -25,15 +25,23 @@ namespace llcompat { #define LLVM_DEBUG(X) DEBUG(X) #endif +clang::SourceLocation getBeginLoc(const clang::Stmt* stmt); +clang::SourceLocation getBeginLoc(const clang::TypeLoc& typeLoc); + +clang::SourceLocation getEndLoc(const clang::Stmt* stmt); +clang::SourceLocation getEndLoc(const clang::TypeLoc& typeLoc); + void PrintStackTraceOnErrorSignal(); +using namespace llvm; + /** * Get the replacement map for a given filename in a RefactoringTool. * * Older LLVM versions don't actually support multiple filenames, so everything all gets * smushed together. It is the caller's responsibility to cope with this. */ -ct::Replacements& getReplacements(ct::RefactoringTool& Tool, clang::StringRef file); +ct::Replacements& getReplacements(ct::RefactoringTool& Tool, StringRef file); /** * Add a Replacement to a Replacements. diff --git a/hipamd/hipify-clang/src/Statistics.cpp b/hipamd/hipify-clang/src/Statistics.cpp index c012bf1131..2d37c3156c 100644 --- a/hipamd/hipify-clang/src/Statistics.cpp +++ b/hipamd/hipify-clang/src/Statistics.cpp @@ -4,12 +4,42 @@ #include const char *counterNames[NUM_CONV_TYPES] = { - "version", "init", "device", "mem", "kern", "coord_func", "math_func", "device_func", - "special_func", "stream", "event", "occupancy", "ctx", "peer", "module", - "cache", "exec", "external_resource_interop", "graph", "err", "def", "tex", "gl", "graphics", - "surface", "jit", "d3d9", "d3d10", "d3d11", "vdpau", "egl", "complex", - "thread", "other", "include", "include_cuda_main_header", "type", "literal", - "numeric_literal" + "error", // CONV_ERROR + "init", // CONV_INIT + "version", // CONV_VERSION + "device", // CONV_DEVICE + "context", // CONV_CONTEXT + "module", // CONV_MODULE + "memory", // CONV_MEMORY + "addressing", // CONV_ADDRESSING + "stream", // CONV_STREAM + "event", // CONV_EVENT + "external_resource_interop", // CONV_EXT_RES + "stream_memory", // CONV_STREAM_MEMORY + "execution", // CONV_EXECUTION + "graph", // CONV_GRAPH + "occupancy", // CONV_OCCUPANCY + "texture", // CONV_TEXTURE + "surface", // CONV_SURFACE + "peer", // CONV_PEER + "graphics", // CONV_GRAPHICS + "profiler", // CONV_PROFILER + "openGL", // CONV_OPENGL + "D3D9", // CONV_D3D9 + "D3D10", // CONV_D3D10 + "D3D11", // CONV_D3D11 + "VDPAU", // CONV_VDPAU + "EGL", // CONV_EGL + "thread", // CONV_THREAD + "complex", // CONV_COMPLEX + "library", // CONV_LIB_FUNC + "device_library", // CONV_LIB_DEVICE_FUNC + "include", // CONV_INCLUDE + "include_cuda_main_header", // CONV_INCLUDE_CUDA_MAIN_H + "type", // CONV_TYPE + "literal", // CONV_LITERAL + "numeric_literal", // CONV_NUMERIC_LITERAL + "define" // CONV_DEFINE }; const char *apiNames[NUM_API_TYPES] = { @@ -44,7 +74,7 @@ void printStat(std::ostream *csv, llvm::raw_ostream* printOut, const std::string } // Anonymous namespace -void StatCounter::incrementCounter(const hipCounter& counter, std::string name) { +void StatCounter::incrementCounter(const hipCounter& counter, const std::string& name) { counters[name]++; apiCounters[(int) counter.apiType]++; convTypeCounters[(int) counter.type]++; @@ -70,7 +100,7 @@ int StatCounter::getConvSum() { return acc; } -void StatCounter::print(std::ostream* csv, llvm::raw_ostream* printOut, std::string prefix) { +void StatCounter::print(std::ostream* csv, llvm::raw_ostream* printOut, const std::string& prefix) { conditionalPrint(csv, printOut, "\nCUDA ref type;Count\n", "[HIPIFY] info: " + prefix + " refs by type:\n"); for (int i = 0; i < NUM_CONV_TYPES; i++) { if (convTypeCounters[i] > 0) { @@ -87,7 +117,7 @@ void StatCounter::print(std::ostream* csv, llvm::raw_ostream* printOut, std::str } } -Statistics::Statistics(std::string name): fileName(name) { +Statistics::Statistics(const std::string& name): fileName(name) { // Compute the total bytes/lines in the input file. std::ifstream src_file(name, std::ios::binary | std::ios::ate); src_file.clear(); @@ -99,7 +129,7 @@ Statistics::Statistics(std::string name): fileName(name) { ///////// Counter update routines ////////// -void Statistics::incrementCounter(const hipCounter &counter, std::string name) { +void Statistics::incrementCounter(const hipCounter &counter, const std::string& name) { if (counter.unsupported) { unsupported.incrementCounter(counter, name); } else { @@ -188,7 +218,7 @@ Statistics& Statistics::current() { return *Statistics::currentStatistics; } -void Statistics::setActive(std::string name) { +void Statistics::setActive(const std::string& name) { stats.emplace(std::make_pair(name, Statistics{name})); Statistics::currentStatistics = &stats.at(name); } diff --git a/hipamd/hipify-clang/src/Statistics.h b/hipamd/hipify-clang/src/Statistics.h index af8d23fd75..0ce8e0de67 100644 --- a/hipamd/hipify-clang/src/Statistics.h +++ b/hipamd/hipify-clang/src/Statistics.h @@ -11,45 +11,91 @@ namespace chr = std::chrono; enum ConvTypes { - CONV_VERSION = 0, + // Driver API: 5.2. Error Handling + // Runtime API: 5.3. Error Handling + CONV_ERROR = 0, + // Driver API : 5.3. Initialization CONV_INIT, + // Driver API : 5.4. Version Management + // Runtime API: 5.28. Version Management + CONV_VERSION, + // Driver API : 5.5. Device Management, 5.6. Device Management [DEPRECATED] + // Runtime API: 5.1. Device Management CONV_DEVICE, - CONV_MEM, - CONV_KERN, - CONV_COORD_FUNC, - CONV_MATH_FUNC, - CONV_DEVICE_FUNC, - CONV_SPECIAL_FUNC, - CONV_STREAM, - CONV_EVENT, - CONV_OCCUPANCY, + // Driver API : 5.7. Primary Context Management, 5.8.Context Management, 5.9. Context Management [DEPRECATED] CONV_CONTEXT, - CONV_PEER, + // Driver API : 5.10. Module Management CONV_MODULE, - CONV_CACHE, - CONV_EXEC, - CONV_EXTERNAL_RES, + // Driver API : 5.11. Memory Management + // Runtime API: 5.10. Memory Management + CONV_MEMORY, + // Driver API : 5.12. Unified Addressing + // Runtime API: 5.11. Unified Addressing + CONV_ADDRESSING, + // Driver API : 5.13. Stream Management + // Runtime API: 5.4. Stream Management + CONV_STREAM, + // Driver API : 5.14. Event Management + // Runtime API: 5.5. Event Management + CONV_EVENT, + // Driver API : 5.15. External Resource Interoperability + // Runtime API: 5.6.External Resource Interoperability + CONV_EXT_RES, + // Driver API : 5.16. Stream memory operations + CONV_STREAM_MEMORY, + // Driver API : 5.17. Execution Control, 5.18. Execution Control [DEPRECATED] + // Runtime API: 5.7.Execution Control, 5.9. Execution Control [DEPRECATED] + CONV_EXECUTION, + // Driver API : 5.19. Graph Management + // Runtime API: 5.29. Graph Management CONV_GRAPH, - CONV_ERROR, - CONV_DEF, - CONV_TEX, - CONV_GL, - CONV_GRAPHICS, + // Driver API : 5.20. Occupancy + // Runtime API: 5.8. Occupancy + CONV_OCCUPANCY, + // Driver API : 5.21. Texture Reference Management, 5.22. Texture Reference Management [DEPRECATED], 5.24. Texture Object Management + // Runtime API: 5.24. Texture Reference Management, 5.26. Texture Object Management + CONV_TEXTURE, + // Driver API : 5.23. Surface Reference Management, 5.25. Surface Object Management + // Runtime API: 5.25. Surface Reference Management, 5.27. Surface Object Management CONV_SURFACE, - CONV_JIT, + // Driver API : 5.26. Peer Context Memory Access + // Runtime API: 5.12. Peer Device Memory Access + CONV_PEER, + // Driver API : 5.27. Graphics Interoperability + // Runtime API: 5.23. Graphics Interoperability + CONV_GRAPHICS, + // Driver API : 5.28. Profiler Control + // Runtime API: 5.32. Profiler Control + CONV_PROFILER, + // Driver API : 5.29. OpenGL Interoperability + // Runtime API: 5.13. OpenGL Interoperability, 5.14. OpenGL Interoperability [DEPRECATED] + CONV_OPENGL, + // Driver API : 5.30. Direct3D 9 Interoperability + // Runtime API: 5.15. Direct3D 9 Interoperability, 5.16. Direct3D 9 Interoperability [DEPRECATED] CONV_D3D9, + // Driver API : 5.31. Direct3D 10 Interoperability + // Runtime API: 5.17. Direct3D 10 Interoperability, 5.18. Direct3D 10 Interoperability [DEPRECATED] CONV_D3D10, + // Driver API : 5.32. Direct3D 11 Interoperability + // Runtime API: 5.19. Direct3D 11 Interoperability, 5.20. Direct3D 11 Interoperability [DEPRECATED] CONV_D3D11, + // Driver API : 5.33. VDPAU Interoperability + // Runtime API: 5.21. VDPAU Interoperability CONV_VDPAU, + // Driver API : 5.34. EGL Interoperability + // Runtime API: 5.22. EGL Interoperability CONV_EGL, - CONV_COMPLEX, + // Runtime API: 5.2. Thread Management [DEPRECATED] CONV_THREAD, - CONV_OTHER, + CONV_COMPLEX, + CONV_LIB_FUNC, + CONV_LIB_DEVICE_FUNC, CONV_INCLUDE, CONV_INCLUDE_CUDA_MAIN_H, CONV_TYPE, CONV_LITERAL, CONV_NUMERIC_LITERAL, + CONV_DEFINE, CONV_LAST }; constexpr int NUM_CONV_TYPES = (int) ConvTypes::CONV_LAST; @@ -88,11 +134,11 @@ private: int convTypeCounters[NUM_CONV_TYPES] = {}; public: - void incrementCounter(const hipCounter& counter, std::string name); + void incrementCounter(const hipCounter& counter, const std::string& name); // Add the counters from `other` onto the counters of this object. void add(const StatCounter& other); int getConvSum(); - void print(std::ostream* csv, llvm::raw_ostream* printOut, std::string prefix); + void print(std::ostream* csv, llvm::raw_ostream* printOut, const std::string& prefix); }; /** @@ -110,8 +156,8 @@ class Statistics { chr::steady_clock::time_point completionTime; public: - Statistics(std::string name); - void incrementCounter(const hipCounter &counter, std::string name); + Statistics(const std::string& name); + void incrementCounter(const hipCounter &counter, const std::string& name); // Add the counters from `other` onto the counters of this object. void add(const Statistics &other); void lineTouched(int lineNumber); @@ -146,5 +192,5 @@ public: * Set the active Statistics object to the named one, creating it if necessary, and write the completion * timestamp into the currently active one. */ - static void setActive(std::string name); + static void setActive(const std::string& name); }; diff --git a/hipamd/hipify-clang/src/StringUtils.cpp b/hipamd/hipify-clang/src/StringUtils.cpp index 6504d39010..3aaa4d7909 100644 --- a/hipamd/hipify-clang/src/StringUtils.cpp +++ b/hipamd/hipify-clang/src/StringUtils.cpp @@ -7,7 +7,7 @@ llvm::StringRef unquoteStr(llvm::StringRef s) { return s; } -void removePrefixIfPresent(std::string &s, std::string prefix) { +void removePrefixIfPresent(std::string &s, const std::string& prefix) { if (s.find(prefix) != 0) { return; } diff --git a/hipamd/hipify-clang/src/StringUtils.h b/hipamd/hipify-clang/src/StringUtils.h index c0be9f6227..8c5bf58da8 100644 --- a/hipamd/hipify-clang/src/StringUtils.h +++ b/hipamd/hipify-clang/src/StringUtils.h @@ -11,4 +11,4 @@ llvm::StringRef unquoteStr(llvm::StringRef s); /** * If `s` starts with `prefix`, remove it. Otherwise, does nothing. */ -void removePrefixIfPresent(std::string &s, std::string prefix); +void removePrefixIfPresent(std::string &s, const std::string& prefix); diff --git a/hipamd/include/hip/hcc_detail/code_object_bundle.hpp b/hipamd/include/hip/hcc_detail/code_object_bundle.hpp index c36dd91813..7b97503c16 100644 --- a/hipamd/include/hip/hcc_detail/code_object_bundle.hpp +++ b/hipamd/include/hip/hcc_detail/code_object_bundle.hpp @@ -84,6 +84,9 @@ class Bundled_code_header { std::copy_n(f + y.header.offset, y.header.bundle_sz, std::back_inserter(y.blob)); it += y.header.triple_sz; + + x.bundled_code_size = std::max(x.bundled_code_size, + y.header.offset + y.header.bundle_sz); } return true; @@ -123,6 +126,8 @@ class Bundled_code_header { // MANIPULATORS Bundled_code_header& operator=(const Bundled_code_header&) = default; Bundled_code_header& operator=(Bundled_code_header&&) = default; + + size_t bundled_code_size = 0; }; // CREATORS diff --git a/hipamd/include/hip/hcc_detail/device_functions.h b/hipamd/include/hip/hcc_detail/device_functions.h index 7b0a13e83a..602c6be87a 100644 --- a/hipamd/include/hip/hcc_detail/device_functions.h +++ b/hipamd/include/hip/hcc_detail/device_functions.h @@ -876,6 +876,15 @@ static void __threadfence_system() __atomic_work_item_fence(0, __memory_order_seq_cst, __memory_scope_all_svm_devices); } +// abort +__device__ +inline +__attribute__((weak)) +void abort() { + return __builtin_trap(); +} + + #endif // __HCC_OR_HIP_CLANG__ #ifdef __HCC__ diff --git a/hipamd/include/hip/hcc_detail/functional_grid_launch.hpp b/hipamd/include/hip/hcc_detail/functional_grid_launch.hpp index 66e5873f3a..5edddad6c5 100644 --- a/hipamd/include/hip/hcc_detail/functional_grid_launch.hpp +++ b/hipamd/include/hip/hcc_detail/functional_grid_launch.hpp @@ -33,6 +33,7 @@ THE SOFTWARE. #include #include +#include #include #include #include @@ -56,7 +57,9 @@ template < typename... Ts, typename std::enable_if::type* = nullptr> inline std::vector make_kernarg( - std::vector kernarg, const std::tuple&) { + const std::tuple&, + const std::vector>&, + std::vector kernarg) { return kernarg; } @@ -65,7 +68,9 @@ template < typename... Ts, typename std::enable_if::type* = nullptr> inline std::vector make_kernarg( - std::vector kernarg, const std::tuple& formals) { + const std::tuple& formals, + const std::vector>& size_align, + std::vector kernarg) { using T = typename std::tuple_element>::type; static_assert( @@ -80,24 +85,44 @@ inline std::vector make_kernarg( #endif kernarg.resize(round_up_to_next_multiple_nonnegative( - kernarg.size(), alignof(T)) + sizeof(T)); + kernarg.size(), size_align[n].second) + + size_align[n].first); - new (kernarg.data() + kernarg.size() - sizeof(T)) T{std::get(formals)}; + std::memcpy( + kernarg.data() + kernarg.size() - size_align[n].first, + &std::get(formals), + size_align[n].first); - return make_kernarg(std::move(kernarg), formals); + return make_kernarg(formals, size_align, std::move(kernarg)); } template inline std::vector make_kernarg( - void (*)(Formals...), std::tuple actuals) { + void (*kernel)(Formals...), std::tuple actuals) { static_assert(sizeof...(Formals) == sizeof...(Actuals), "The count of formal arguments must match the count of actuals."); + if (sizeof...(Formals) == 0) return {}; + + const auto it = function_names().find( + reinterpret_cast(kernel)); + + if (it == function_names().cend()) { + throw std::runtime_error{"Undefined __global__ function."}; + } + + const auto it1 = kernargs().find(it->second); + + if (it1 == kernargs().end()) { + throw std::runtime_error{ + "Missing metadata for __global__ function: " + it->second}; + } + std::tuple to_formals{std::move(actuals)}; std::vector kernarg; kernarg.reserve(sizeof(to_formals)); - return make_kernarg<0>(std::move(kernarg), to_formals); + return make_kernarg<0>(to_formals, it1->second, std::move(kernarg)); } void hipLaunchKernelGGLImpl(std::uintptr_t function_address, const dim3& numBlocks, @@ -120,6 +145,8 @@ inline void hipLaunchKernelGGL(F kernel, const dim3& numBlocks, const dim3& dimB } template +[[deprecated("hipLaunchKernel is deprecated and will be removed in the next " + "version of HIP; please upgrade to hipLaunchKernelGGL.")]] inline void hipLaunchKernel(F kernel, const dim3& numBlocks, const dim3& dimBlocks, std::uint32_t groupMemBytes, hipStream_t stream, Args... args) { hipLaunchKernelGGL(kernel, numBlocks, dimBlocks, groupMemBytes, stream, hipLaunchParm{}, diff --git a/hipamd/include/hip/hcc_detail/hip_memory.h b/hipamd/include/hip/hcc_detail/hip_memory.h index 739e488ca3..866b9e879e 100644 --- a/hipamd/include/hip/hcc_detail/hip_memory.h +++ b/hipamd/include/hip/hcc_detail/hip_memory.h @@ -27,6 +27,8 @@ THE SOFTWARE. // HIP heap is implemented as a global array with fixed size. Users may define // __HIP_SIZE_OF_PAGE and __HIP_NUM_PAGES to have a larger heap. +#if __HCC__ || __HIP__ + // Size of page in bytes. #ifndef __HIP_SIZE_OF_PAGE #define __HIP_SIZE_OF_PAGE 64 @@ -39,11 +41,14 @@ THE SOFTWARE. #define __HIP_SIZE_OF_HEAP (__HIP_NUM_PAGES * __HIP_SIZE_OF_PAGE) -#if __HCC__ || __HIP__ - +#if __HIP__ && __HIP_DEVICE_COMPILE__ __attribute__((weak)) __device__ char __hip_device_heap[__HIP_SIZE_OF_HEAP]; __attribute__((weak)) __device__ uint32_t __hip_device_page_flag[__HIP_NUM_PAGES]; +#else +extern __device__ char __hip_device_heap[]; +extern __device__ uint32_t __hip_device_page_flag[]; +#endif extern "C" inline __device__ void* __hip_malloc(size_t size) { char* heap = (char*)__hip_device_heap; diff --git a/hipamd/include/hip/hcc_detail/hip_runtime.h b/hipamd/include/hip/hcc_detail/hip_runtime.h index 3db06bb15e..60d145c884 100644 --- a/hipamd/include/hip/hcc_detail/hip_runtime.h +++ b/hipamd/include/hip/hcc_detail/hip_runtime.h @@ -181,8 +181,7 @@ extern int HIP_TRACE_API; #define __HCC_C__ #endif -// abort -__device__ void abort(); +__host__ inline void* __get_dynamicgroupbaseptr() { return nullptr; } #if __HIP_ARCH_GFX701__ == 0 diff --git a/hipamd/include/hip/hcc_detail/hip_runtime_api.h b/hipamd/include/hip/hcc_detail/hip_runtime_api.h index 60609fd135..c9ff32d197 100644 --- a/hipamd/include/hip/hcc_detail/hip_runtime_api.h +++ b/hipamd/include/hip/hcc_detail/hip_runtime_api.h @@ -94,7 +94,7 @@ typedef struct ihipModule_t* hipModule_t; typedef struct ihipModuleSymbol_t* hipFunction_t; -struct hipFuncAttributes { +typedef struct hipFuncAttributes { int binaryVersion; int cacheModeCA; size_t constSizeBytes; @@ -105,7 +105,7 @@ struct hipFuncAttributes { int preferredShmemCarveout; int ptxVersion; size_t sharedSizeBytes; -}; +} hipFuncAttributes; typedef struct ihipEvent_t* hipEvent_t; diff --git a/hipamd/include/hip/hcc_detail/math_functions.h b/hipamd/include/hip/hcc_detail/math_functions.h index b12e7aca89..557257b2b0 100644 --- a/hipamd/include/hip/hcc_detail/math_functions.h +++ b/hipamd/include/hip/hcc_detail/math_functions.h @@ -514,38 +514,41 @@ float __exp10f(float x) { return __ocml_exp10_f32(x); } __DEVICE__ inline float __expf(float x) { return __ocml_exp_f32(x); } +#if defined OCML_BASIC_ROUNDED_OPERATIONS __DEVICE__ inline -float __fadd_rd(float x, float y) { return __ocml_add_rtp_f32(x, y); } +float __fadd_rd(float x, float y) { return __ocml_add_rtn_f32(x, y); } __DEVICE__ inline float __fadd_rn(float x, float y) { return __ocml_add_rte_f32(x, y); } __DEVICE__ inline -float __fadd_ru(float x, float y) { return __ocml_add_rtn_f32(x, y); } +float __fadd_ru(float x, float y) { return __ocml_add_rtp_f32(x, y); } __DEVICE__ inline float __fadd_rz(float x, float y) { return __ocml_add_rtz_f32(x, y); } __DEVICE__ inline -float __fdiv_rd(float x, float y) { return x / y; } +float __fdiv_rd(float x, float y) { return __ocml_div_rtn_f32(x, y); } __DEVICE__ inline -float __fdiv_rn(float x, float y) { return x / y; } +float __fdiv_rn(float x, float y) { return __ocml_div_rte_f32(x, y); } __DEVICE__ inline -float __fdiv_ru(float x, float y) { return x / y; } +float __fdiv_ru(float x, float y) { return __ocml_div_rtp_f32(x, y); } __DEVICE__ inline -float __fdiv_rz(float x, float y) { return x / y; } +float __fdiv_rz(float x, float y) { return __ocml_div_rtz_f32(x, y); } +#endif __DEVICE__ inline float __fdividef(float x, float y) { return x / y; } +#if defined OCML_BASIC_ROUNDED_OPERATIONS __DEVICE__ inline float __fmaf_rd(float x, float y, float z) { - return __ocml_fma_rtp_f32(x, y, z); + return __ocml_fma_rtn_f32(x, y, z); } __DEVICE__ inline @@ -557,7 +560,7 @@ __DEVICE__ inline float __fmaf_ru(float x, float y, float z) { - return __ocml_fma_rtn_f32(x, y, z); + return __ocml_fma_rtp_f32(x, y, z); } __DEVICE__ inline @@ -567,13 +570,13 @@ float __fmaf_rz(float x, float y, float z) } __DEVICE__ inline -float __fmul_rd(float x, float y) { return __ocml_mul_rtp_f32(x, y); } +float __fmul_rd(float x, float y) { return __ocml_mul_rtn_f32(x, y); } __DEVICE__ inline float __fmul_rn(float x, float y) { return __ocml_mul_rte_f32(x, y); } __DEVICE__ inline -float __fmul_ru(float x, float y) { return __ocml_mul_rtn_f32(x, y); } +float __fmul_ru(float x, float y) { return __ocml_mul_rtp_f32(x, y); } __DEVICE__ inline float __fmul_rz(float x, float y) { return __ocml_mul_rtz_f32(x, y); } @@ -594,28 +597,29 @@ inline float __frsqrt_rn(float x) { return __llvm_amdgcn_rsq_f32(x); } __DEVICE__ inline -float __fsqrt_rd(float x) { return __ocml_sqrt_f32(x); } +float __fsqrt_rd(float x) { return __ocml_sqrt_rtn_f32(x); } __DEVICE__ inline -float __fsqrt_rn(float x) { return __ocml_sqrt_f32(x); } +float __fsqrt_rn(float x) { return __ocml_sqrt_rte_f32(x); } __DEVICE__ inline -float __fsqrt_ru(float x) { return __ocml_sqrt_f32(x); } +float __fsqrt_ru(float x) { return __ocml_sqrt_rtp_f32(x); } __DEVICE__ inline -float __fsqrt_rz(float x) { return __ocml_sqrt_f32(x); } +float __fsqrt_rz(float x) { return __ocml_sqrt_rtz_f32(x); } __DEVICE__ inline -float __fsub_rd(float x, float y) { return __ocml_sub_rtp_f32(x, y); } +float __fsub_rd(float x, float y) { return __ocml_sub_rtn_f32(x, y); } __DEVICE__ inline float __fsub_rn(float x, float y) { return __ocml_sub_rte_f32(x, y); } __DEVICE__ inline -float __fsub_ru(float x, float y) { return __ocml_sub_rtn_f32(x, y); } +float __fsub_ru(float x, float y) { return __ocml_sub_rtp_f32(x, y); } __DEVICE__ inline float __fsub_rz(float x, float y) { return __ocml_sub_rtz_f32(x, y); } +#endif __DEVICE__ inline float __log10f(float x) { return __ocml_log10_f32(x); } @@ -1034,39 +1038,40 @@ double yn(int n, double x) } // BEGIN INTRINSICS +#if defined OCML_BASIC_ROUNDED_OPERATIONS __DEVICE__ inline -double __dadd_rd(double x, double y) { return __ocml_add_rtp_f64(x, y); } +double __dadd_rd(double x, double y) { return __ocml_add_rtn_f64(x, y); } __DEVICE__ inline double __dadd_rn(double x, double y) { return __ocml_add_rte_f64(x, y); } __DEVICE__ inline -double __dadd_ru(double x, double y) { return __ocml_add_rtn_f64(x, y); } +double __dadd_ru(double x, double y) { return __ocml_add_rtp_f64(x, y); } __DEVICE__ inline double __dadd_rz(double x, double y) { return __ocml_add_rtz_f64(x, y); } __DEVICE__ inline -double __ddiv_rd(double x, double y) { return x / y; } +double __ddiv_rd(double x, double y) { return __ocml_div_rtn_f64(x, y); } __DEVICE__ inline -double __ddiv_rn(double x, double y) { return x / y; } +double __ddiv_rn(double x, double y) { return __ocml_div_rte_f64(x, y); } __DEVICE__ inline -double __ddiv_ru(double x, double y) { return x / y; } +double __ddiv_ru(double x, double y) { return __ocml_div_rtp_f64(x, y); } __DEVICE__ inline -double __ddiv_rz(double x, double y) { return x / y; } +double __ddiv_rz(double x, double y) { return __ocml_div_rtz_f64(x, y); } __DEVICE__ inline -double __dmul_rd(double x, double y) { return __ocml_mul_rtp_f64(x, y); } +double __dmul_rd(double x, double y) { return __ocml_mul_rtn_f64(x, y); } __DEVICE__ inline double __dmul_rn(double x, double y) { return __ocml_mul_rte_f64(x, y); } __DEVICE__ inline -double __dmul_ru(double x, double y) { return __ocml_mul_rtn_f64(x, y); } +double __dmul_ru(double x, double y) { return __ocml_mul_rtp_f64(x, y); } __DEVICE__ inline double __dmul_rz(double x, double y) { return __ocml_mul_rtz_f64(x, y); } @@ -1084,25 +1089,25 @@ inline double __drcp_rz(double x) { return __llvm_amdgcn_rcp_f64(x); } __DEVICE__ inline -double __dsqrt_rd(double x) { return __ocml_sqrt_f64(x); } +double __dsqrt_rd(double x) { return __ocml_sqrt_rtn_f64(x); } __DEVICE__ inline -double __dsqrt_rn(double x) { return __ocml_sqrt_f64(x); } +double __dsqrt_rn(double x) { return __ocml_sqrt_rte_f64(x); } __DEVICE__ inline -double __dsqrt_ru(double x) { return __ocml_sqrt_f64(x); } +double __dsqrt_ru(double x) { return __ocml_sqrt_rtp_f64(x); } __DEVICE__ inline -double __dsqrt_rz(double x) { return __ocml_sqrt_f64(x); } +double __dsqrt_rz(double x) { return __ocml_sqrt_rtz_f64(x); } __DEVICE__ inline -double __dsub_rd(double x, double y) { return __ocml_sub_rtp_f64(x, y); } +double __dsub_rd(double x, double y) { return __ocml_sub_rtn_f64(x, y); } __DEVICE__ inline double __dsub_rn(double x, double y) { return __ocml_sub_rte_f64(x, y); } __DEVICE__ inline -double __dsub_ru(double x, double y) { return __ocml_sub_rtn_f64(x, y); } +double __dsub_ru(double x, double y) { return __ocml_sub_rtp_f64(x, y); } __DEVICE__ inline double __dsub_rz(double x, double y) { return __ocml_sub_rtz_f64(x, y); } @@ -1110,7 +1115,7 @@ __DEVICE__ inline double __fma_rd(double x, double y, double z) { - return __ocml_fma_rtp_f64(x, y, z); + return __ocml_fma_rtn_f64(x, y, z); } __DEVICE__ inline @@ -1122,7 +1127,7 @@ __DEVICE__ inline double __fma_ru(double x, double y, double z) { - return __ocml_fma_rtn_f64(x, y, z); + return __ocml_fma_rtp_f64(x, y, z); } __DEVICE__ inline @@ -1130,6 +1135,7 @@ double __fma_rz(double x, double y, double z) { return __ocml_fma_rtz_f64(x, y, z); } +#endif // END INTRINSICS // END DOUBLE diff --git a/hipamd/include/hip/hcc_detail/math_fwd.h b/hipamd/include/hip/hcc_detail/math_fwd.h index 404c2f81d5..e5594924ba 100644 --- a/hipamd/include/hip/hcc_detail/math_fwd.h +++ b/hipamd/include/hip/hcc_detail/math_fwd.h @@ -288,6 +288,30 @@ __attribute__((const)) float __ocml_mul_rtz_f32(float, float); __device__ __attribute__((const)) +float __ocml_div_rte_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_div_rtn_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_div_rtp_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_div_rtz_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_sqrt_rte_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_sqrt_rtn_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_sqrt_rtp_f32(float, float); +__device__ +__attribute__((const)) +float __ocml_sqrt_rtz_f32(float, float); +__device__ +__attribute__((const)) float __ocml_fma_rte_f32(float, float, float); __device__ __attribute__((const)) @@ -572,6 +596,30 @@ __attribute__((const)) double __ocml_mul_rtz_f64(double, double); __device__ __attribute__((const)) +double __ocml_div_rte_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_div_rtn_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_div_rtp_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_div_rtz_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_sqrt_rte_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_sqrt_rtn_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_sqrt_rtp_f64(double, double); +__device__ +__attribute__((const)) +double __ocml_sqrt_rtz_f64(double, double); +__device__ +__attribute__((const)) double __ocml_fma_rte_f64(double, double, double); __device__ __attribute__((const)) @@ -594,4 +642,4 @@ double __llvm_amdgcn_rsq_f64(double) __asm("llvm.amdgcn.rsq.f64"); #if defined(__cplusplus) } // extern "C" -#endif \ No newline at end of file +#endif diff --git a/hipamd/include/hip/hcc_detail/program_state.hpp b/hipamd/include/hip/hcc_detail/program_state.hpp index bdb87b3509..92bef22172 100644 --- a/hipamd/include/hip/hcc_detail/program_state.hpp +++ b/hipamd/include/hip/hcc_detail/program_state.hpp @@ -99,6 +99,8 @@ const std::unordered_map& function_names(bool rebuild = false); std::unordered_map& globals(bool rebuild = false); +std::unordered_map< + std::string, std::vector>>& kernargs(); hsa_executable_t load_executable(const std::string& file, hsa_executable_t executable, hsa_agent_t agent); diff --git a/hipamd/packaging/hip-targets-release.cmake b/hipamd/packaging/hip-targets-release.cmake index 0ae7405cde..83c207810c 100644 --- a/hipamd/packaging/hip-targets-release.cmake +++ b/hipamd/packaging/hip-targets-release.cmake @@ -41,15 +41,5 @@ endif() list(APPEND _IMPORT_CHECK_TARGETS hip::hip_hcc ) list(APPEND _IMPORT_CHECK_FILES_FOR_hip::hip_hcc "/opt/rocm/hip/lib/libhip_hcc.so" ) -# Import target "hip::hip_device" for configuration "Release" -set_property(TARGET hip::hip_device APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(hip::hip_device PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX" - IMPORTED_LOCATION_RELEASE "/opt/rocm/hip/lib/libhip_device.a" - ) - -list(APPEND _IMPORT_CHECK_TARGETS hip::hip_device ) -list(APPEND _IMPORT_CHECK_FILES_FOR_hip::hip_device "/opt/rocm/hip/lib/libhip_device.a" ) - # Commands beyond this point should not need to know the version. set(CMAKE_IMPORT_FILE_VERSION) diff --git a/hipamd/packaging/hip-targets.cmake b/hipamd/packaging/hip-targets.cmake index ec2fa716a6..d7a6b4d588 100644 --- a/hipamd/packaging/hip-targets.cmake +++ b/hipamd/packaging/hip-targets.cmake @@ -16,7 +16,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1) set(_targetsDefined) set(_targetsNotDefined) set(_expectedTargets) -foreach(_expectedTarget hip::hip_hcc_static hip::hip_hcc hip::hip_device hip::host hip::device) +foreach(_expectedTarget hip::hip_hcc_static hip::hip_hcc hip::host hip::device) list(APPEND _expectedTargets ${_expectedTarget}) if(NOT TARGET ${_expectedTarget}) list(APPEND _targetsNotDefined ${_expectedTarget}) @@ -57,14 +57,6 @@ set_target_properties(hip::hip_hcc PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;/opt/rocm/hsa/include" ) -# Create imported target hip::hip_device -add_library(hip::hip_device STATIC IMPORTED) - -set_target_properties(hip::hip_device PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;/opt/rocm/hsa/include" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;/opt/rocm/hsa/include" -) - # Create imported target hip::host add_library(hip::host INTERFACE IMPORTED) @@ -75,13 +67,13 @@ set_target_properties(hip::host PROPERTIES # Create imported target hip::device add_library(hip::device INTERFACE IMPORTED) -if(HIP_COMPILER STREQUAL "clang") +if(HIP_COMPILER STREQUAL "hcc") set_target_properties(hip::device PROPERTIES - INTERFACE_LINK_LIBRARIES "hip::host;hip::hip_device" + INTERFACE_LINK_LIBRARIES "hip::host;hcc::hccrt;hcc::hc_am" ) else() set_target_properties(hip::device PROPERTIES - INTERFACE_LINK_LIBRARIES "hip::host;hip::hip_device;hcc::hccrt;hcc::hc_am" + INTERFACE_LINK_LIBRARIES "hip::host" ) endif() diff --git a/hipamd/packaging/hip_hcc.txt b/hipamd/packaging/hip_hcc.txt index 9d4b96761d..fe866e47f9 100644 --- a/hipamd/packaging/hip_hcc.txt +++ b/hipamd/packaging/hip_hcc.txt @@ -3,7 +3,6 @@ project(hip_hcc) install(FILES @PROJECT_BINARY_DIR@/libhip_hcc.so DESTINATION lib) install(FILES @PROJECT_BINARY_DIR@/libhip_hcc_static.a DESTINATION lib) -install(FILES @PROJECT_BINARY_DIR@/libhip_device.a DESTINATION lib) install(FILES @PROJECT_BINARY_DIR@/.hipInfo DESTINATION lib) install(FILES @PROJECT_BINARY_DIR@/hip-config.cmake @PROJECT_BINARY_DIR@/hip-config-version.cmake DESTINATION lib/cmake/hip) install(FILES @hip_SOURCE_DIR@/packaging/hip-targets.cmake @hip_SOURCE_DIR@/packaging/hip-targets-release.cmake DESTINATION lib/cmake/hip) diff --git a/hipamd/samples/0_Intro/bit_extract/bit_extract.cpp b/hipamd/samples/0_Intro/bit_extract/bit_extract.cpp index ab7a4b35a6..5c3907f0d3 100644 --- a/hipamd/samples/0_Intro/bit_extract/bit_extract.cpp +++ b/hipamd/samples/0_Intro/bit_extract/bit_extract.cpp @@ -23,10 +23,6 @@ THE SOFTWARE. #include #include #include "hip/hip_runtime.h" -#ifdef __HIP_PLATFORM_HCC__ -#include -#endif - #define CHECK(cmd) \ { \ @@ -44,7 +40,7 @@ __global__ void bit_extract_kernel(uint32_t* C_d, const uint32_t* A_d, size_t N) for (size_t i = offset; i < N; i += stride) { #ifdef __HIP_PLATFORM_HCC__ - C_d[i] = hc::__bitextract_u32(A_d[i], 8, 4); + C_d[i] = __bitextract_u32(A_d[i], 8, 4); #else /* defined __HIP_PLATFORM_NVCC__ or other path */ C_d[i] = ((A_d[i] & 0xf00) >> 8); #endif diff --git a/hipamd/src/device_util.cpp b/hipamd/src/device_util.cpp deleted file mode 100644 index c86e52617b..0000000000 --- a/hipamd/src/device_util.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright (c) 2015-2017 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - -#include -#include "device_util.h" -#include "hip/hcc_detail/device_functions.h" -#include "hip/hcc_detail/grid_launch.h" -#include "hip/hip_runtime.h" -#include - -// abort -__device__ void abort() { return hc::abort(); } - -__host__ void* __get_dynamicgroupbaseptr() { return nullptr; } diff --git a/hipamd/src/hip_clang.cpp b/hipamd/src/hip_clang.cpp index 15a96d298a..44080884e7 100644 --- a/hipamd/src/hip_clang.cpp +++ b/hipamd/src/hip_clang.cpp @@ -22,6 +22,7 @@ THE SOFTWARE. #include #include +#include #include "hip/hip_runtime.h" #include "hip_hcc_internal.h" @@ -86,6 +87,7 @@ __hipRegisterFatBinary(const void* data) std::string target{&desc->triple[sizeof(AMDGCN_AMDHSA_TRIPLE)], desc->tripleSize - sizeof(AMDGCN_AMDHSA_TRIPLE)}; + tprintf(DB_FB, "Found bundle for %s\n", target.c_str()); for (int deviceId = 0; deviceId < g_deviceCnt; ++deviceId) { hsa_agent_t agent = g_allAgents[deviceId + 1]; @@ -110,10 +112,35 @@ __hipRegisterFatBinary(const void* data) if (module->executable.handle) { modules->at(deviceId) = module; + tprintf(DB_FB, "Loaded code object for %s\n", name); + if (HIP_DUMP_CODE_OBJECT) { + char fname[30]; + static std::atomic index; + sprintf(fname, "__hip_dump_code_object%04d.o", index++); + tprintf(DB_FB, "Dump code object %s\n", fname); + std::ofstream ofs; + ofs.open(fname, std::ios::binary); + ofs << image; + ofs.close(); + } + } else { + fprintf(stderr, "Failed to load code object for %s\n", name); + abort(); } } } + for (int deviceId = 0; deviceId < g_deviceCnt; ++deviceId) { + hsa_agent_t agent = g_allAgents[deviceId + 1]; + + char name[64] = {}; + hsa_agent_get_info(agent, HSA_AGENT_INFO_NAME, name); + if (!(*modules)[deviceId]) { + fprintf(stderr, "No device code bundle for %s\n", name); + abort(); + } + } + tprintf(DB_FB, "__hipRegisterFatBinary succeeds and returns %p\n", modules); return modules; } @@ -132,13 +159,20 @@ extern "C" void __hipRegisterFunction( dim3* gridDim, int* wSize) { + HIP_INIT_API(modules, hostFunction, deviceFunction, deviceName); std::vector functions{g_deviceCnt}; + assert(modules && modules->size() >= g_deviceCnt); for (int deviceId = 0; deviceId < g_deviceCnt; ++deviceId) { hipFunction_t function; - if (hipSuccess == hipModuleGetFunction(&function, modules->at(deviceId), deviceName)) { + if (hipSuccess == hipModuleGetFunction(&function, modules->at(deviceId), deviceName) && + function != nullptr) { functions[deviceId] = function; } + else { + tprintf(DB_FB, "__hipRegisterFunction cannot find kernel %s for" + " device %d\n", deviceName, deviceId); + } } g_functions.insert(std::make_pair(hostFunction, std::move(functions))); @@ -180,6 +214,7 @@ hipError_t hipSetupArgument( size_t size, size_t offset) { + HIP_INIT_API(arg, size, offset); auto ctx = ihipGetTlsDefaultCtx(); LockedAccessor_CtxCrit_t crit(ctx->criticalData()); auto& arguments = crit->_execStack.top()._arguments; @@ -194,6 +229,7 @@ hipError_t hipSetupArgument( hipError_t hipLaunchByPtr(const void *hostFunction) { + HIP_INIT_API(hostFunction); ihipExec_t exec; { auto ctx = ihipGetTlsDefaultCtx(); @@ -213,20 +249,28 @@ hipError_t hipLaunchByPtr(const void *hostFunction) deviceId = 0; } + hipError_t e = hipSuccess; decltype(g_functions)::iterator it; - if ((it = g_functions.find(hostFunction)) == g_functions.end()) - return hipErrorUnknown; + if ((it = g_functions.find(hostFunction)) == g_functions.end() || + !it->second[deviceId]) { + e = hipErrorUnknown; + fprintf(stderr, "hipLaunchByPtr cannot find kernel with stub address %p" + " for device %d!\n", hostFunction, deviceId); + abort(); + } else { + size_t size = exec._arguments.size(); + void *extra[] = { + HIP_LAUNCH_PARAM_BUFFER_POINTER, &exec._arguments[0], + HIP_LAUNCH_PARAM_BUFFER_SIZE, &size, + HIP_LAUNCH_PARAM_END + }; - size_t size = exec._arguments.size(); - void *extra[] = { - HIP_LAUNCH_PARAM_BUFFER_POINTER, &exec._arguments[0], - HIP_LAUNCH_PARAM_BUFFER_SIZE, &size, - HIP_LAUNCH_PARAM_END - }; + e = hipModuleLaunchKernel(it->second[deviceId], + exec._gridDim.x, exec._gridDim.y, exec._gridDim.z, + exec._blockDim.x, exec._blockDim.y, exec._blockDim.z, + exec._sharedMem, exec._hStream, nullptr, extra); + } - return hipModuleLaunchKernel(it->second[deviceId], - exec._gridDim.x, exec._gridDim.y, exec._gridDim.z, - exec._blockDim.x, exec._blockDim.y, exec._blockDim.z, - exec._sharedMem, exec._hStream, nullptr, extra); + return ihipLogStatus(e); } diff --git a/hipamd/src/hip_hcc.cpp b/hipamd/src/hip_hcc.cpp index eff93da847..e152e7ba69 100644 --- a/hipamd/src/hip_hcc.cpp +++ b/hipamd/src/hip_hcc.cpp @@ -97,6 +97,8 @@ int HIP_INIT_ALLOC = -1; int HIP_SYNC_STREAM_WAIT = 0; int HIP_FORCE_NULL_STREAM = 0; +int HIP_DUMP_CODE_OBJECT = 0; + #if (__hcc_workweek__ >= 17300) // Make sure we have required bug fix in HCC @@ -1294,6 +1296,10 @@ void HipReadEnv() { "overridden by specifying hipEventReleaseToSystem or hipEventReleaseToDevice flag " "when creating the event."); + READ_ENV_I(release, HIP_DUMP_CODE_OBJECT, 0, + "If set, dump code object as __hip_dump_code_object[nnnn].o in the current directory," + "where nnnn is the index number."); + // Some flags have both compile-time and runtime flags - generate a warning if user enables the // runtime flag but the compile-time flag is disabled. if (HIP_DB && !COMPILE_HIP_DB) { diff --git a/hipamd/src/hip_hcc_internal.h b/hipamd/src/hip_hcc_internal.h index d64a4a4cbe..8102f066de 100644 --- a/hipamd/src/hip_hcc_internal.h +++ b/hipamd/src/hip_hcc_internal.h @@ -83,11 +83,11 @@ extern int HIP_SYNC_NULL_STREAM; extern int HIP_INIT_ALLOC; extern int HIP_FORCE_NULL_STREAM; +extern int HIP_DUMP_CODE_OBJECT; // TODO - remove when this is standard behavior. extern int HCC_OPT_FLUSH; - // Class to assign a short TID to each new thread, for HIP debugging purposes. class TidInfo { public: diff --git a/hipamd/src/hip_memory.cpp b/hipamd/src/hip_memory.cpp index bda6ad2650..7c25b714f8 100644 --- a/hipamd/src/hip_memory.cpp +++ b/hipamd/src/hip_memory.cpp @@ -28,6 +28,9 @@ THE SOFTWARE. #include "hip_hcc_internal.h" #include "trace_helper.h" +__device__ char __hip_device_heap[__HIP_SIZE_OF_HEAP]; +__device__ uint32_t __hip_device_page_flag[__HIP_NUM_PAGES]; + // Internal HIP APIS: namespace hip_internal { @@ -574,24 +577,8 @@ hipError_t hipMallocArray(hipArray** array, const hipChannelFormatDesc* desc, si size = size * height; } - size_t allocSize = 0; - switch (desc->f) { - case hipChannelFormatKindSigned: - allocSize = size * sizeof(int); - break; - case hipChannelFormatKindUnsigned: - allocSize = size * sizeof(unsigned int); - break; - case hipChannelFormatKindFloat: - allocSize = size * sizeof(float); - break; - case hipChannelFormatKindNone: - allocSize = size * sizeof(size_t); - break; - default: - hip_status = hipErrorUnknown; - break; - } + const size_t allocSize = size * ((desc->x + desc->y + desc->z + desc->w) / 8); + hc::accelerator acc = ctx->getDevice()->_acc; hsa_agent_t* agent = static_cast(acc.get_hsa_agent()); @@ -800,24 +787,7 @@ hipError_t hipMalloc3DArray(hipArray** array, const struct hipChannelFormatDesc* const unsigned am_flags = 0; const size_t size = extent.width * extent.height * extent.depth; - size_t allocSize = 0; - switch (desc->f) { - case hipChannelFormatKindSigned: - allocSize = size * sizeof(int); - break; - case hipChannelFormatKindUnsigned: - allocSize = size * sizeof(unsigned int); - break; - case hipChannelFormatKindFloat: - allocSize = size * sizeof(float); - break; - case hipChannelFormatKindNone: - allocSize = size * sizeof(size_t); - break; - default: - hip_status = hipErrorUnknown; - break; - } + const size_t allocSize = size * ((desc->x + desc->y + desc->z + desc->w) / 8); hc::accelerator acc = ctx->getDevice()->_acc; hsa_agent_t* agent = static_cast(acc.get_hsa_agent()); @@ -1015,10 +985,9 @@ hipError_t hipMemcpyToSymbol(const void* symbolName, const void* src, size_t cou hipStream_t stream = ihipSyncAndResolveStream(hipStreamNull); - if (kind == hipMemcpyHostToDevice || kind == hipMemcpyDeviceToHost || + if (kind == hipMemcpyHostToDevice || kind == hipMemcpyDefault || kind == hipMemcpyDeviceToDevice || kind == hipMemcpyHostToHost) { - stream->lockedSymbolCopySync(acc, dst, (void*)src, count, offset, kind); - // acc.memcpy_symbol(dst, (void*)src, count+offset); + stream->locked_copySync((char*)dst+offset, (void*)src, count, kind, false); } else { return ihipLogStatus(hipErrorInvalidValue); } @@ -1048,9 +1017,9 @@ hipError_t hipMemcpyFromSymbol(void* dst, const void* symbolName, size_t count, hipStream_t stream = ihipSyncAndResolveStream(hipStreamNull); - if (kind == hipMemcpyHostToDevice || kind == hipMemcpyDeviceToHost || + if (kind == hipMemcpyDefault || kind == hipMemcpyDeviceToHost || kind == hipMemcpyDeviceToDevice || kind == hipMemcpyHostToHost) { - stream->lockedSymbolCopySync(acc, dst, (void*)src, count, offset, kind); + stream->locked_copySync((void*)dst, (char*)src+offset, count, kind, false); } else { return ihipLogStatus(hipErrorInvalidValue); } @@ -1082,7 +1051,7 @@ hipError_t hipMemcpyToSymbolAsync(const void* symbolName, const void* src, size_ if (stream) { try { - stream->lockedSymbolCopyAsync(acc, dst, (void*)src, count, offset, kind); + hip_internal::memcpyAsync((char*)dst+offset, src, count, kind, stream); } catch (ihipException& ex) { e = ex._code; } @@ -1118,7 +1087,7 @@ hipError_t hipMemcpyFromSymbolAsync(void* dst, const void* symbolName, size_t co stream = ihipSyncAndResolveStream(stream); if (stream) { try { - stream->lockedSymbolCopyAsync(acc, dst, src, count, offset, kind); + hip_internal::memcpyAsync(dst, (char*)src+offset, count, kind, stream); } catch (ihipException& ex) { e = ex._code; } @@ -1688,7 +1657,7 @@ hipError_t hipMemcpy2DAsync(void* dst, size_t dpitch, const void* src, size_t sp } else { try { if(!isLocked){ - for (int i = 0; i < height; ++i) + for (int i = 0; i < height; ++i) e = hip_internal::memcpyAsync((unsigned char*)dst + i * dpitch, (unsigned char*)src + i * spitch, width, kind, stream); } else{ @@ -1738,7 +1707,7 @@ hipError_t hipMemset(void* dst, int value, size_t sizeBytes) { stream->locked_wait(); } else { e = hipErrorInvalidValue; - } + } return ihipLogStatus(e); } diff --git a/hipamd/src/hip_module.cpp b/hipamd/src/hip_module.cpp index a6d486b6de..019bafbe43 100644 --- a/hipamd/src/hip_module.cpp +++ b/hipamd/src/hip_module.cpp @@ -258,20 +258,29 @@ struct Agent_global { uint32_t byte_cnt; }; -inline void track(const Agent_global& x) { +inline void track(const Agent_global& x, hsa_agent_t agent) { tprintf(DB_MEM, " add variable '%s' with ptr=%p size=%u to tracker\n", x.name.c_str(), x.address, x.byte_cnt); - auto device = ihipGetTlsDefaultCtx()->getWriteableDevice(); - + int deviceIndex =0; + for ( deviceIndex = 0; deviceIndex < g_deviceCnt; deviceIndex++) { + if(g_allAgents[deviceIndex] == agent) + break; + } + auto device = ihipGetDevice(deviceIndex - 1); hc::AmPointerInfo ptr_info(nullptr, x.address, x.address, x.byte_cnt, device->_acc, true, false); hc::am_memtracker_add(x.address, ptr_info); +#if USE_APP_PTR_FOR_CTX + hc::am_memtracker_update(x.address, device->_deviceId, 0u, ihipGetTlsDefaultCtx()); +#else hc::am_memtracker_update(x.address, device->_deviceId, 0u); +#endif + } template > -inline hsa_status_t copy_agent_global_variables(hsa_executable_t, hsa_agent_t, +inline hsa_status_t copy_agent_global_variables(hsa_executable_t, hsa_agent_t agent, hsa_executable_symbol_t x, void* out) { assert(out); @@ -281,7 +290,7 @@ inline hsa_status_t copy_agent_global_variables(hsa_executable_t, hsa_agent_t, if (t == HSA_SYMBOL_KIND_VARIABLE) { static_cast(out)->push_back(Agent_global{name(x), address(x), size(x)}); - track(static_cast(out)->back()); + track(static_cast(out)->back(),agent); } return HSA_STATUS_SUCCESS; @@ -342,7 +351,7 @@ hipError_t read_agent_global_from_module(hipDeviceptr_t* dptr, size_t* bytes, hi tie(*dptr, *bytes) = read_global_description(it0->second.cbegin(), it0->second.cend(), name); - return dptr ? hipSuccess : hipErrorNotFound; + return *dptr ? hipSuccess : hipErrorNotFound; } hipError_t read_agent_global_from_process(hipDeviceptr_t* dptr, size_t* bytes, const char* name) { @@ -367,7 +376,7 @@ hipError_t read_agent_global_from_process(hipDeviceptr_t* dptr, size_t* bytes, c tie(*dptr, *bytes) = read_global_description(it->second.cbegin(), it->second.cend(), name); - return dptr ? hipSuccess : hipErrorNotFound; + return *dptr ? hipSuccess : hipErrorNotFound; } hsa_executable_symbol_t find_kernel_by_name(hsa_executable_t executable, const char* kname) { diff --git a/hipamd/src/program_state.cpp b/hipamd/src/program_state.cpp index 8766134582..7e42a44245 100644 --- a/hipamd/src/program_state.cpp +++ b/hipamd/src/program_state.cpp @@ -209,10 +209,16 @@ const unordered_map>>& code_object_blobs(bool reb nullptr); for (auto&& blob : blobs) { - Bundled_code_header tmp{blob}; - if (valid(tmp)) { - for (auto&& bundle : bundles(tmp)) { - r[triple_to_hsa_isa(bundle.triple)].push_back(bundle.blob); + for (auto sub_blob = blob.begin(); sub_blob != blob.end(); ) { + Bundled_code_header tmp(sub_blob, blob.end()); + if (valid(tmp)) { + for (auto&& bundle : bundles(tmp)) { + r[triple_to_hsa_isa(bundle.triple)].push_back(bundle.blob); + } + sub_blob+=tmp.bundled_code_size; + } + else { + break; } } } @@ -306,8 +312,8 @@ const unordered_map>& kernels(bool rebui void load_code_object_and_freeze_executable( const string& file, hsa_agent_t agent, - hsa_executable_t - executable) { // TODO: the following sequence is inefficient, should be refactored + hsa_executable_t executable) { + // TODO: the following sequence is inefficient, should be refactored // into a single load of the file and subsequent ELFIO // processing. static const auto cor_deleter = [](hsa_code_object_reader_t* p) { @@ -334,6 +340,90 @@ void load_code_object_and_freeze_executable( code_readers.push_back(move(tmp)); } } + +size_t parse_args( + const string& metadata, + size_t f, + size_t l, + vector>& size_align) { + if (f == l) return f; + if (!size_align.empty()) return l; + + do { + static constexpr size_t size_sz{5}; + f = metadata.find("Size:", f) + size_sz; + + if (l <= f) return f; + + auto size = strtoul(&metadata[f], nullptr, 10); + + static constexpr size_t align_sz{6}; + f = metadata.find("Align:", f) + align_sz; + + char* l{}; + auto align = strtoul(&metadata[f], &l, 10); + + f += (l - &metadata[f]) + 1; + + size_align.emplace_back(size, align); + } while (true); +} + +void read_kernarg_metadata( + elfio& reader, + unordered_map>>& kernargs) +{ // TODO: this is inefficient. + auto it = find_section_if( + reader, [](const section* x) { return x->get_type() == SHT_NOTE; }); + + if (!it) return; + + const note_section_accessor acc{reader, it}; + for (decltype(acc.get_notes_num()) i = 0; i != acc.get_notes_num(); ++i) { + ELFIO::Elf_Word type{}; + string name{}; + void* desc{}; + Elf_Word desc_size{}; + + acc.get_note(i, type, name, desc, desc_size); + + if (name != "AMD") continue; // TODO: switch to using NT_AMD_AMDGPU_HSA_METADATA. + + string tmp{ + static_cast(desc), static_cast(desc) + desc_size}; + + auto dx = tmp.find("Kernels:"); + + if (dx == string::npos) continue; + + static constexpr decltype(tmp.size()) kernels_sz{8}; + dx += kernels_sz; + + do { + dx = tmp.find("Name:", dx); + + if (dx == string::npos) break; + + static constexpr decltype(tmp.size()) name_sz{5}; + dx = tmp.find_first_not_of(" '", dx + name_sz); + + auto fn = tmp.substr(dx, tmp.find_first_of("'\n", dx) - dx); + dx += fn.size(); + + auto dx1 = tmp.find("CodeProps", dx); + dx = tmp.find("Args:", dx); + + if (dx1 < dx) { + dx = dx1; + continue; + } + if (dx == string::npos) break; + + static constexpr decltype(tmp.size()) args_sz{5}; + dx = parse_args(tmp, dx + args_sz, dx1, kernargs[fn]); + } while (true); + } +} } // namespace namespace hip_impl { @@ -495,6 +585,25 @@ unordered_map& globals(bool rebuild) { return r; } +unordered_map>>& kernargs() { + static unordered_map>> r; + static once_flag f; + + call_once(f, []() { + for (auto&& blob : code_object_blobs()) { + stringstream tmp{std::string{ + blob.second.front().cbegin(), blob.second.front().cend()}}; + + elfio reader; + if (!reader.load(tmp)) continue; + + read_kernarg_metadata(reader, r); + } + }); + + return r; +} + hsa_executable_t load_executable(const string& file, hsa_executable_t executable, hsa_agent_t agent) { elfio reader; diff --git a/hipamd/tests/src/deviceLib/hipDoublePrecisionIntrinsics.cpp b/hipamd/tests/src/deviceLib/hipDoublePrecisionIntrinsics.cpp index 17cd82c9ab..939bdae743 100644 --- a/hipamd/tests/src/deviceLib/hipDoublePrecisionIntrinsics.cpp +++ b/hipamd/tests/src/deviceLib/hipDoublePrecisionIntrinsics.cpp @@ -34,6 +34,7 @@ THE SOFTWARE. #pragma clang diagnostic ignored "-Wunused-variable" __device__ void double_precision_intrinsics() { +#if defined OCML_BASIC_ROUNDED_OPERATIONS __dadd_rd(0.0, 1.0); __dadd_rn(0.0, 1.0); __dadd_ru(0.0, 1.0); @@ -62,6 +63,7 @@ __device__ void double_precision_intrinsics() { __fma_rn(1.0, 2.0, 3.0); __fma_ru(1.0, 2.0, 3.0); __fma_rz(1.0, 2.0, 3.0); +#endif } __global__ void compileDoublePrecisionIntrinsics(int ignored) { diff --git a/hipamd/tests/src/deviceLib/hipFloatMath.cpp b/hipamd/tests/src/deviceLib/hipFloatMath.cpp index ee83309f28..c6a07e26a9 100644 --- a/hipamd/tests/src/deviceLib/hipFloatMath.cpp +++ b/hipamd/tests/src/deviceLib/hipFloatMath.cpp @@ -38,11 +38,13 @@ __global__ void floatMath(float* In, float* Out) { Out[tid] = __cosf(In[tid]); Out[tid] = __exp10f(Out[tid]); Out[tid] = __expf(Out[tid]); +#if defined OCML_BASIC_ROUNDED_OPERATIONS Out[tid] = __frsqrt_rn(Out[tid]); - //Out[tid] = __fsqrt_rd(Out[tid]); - //Out[tid] = __fsqrt_rn(Out[tid]); - //Out[tid] = __fsqrt_ru(Out[tid]); - //Out[tid] = __fsqrt_rz(Out[tid]); + Out[tid] = __fsqrt_rd(Out[tid]); + Out[tid] = __fsqrt_rn(Out[tid]); + Out[tid] = __fsqrt_ru(Out[tid]); + Out[tid] = __fsqrt_rz(Out[tid]); +#endif Out[tid] = __log10f(Out[tid]); Out[tid] = __log2f(Out[tid]); Out[tid] = __logf(Out[tid]); diff --git a/hipamd/tests/src/deviceLib/hipSinglePrecisionIntrinsics.cpp b/hipamd/tests/src/deviceLib/hipSinglePrecisionIntrinsics.cpp index f3d2a36931..b216b3cb54 100644 --- a/hipamd/tests/src/deviceLib/hipSinglePrecisionIntrinsics.cpp +++ b/hipamd/tests/src/deviceLib/hipSinglePrecisionIntrinsics.cpp @@ -39,6 +39,7 @@ __device__ void single_precision_intrinsics() { __cosf(0.0f); __exp10f(0.0f); __expf(0.0f); +#if defined OCML_BASIC_ROUNDED_OPERATIONS __fadd_rd(0.0f, 1.0f); __fadd_rn(0.0f, 1.0f); __fadd_ru(0.0f, 1.0f); @@ -47,7 +48,9 @@ __device__ void single_precision_intrinsics() { __fdiv_rn(4.0f, 2.0f); __fdiv_ru(4.0f, 2.0f); __fdiv_rz(4.0f, 2.0f); +#endif __fdividef(4.0f, 2.0f); +#if defined OCML_BASIC_ROUNDED_OPERATIONS __fmaf_rd(1.0f, 2.0f, 3.0f); __fmaf_rn(1.0f, 2.0f, 3.0f); __fmaf_ru(1.0f, 2.0f, 3.0f); @@ -69,6 +72,7 @@ __device__ void single_precision_intrinsics() { __fsub_rn(2.0f, 1.0f); __fsub_ru(2.0f, 1.0f); __fsub_rz(2.0f, 1.0f); +#endif __log10f(1.0f); __log2f(1.0f); __logf(1.0f);