diff --git a/hipamd/bin/hipcc b/hipamd/bin/hipcc index 22bf17f2f5..6f020662de 100755 --- a/hipamd/bin/hipcc +++ b/hipamd/bin/hipcc @@ -188,12 +188,8 @@ if ($HIP_PLATFORM eq "clang") { print ("DEVICE_LIB_PATH=$DEVICE_LIB_PATH\n"); } - - # By default, hip-clang assumes -fno-gpu-rdc, therefore device lib path - # is required. - $HIP_DEVLIB_FLAGS = " --hip-device-lib-path=$DEVICE_LIB_PATH"; - $HIPCXXFLAGS .= " $HIP_DEVLIB_FLAGS -std=c++11 -isystem $HIP_CLANG_INCLUDE_PATH"; - $HIPLDFLAGS .= " $HIP_DEVLIB_FLAGS -L$HIP_LIB_PATH"; + $HIPCXXFLAGS .= " -std=c++11 -isystem $HIP_CLANG_INCLUDE_PATH"; + $HIPLDFLAGS .= " -L$HIP_LIB_PATH"; if (not $isWindows) { $HIPLDFLAGS .= " -Wl,--rpath=$HIP_LIB_PATH"; $HIPLDFLAGS .= " -lhip_hcc"; @@ -204,6 +200,12 @@ if ($HIP_PLATFORM eq "clang") { ## Allow __fp16 as function parameter and return type. $HIPCXXFLAGS .= " -Xclang -fallow-half-arguments-and-returns -D__HIP_HCC_COMPAT_MODE__=1"; } + + if ($HIP_RUNTIME eq "HCC" ) { + $HSA_PATH=$ENV{'HSA_PATH'} // "/opt/rocm/hsa"; + $HIPCXXFLAGS .= " -isystem $HSA_PATH/include"; + } + } elsif ($HIP_PLATFORM eq "hcc") { $HIP_INCLUDE_PATH = "$HIP_PATH/include"; if (! defined $HIP_LIB_PATH) { @@ -367,6 +369,8 @@ if($HIP_PLATFORM eq "nvcc"){ } my $toolArgs = ""; # arguments to pass to the hcc or nvcc tool +my $optArg = ""; # -O args +my $rdc = 0; foreach $arg (@ARGV) { @@ -458,6 +462,18 @@ foreach $arg (@ARGV) $linkType = 1; $setLinkType = 1; } + if($arg =~ m/^-O/) + { + $optArg = $arg; + } + if($arg =~ /-fgpu-rdc/) + { + $rdc = 1; + } + if($arg =~ /-fno-gpu-rdc/) + { + $rdc = 0; + } ## process linker response file for hip-clang ## extract object files from static library and pass them directly to @@ -782,6 +798,17 @@ if ($needHipHcc) { # pass-through CPP mode. if ($HIP_PLATFORM eq "clang") { + # Set default optimization level to -O3 for hip-clang. + if ($optArg eq "") { + $HIPCXXFLAGS .= " -O3"; + $HIPLDFLAGS .= " -O3"; + } + $HIP_DEVLIB_FLAGS = " --hip-device-lib-path=$DEVICE_LIB_PATH"; + if ($rdc eq 0) { + $HIPCXXFLAGS .= " $HIP_DEVLIB_FLAGS"; + } else { + $HIPLDFLAGS .= " $HIP_DEVLIB_FLAGS"; + } if ($isWindows) { $HIPCXXFLAGS .= " -std=c++14 -fms-extensions -fms-compatibility"; } else { 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 89ca2d74e2..aeb834c2ec 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 @@ -269,6 +269,7 @@ | 61 |*`CU_TARGET_COMPUTE_61`* | | | 62 |*`CU_TARGET_COMPUTE_62`* | | | 70 |*`CU_TARGET_COMPUTE_70`* | | +| 72 |*`CU_TARGET_COMPUTE_72`* | | | 73 |*`CU_TARGET_COMPUTE_73`* | | | 75 |*`CU_TARGET_COMPUTE_75`* | | | enum |***`CUjitInputType`*** | | @@ -440,6 +441,8 @@ | 800 |*`CUDA_ERROR_NOT_PERMITTED`* | | | 801 |*`CUDA_ERROR_NOT_SUPPORTED`* | | | 802 |*`CUDA_ERROR_SYSTEM_NOT_READY`* | | +| 803 |*`CUDA_ERROR_SYSTEM_DRIVER_MISMATCH`* | | +| 804 |*`CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE`* | | | 900 |*`CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`* | | | 901 |*`CUDA_ERROR_STREAM_CAPTURE_INVALIDATED`* | | | 902 |*`CUDA_ERROR_STREAM_CAPTURE_MERGE`* | | @@ -448,6 +451,7 @@ | 905 |*`CUDA_ERROR_STREAM_CAPTURE_ISOLATION`* | | | 906 |*`CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`* | | | 907 |*`CUDA_ERROR_CAPTURED_EVENT`* | | +| 908 |*`CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD`* | | | 999 |*`CUDA_ERROR_UNKNOWN`* | | | enum |***`CUsharedconfig`*** |***`hipSharedMemConfig`*** | | typedef |***`CUsharedconfig_enum`*** |***`hipSharedMemConfig`*** | @@ -599,6 +603,11 @@ | 0 |*`CU_STREAM_CAPTURE_STATUS_NONE`* | | | 1 |*`CU_STREAM_CAPTURE_STATUS_ACTIVE`* | | | 2 |*`CU_STREAM_CAPTURE_STATUS_INVALIDATED`* | | +| enum |***`CUstreamCaptureMode`*** | | +| typedef |***`CUstreamCaptureMode_enum`*** | | +| 0 |*`CU_STREAM_CAPTURE_MODE_GLOBAL`* | | +| 1 |*`CU_STREAM_CAPTURE_MODE_THREAD_LOCAL`* | | +| 2 |*`CU_STREAM_CAPTURE_MODE_RELAXED`* | | | enum |***`CUstreamWaitValue_flags`*** | | | typedef |***`CUstreamWaitValue_flags_enum`*** | | | 0x0 |*`CU_STREAM_WAIT_VALUE_GEQ`* | | @@ -614,6 +623,7 @@ | 0x01 |*`CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK`* | | | 0x02 |*`CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED`* | | | 0x03 |*`CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED`* | | +| 0x04 |*`CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED`* | | | 0x04 |*`CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED`* | | | 0x04 |*`CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED`* | | | enum |***`CUeglColorFormat`*** | | @@ -926,8 +936,11 @@ | `cuStreamSynchronize` | `hipStreamSynchronize` | | `cuStreamWaitEvent` | `hipStreamWaitEvent` | | `cuStreamBeginCapture` | | +| `cuStreamBeginCapture_ptsz` | | | `cuStreamEndCapture` | | +| `cuStreamGetCaptureInfo` | | | `cuStreamIsCapturing` | | +| `cuThreadExchangeStreamCaptureMode` | | ## **14. Event Management** @@ -1024,6 +1037,7 @@ | `cuGraphDestroyNode` | | | `cuGraphInstantiate` | | | `cuGraphExecDestroy` | | +| `cuGraphExecKernelNodeSetParams` | | | `cuGraphDestroy` | | ## **20. Occupancy** 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 d7266ac450..663e6ad082 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 @@ -60,6 +60,7 @@ | `cudaStreamBeginCapture` | | | `cudaStreamEndCapture` | | | `cudaStreamIsCapturing` | | +| `cudaStreamGetCaptureInfo` | | | `cudaStreamCreate` | `hipStreamCreate` | | `cudaStreamCreateWithFlags` | `hipStreamCreateWithFlags` | | `cudaStreamCreateWithPriority` | `hipStreamCreateWithPriority` | @@ -69,6 +70,7 @@ | `cudaStreamQuery` | `hipStreamQuery` | | `cudaStreamSynchronize` | `hipStreamSynchronize` | | `cudaStreamWaitEvent` | `hipStreamWaitEvent` | +| `cudaThreadExchangeStreamCaptureMode` | | ## **5. Event Management** @@ -396,6 +398,7 @@ | `cudaGraphHostNodeGetParams` | | | `cudaGraphHostNodeSetParams` | | | `cudaGraphInstantiate` | | +| `cudaGraphExecKernelNodeSetParams` | | | `cudaGraphKernelNodeGetParams` | | | `cudaGraphKernelNodeSetParams` | | | `cudaGraphLaunch` | | @@ -784,6 +787,8 @@ | 83 |*`cudaErrorSystemNotReady`* | | | 84 |*`cudaErrorIllegalState`* | | | 127 |*`cudaErrorStartupFailure`* | | +| 803 |*`cudaErrorSystemDriverMismatch`* | | +| 804 |*`cudaErrorCompatNotSupportedOnDevice`* | | | 900 |*`cudaErrorStreamCaptureUnsupported`* | | | 901 |*`cudaErrorStreamCaptureInvalidated`* | | | 902 |*`cudaErrorStreamCaptureMerge`* | | @@ -792,6 +797,7 @@ | 905 |*`cudaErrorStreamCaptureIsolation`* | | | 906 |*`cudaErrorStreamCaptureImplicit`* | | | 907 |*`cudaErrorCapturedEvent`* | | +| 908 |*`cudaErrorStreamCaptureWrongThread`* | | | 10000 |*`cudaErrorApiFailureBase`* | | | enum |***`cudaFuncCache`*** |***`hipFuncCache_t`*** | | 0 |*`cudaFuncCachePreferNone`* |*`hipFuncCachePreferNone`* | @@ -906,6 +912,10 @@ | 0 |*`cudaStreamCaptureStatusNone`* | | | 1 |*`cudaStreamCaptureStatusActive`* | | | 2 |*`cudaStreamCaptureStatusInvalidated`* | | +| enum |***`cudaStreamCaptureMode`*** | | +| 0 |*`cudaStreamCaptureModeGlobal`* | | +| 1 |*`cudaStreamCaptureModeThreadLocal`* | | +| 2 |*`cudaStreamCaptureModeRelaxed`* | | | enum |***`cudaSurfaceBoundaryMode`*** |***`hipSurfaceBoundaryMode`*** | | 0 |*`cudaBoundaryModeZero`* |*`hipBoundaryModeZero`* | | 1 |*`cudaBoundaryModeClamp`* |*`hipBoundaryModeClamp`* | diff --git a/hipamd/hip-config-clang.cmake.in b/hipamd/hip-config-clang.cmake.in index 240f01f60e..e4862f3d6c 100644 --- a/hipamd/hip-config-clang.cmake.in +++ b/hipamd/hip-config-clang.cmake.in @@ -39,6 +39,8 @@ if (NOT _CMakeFindDependencyMacro_FOUND) endmacro() endif() +set(HIP_COMPILER "@HIP_COMPILER@") +set(HIP_RUNTIME "@HIP_RUNTIME@") set_and_check( hip_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) set_and_check( hip_INCLUDE_DIRS "${hip_INCLUDE_DIR}" ) diff --git a/hipamd/hip-config-hcc.cmake.in b/hipamd/hip-config-hcc.cmake.in index efcdf708bb..7e236ba0b4 100644 --- a/hipamd/hip-config-hcc.cmake.in +++ b/hipamd/hip-config-hcc.cmake.in @@ -39,6 +39,8 @@ if (NOT _CMakeFindDependencyMacro_FOUND) endmacro() endif() +set(HIP_COMPILER "@HIP_COMPILER@") +set(HIP_RUNTIME "@HIP_RUNTIME@") set_and_check( hip_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" ) set_and_check( hip_INCLUDE_DIRS "${hip_INCLUDE_DIR}" ) diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp index 8dfc429c4b..b71e49710d 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_functions.cpp @@ -334,6 +334,8 @@ const std::map CUDA_DRIVER_FUNCTION_MAP{ {"cuStreamAttachMemAsync", {"hipStreamAttachMemAsync", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // cudaStreamBeginCapture {"cuStreamBeginCapture", {"hipStreamBeginCapture", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuStreamBeginCapture_v2", {"hipStreamBeginCapture", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + {"cuStreamBeginCapture_ptsz", {"hipStreamBeginCapture", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // cudaStreamCreateWithFlags {"cuStreamCreate", {"hipStreamCreateWithFlags", "", CONV_STREAM, API_DRIVER}}, // cudaStreamCreateWithPriority @@ -343,6 +345,8 @@ const std::map CUDA_DRIVER_FUNCTION_MAP{ {"cuStreamDestroy_v2", {"hipStreamDestroy", "", CONV_STREAM, API_DRIVER}}, // cudaStreamEndCapture {"cuStreamEndCapture", {"hipStreamEndCapture", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaStreamGetCaptureInfo + {"cuStreamGetCaptureInfo", {"hipStreamGetCaptureInfo", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // no analogue {"cuStreamGetCtx", {"hipStreamGetContext", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // cudaStreamGetFlags @@ -357,6 +361,8 @@ const std::map CUDA_DRIVER_FUNCTION_MAP{ {"cuStreamSynchronize", {"hipStreamSynchronize", "", CONV_STREAM, API_DRIVER}}, // cudaStreamWaitEvent {"cuStreamWaitEvent", {"hipStreamWaitEvent", "", CONV_STREAM, API_DRIVER}}, + // cudaThreadExchangeStreamCaptureMode + {"cuThreadExchangeStreamCaptureMode", {"hipThreadExchangeStreamCaptureMode", "", CONV_STREAM, API_DRIVER, HIP_UNSUPPORTED}}, // 5.14. Event Management // cudaEventCreateWithFlags @@ -485,6 +491,8 @@ const std::map CUDA_DRIVER_FUNCTION_MAP{ {"cuGraphHostNodeSetParams", {"hipGraphHostNodeSetParams", "", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, // cudaGraphInstantiate {"cuGraphInstantiate", {"hipGraphInstantiate", "", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, + // cudaGraphExecKernelNodeSetParams + {"cuGraphExecKernelNodeSetParams", {"hipGraphExecKernelNodeSetParams", "", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, // cudaGraphKernelNodeGetParams {"cuGraphKernelNodeGetParams", {"hipGraphKernelNodeGetParams", "", CONV_GRAPH, API_DRIVER, HIP_UNSUPPORTED}}, // cudaGraphKernelNodeSetParams diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp index 4737ddd8f2..232cd16130 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Driver_API_types.cpp @@ -514,6 +514,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED", {"hipDeviceP2PAttributeNativeAtomicSupported", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x03 // cudaDevP2PAttrCudaArrayAccessSupported = 4 // NOTE" deprecated, use CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED instead + {"CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED", {"hipDevP2PAttributeCudaArrayAccessSupported", "", 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", {"hipDevP2PAttributeCudaArrayAccessSupported", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0x04 @@ -900,6 +902,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 + {"CU_TARGET_COMPUTE_72", {"hipJitTargetCompute72", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 70 // 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 @@ -1234,6 +1237,10 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUDA_ERROR_NOT_SUPPORTED", {"hipErrorNotSupported", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 801 // cudaErrorSystemNotReady = 83 {"CUDA_ERROR_SYSTEM_NOT_READY", {"hipErrorSystemNotReady", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 802 + // cudaErrorSystemDriverMismatch = 803 + {"CUDA_ERROR_SYSTEM_DRIVER_MISMATCH", {"hipErrorSystemDriverMismatch", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 803 + // cudaErrorCompatNotSupportedOnDevice = 804 + {"CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE", {"hipErrorCompatNotSupportedOnDevice", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 804 // cudaErrorStreamCaptureUnsupported = 900 {"CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED", {"hipErrorStreamCaptureUnsupported", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 900 // cudaErrorStreamCaptureInvalidated = 901 @@ -1250,6 +1257,8 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ {"CUDA_ERROR_STREAM_CAPTURE_IMPLICIT", {"hipErrorStreamCaptureImplicit", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 906 // cudaErrorCapturedEvent = 907 {"CUDA_ERROR_CAPTURED_EVENT", {"hipErrorCapturedEvent", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 907 + // cudaErrorStreamCaptureWrongThread = 908 + {"CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD", {"hipErrorStreamCaptureWrongThread", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 908 // cudaErrorUnknown = 30 {"CUDA_ERROR_UNKNOWN", {"hipErrorUnknown", "", CONV_NUMERIC_LITERAL, API_DRIVER}}, // 999 @@ -1305,6 +1314,17 @@ const std::map CUDA_DRIVER_TYPE_NAME_MAP{ // cudaStreamCaptureStatusInvalidated {"CU_STREAM_CAPTURE_STATUS_INVALIDATED", {"hipStreamCaptureStatusInvalidated", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 2 + // cudaStreamCaptureMode + {"CUstreamCaptureMode", {"hipStreamCaptureMode", "", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + {"CUstreamCaptureMode_enum", {"hipStreamCaptureMode", "", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, + // CUstreamCaptureMode enum values + // cudaStreamCaptureModeGlobal + {"CU_STREAM_CAPTURE_MODE_GLOBAL", {"hipStreamCaptureModeGlobal", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 0 + // cudaStreamCaptureModeThreadLocal + {"CU_STREAM_CAPTURE_MODE_THREAD_LOCAL", {"hipStreamCaptureModeThreadLocal", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 1 + // cudaStreamCaptureModeRelaxed + {"CU_STREAM_CAPTURE_MODE_RELAXED", {"hipStreamCaptureModeRelaxed", "", CONV_NUMERIC_LITERAL, API_DRIVER, HIP_UNSUPPORTED}}, // 2 + // no analogue {"CUstreamWaitValue_flags", {"hipStreamWaitValueFlags", "", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, {"CUstreamWaitValue_flags_enum", {"hipStreamWaitValueFlags", "", CONV_TYPE, API_DRIVER, HIP_UNSUPPORTED}}, diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp index 8f5b87a864..96454d7ec3 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_functions.cpp @@ -131,12 +131,16 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ {"cudaStreamGetPriority", {"hipStreamGetPriority", "", CONV_STREAM, API_RUNTIME}}, // cuStreamIsCapturing {"cudaStreamIsCapturing", {"hipStreamIsCapturing", "", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuStreamGetCaptureInfo + {"cudaStreamGetCaptureInfo", {"hipStreamGetCaptureInfo", "", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, // cuStreamQuery {"cudaStreamQuery", {"hipStreamQuery", "", CONV_STREAM, API_RUNTIME}}, // cuStreamSynchronize {"cudaStreamSynchronize", {"hipStreamSynchronize", "", CONV_STREAM, API_RUNTIME}}, // cuStreamWaitEvent {"cudaStreamWaitEvent", {"hipStreamWaitEvent", "", CONV_STREAM, API_RUNTIME}}, + // cuThreadExchangeStreamCaptureMode + {"cudaThreadExchangeStreamCaptureMode", {"hipThreadExchangeStreamCaptureMode", "", CONV_STREAM, API_RUNTIME, HIP_UNSUPPORTED}}, // 5.5.Event Management // no analogue @@ -640,6 +644,8 @@ const std::map CUDA_RUNTIME_FUNCTION_MAP{ {"cudaGraphHostNodeSetParams", {"hipGraphHostNodeSetParams", "", CONV_GRAPH, API_RUNTIME, HIP_UNSUPPORTED}}, // cuGraphInstantiate {"cudaGraphInstantiate", {"hipGraphInstantiate", "", CONV_GRAPH, API_RUNTIME, HIP_UNSUPPORTED}}, + // cuGraphExecKernelNodeSetParams + {"cudaGraphExecKernelNodeSetParams", {"hipGraphExecKernelNodeSetParams", "", CONV_GRAPH, API_RUNTIME, HIP_UNSUPPORTED}}, // cuGraphKernelNodeGetParams {"cudaGraphKernelNodeGetParams", {"hipGraphKernelNodeGetParams", "", CONV_GRAPH, API_RUNTIME, HIP_UNSUPPORTED}}, // cuGraphKernelNodeSetParams diff --git a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp index 3cc9345644..6e86cf8fda 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_Runtime_API_types.cpp @@ -770,6 +770,10 @@ const std::map CUDA_RUNTIME_TYPE_NAME_MAP { {"cudaErrorSystemNotReady", {"hipErrorSystemNotReady", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 83 // CUDA_ERROR_ILLEGAL_STATE = 401 {"cudaErrorIllegalState", {"hipErrorIllegalState", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 84 + // CUDA_ERROR_SYSTEM_DRIVER_MISMATCH + {"cudaErrorSystemDriverMismatch", {"hipErrorSystemDriverMismatch", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 803 + // CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE + {"cudaErrorCompatNotSupportedOnDevice", {"hipErrorCompatNotSupportedOnDevice", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 804 // no analogue {"cudaErrorStartupFailure", {"hipErrorStartupFailure", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 127 // CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = 900 @@ -788,6 +792,8 @@ const std::map CUDA_RUNTIME_TYPE_NAME_MAP { {"cudaErrorStreamCaptureImplicit", {"hipErrorStreamCaptureImplicit", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 906 // CUDA_ERROR_CAPTURED_EVENT = 907 {"cudaErrorCapturedEvent", {"hipErrorCapturedEvent", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 907 + // CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = 908 + {"cudaErrorStreamCaptureWrongThread", {"hipErrorStreamCaptureWrongThread", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 908 // Deprecated since CUDA 4.1 {"cudaErrorApiFailureBase", {"hipErrorApiFailureBase", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 10000 @@ -1083,6 +1089,16 @@ const std::map CUDA_RUNTIME_TYPE_NAME_MAP { // CU_STREAM_CAPTURE_STATUS_INVALIDATED {"cudaStreamCaptureStatusInvalidated", {"hipStreamCaptureStatusInvalidated", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // CUstreamCaptureMode + {"cudaStreamCaptureMode", {"hipStreamCaptureMode", "", CONV_TYPE, API_RUNTIME, HIP_UNSUPPORTED}}, + // cudaStreamCaptureMode enum values + // CU_STREAM_CAPTURE_MODE_GLOBAL + {"cudaStreamCaptureModeGlobal", {"hipStreamCaptureModeGlobal", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 0 + // CU_STREAM_CAPTURE_MODE_THREAD_LOCAL + {"cudaStreamCaptureModeThreadLocal", {"hipStreamCaptureModeThreadLocal", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 1 + // CU_STREAM_CAPTURE_MODE_RELAXED + {"cudaStreamCaptureModeRelaxed", {"hipStreamCaptureModeRelaxed", "", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 2 + // no analogue {"cudaSurfaceBoundaryMode", {"hipSurfaceBoundaryMode", "", CONV_TYPE, API_RUNTIME}}, // cudaSurfaceBoundaryMode enum values