diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8701fe5635..187b32045b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -254,7 +254,7 @@ if(HIP_PLATFORM STREQUAL "hcc")
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}")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --amdgpu-target=gfx701 --amdgpu-target=gfx803 --amdgpu-target=gfx900 --amdgpu-target=gfx906")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --amdgpu-target=gfx701 --amdgpu-target=gfx803 --amdgpu-target=gfx900 --amdgpu-target=gfx906 --amdgpu-target=gfx908")
if(COMPILE_HIP_ATP_MARKER)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L/opt/rocm/profiler/CXLActivityLogger/bin/x86_64 -lCXLActivityLogger")
endif()
diff --git a/bin/hipcc b/bin/hipcc
index d2fa9a2306..85e090c761 100755
--- a/bin/hipcc
+++ b/bin/hipcc
@@ -156,6 +156,7 @@ $target_gfx802 = 0;
$target_gfx803 = 0;
$target_gfx900 = 0;
$target_gfx906 = 0;
+$target_gfx908 = 0;
$target_gfx1010 = 0;
$target_gfx1012 = 0;
$default_amdgpu_target = 1;
@@ -429,6 +430,11 @@ foreach $arg (@ARGV)
$target_gfx906 = 1;
$default_amdgpu_target = 0;
}
+ if($arg eq '--amdgpu-target=gfx908')
+ {
+ $target_gfx908 = 1;
+ $default_amdgpu_target = 0;
+ }
if($arg eq '--amdgpu-target=gfx1010')
{
$target_gfx1010 = 1;
@@ -670,6 +676,11 @@ if($HIP_PLATFORM eq "hcc" or $HIP_PLATFORM eq "clang"){
$target_gfx906 = 1;
$default_amdgpu_target = 0;
}
+ if($target eq 'gfx908')
+ {
+ $target_gfx908 = 1;
+ $default_amdgpu_target = 0;
+ }
if($target eq 'gfx1010')
{
$target_gfx1010 = 1;
@@ -715,6 +726,10 @@ if($HIP_PLATFORM eq "hcc" or $HIP_PLATFORM eq "clang"){
$target_gfx906 = 1;
$default_amdgpu_target = 0;
}
+ if($val eq "gfx908") {
+ $target_gfx908 = 1;
+ $default_amdgpu_target = 0;
+ }
if($val eq 'gfx1010')
{
$target_gfx1010 = 1;
@@ -789,6 +804,14 @@ if($HIP_PLATFORM eq "hcc" or $HIP_PLATFORM eq "clang"){
}
$HIPCXXFLAGS .= " -D__HIP_ARCH_GFX906__=1 ";
}
+ if ($target_gfx908 eq 1) {
+ $GPU_ARCH_ARG = $GPU_ARCH_OPT . "gfx908";
+ $HIPLDFLAGS .= $GPU_ARCH_ARG;
+ if ($HIP_PLATFORM eq 'clang') {
+ $HIPCXXFLAGS .= $GPU_ARCH_ARG;;
+ }
+ $HIPCXXFLAGS .= " -D__HIP_ARCH_GFX908__=1 ";
+ }
if ($target_gfx1010 eq 1) {
$GPU_ARCH_ARG = $GPU_ARCH_OPT . "gfx1010";
$HIPLDFLAGS .= $GPU_ARCH_ARG;
diff --git a/docs/markdown/CUBLAS_API_supported_by_HIP.md b/docs/markdown/CUBLAS_API_supported_by_HIP.md
index 7f3cbc6702..62e014c944 100644
--- a/docs/markdown/CUBLAS_API_supported_by_HIP.md
+++ b/docs/markdown/CUBLAS_API_supported_by_HIP.md
@@ -2,106 +2,106 @@
## **1. CUBLAS Data types**
-| **type** | **CUDA** | **HIP** |**HIP value** (if differs) |
-|-------------:|---------------------------------------------------------------|------------------------------------------------------------|---------------------------|
-| enum |***`cublasStatus`*** |***`hipblasStatus_t`*** |
-| enum |***`cublasStatus_t`*** |***`hipblasStatus_t`*** |
-| 0 |*`CUBLAS_STATUS_SUCCESS`* |*`HIPBLAS_STATUS_SUCCESS`* |
-| 1 |*`CUBLAS_STATUS_NOT_INITIALIZED`* |*`HIPBLAS_STATUS_NOT_INITIALIZED`* |
-| 3 |*`CUBLAS_STATUS_ALLOC_FAILED`* |*`HIPBLAS_STATUS_ALLOC_FAILED`* | 2 |
-| 7 |*`CUBLAS_STATUS_INVALID_VALUE`* |*`HIPBLAS_STATUS_INVALID_VALUE`* | 3 |
-| 8 |*`CUBLAS_STATUS_ARCH_MISMATCH`* |*`HIPBLAS_STATUS_ARCH_MISMATCH`* | |
-| 11 |*`CUBLAS_STATUS_MAPPING_ERROR`* |*`HIPBLAS_STATUS_MAPPING_ERROR`* | 4 |
-| 13 |*`CUBLAS_STATUS_EXECUTION_FAILED`* |*`HIPBLAS_STATUS_EXECUTION_FAILED`* | 5 |
-| 14 |*`CUBLAS_STATUS_INTERNAL_ERROR`* |*`HIPBLAS_STATUS_INTERNAL_ERROR`* | 6 |
-| 15 |*`CUBLAS_STATUS_NOT_SUPPORTED`* |*`HIPBLAS_STATUS_NOT_SUPPORTED`* | 7 |
-| 16 |*`CUBLAS_STATUS_LICENSE_ERROR`* | |
-| enum |***`cublasOperation_t`*** |***`hipblasOperation_t`*** |
-| 0 |*`CUBLAS_OP_N`* |*`HIPBLAS_OP_N`* | 111 |
-| 1 |*`CUBLAS_OP_T`* |*`HIPBLAS_OP_T`* | 112 |
-| 2 |*`CUBLAS_OP_C`* |*`HIPBLAS_OP_C`* | 113 |
-| 2 |*`CUBLAS_OP_HERMITAN`* |*`HIPBLAS_OP_C`* | 113 |
-| 3 |*`CUBLAS_OP_CONJG`* | |
-| enum |***`cublasFillMode_t`*** |***`hipblasFillMode_t`*** |
-| 0 |*`CUBLAS_FILL_MODE_LOWER`* |*`HIPBLAS_FILL_MODE_LOWER`* | 121 |
-| 1 |*`CUBLAS_FILL_MODE_UPPER`* |*`HIPBLAS_FILL_MODE_UPPER`* | 122 |
-| 1 |*`CUBLAS_FILL_MODE_FULL`* |*`HIPBLAS_FILL_MODE_FULL`* | 123 |
-| enum |***`cublasDiagType_t`*** |***`hipblasDiagType_t`*** |
-| 0 |*`CUBLAS_DIAG_NON_UNIT`* |*`HIPBLAS_DIAG_NON_UNIT`* | 131 |
-| 1 |*`CUBLAS_DIAG_UNIT`* |*`HIPBLAS_DIAG_UNIT`* | 132 |
-| enum |***`cublasSideMode_t`*** |***`hipblasSideMode_t`*** |
-| 0 |*`CUBLAS_SIDE_LEFT`* |*`HIPBLAS_SIDE_LEFT`* | 141 |
-| 1 |*`CUBLAS_SIDE_RIGHT`* |*`HIPBLAS_SIDE_RIGHT`* | 142 |
-| enum |***`cublasPointerMode_t`*** |***`hipblasPointerMode_t`*** |
-| 0 |*`CUBLAS_POINTER_MODE_HOST`* |*`HIPBLAS_POINTER_MODE_HOST`* |
-| 1 |*`CUBLAS_POINTER_MODE_DEVICE`* |*`HIPBLAS_POINTER_MODE_DEVICE`* |
-| enum |***`cublasAtomicsMode_t`*** | |
-| 0 |*`CUBLAS_ATOMICS_NOT_ALLOWED`* | |
-| 1 |*`CUBLAS_ATOMICS_ALLOWED`* | |
-| enum |***`cublasGemmAlgo_t`*** |***`hipblasGemmAlgo_t`*** |
-| -1 |*`CUBLAS_GEMM_DFALT`* |*`HIPBLAS_GEMM_DEFAULT`* | 160 |
-| -1 |*`CUBLAS_GEMM_DEFAULT`* |*`HIPBLAS_GEMM_DEFAULT`* | 160 |
-| 0 |*`CUBLAS_GEMM_ALGO0`* | |
-| 1 |*`CUBLAS_GEMM_ALGO1`* | |
-| 2 |*`CUBLAS_GEMM_ALGO2`* | |
-| 3 |*`CUBLAS_GEMM_ALGO3`* | |
-| 4 |*`CUBLAS_GEMM_ALGO4`* | |
-| 5 |*`CUBLAS_GEMM_ALGO5`* | |
-| 6 |*`CUBLAS_GEMM_ALGO6`* | |
-| 7 |*`CUBLAS_GEMM_ALGO7`* | |
-| 8 |*`CUBLAS_GEMM_ALGO8`* | |
-| 9 |*`CUBLAS_GEMM_ALGO9`* | |
-| 10 |*`CUBLAS_GEMM_ALGO10`* | |
-| 11 |*`CUBLAS_GEMM_ALGO11`* | |
-| 12 |*`CUBLAS_GEMM_ALGO12`* | |
-| 13 |*`CUBLAS_GEMM_ALGO13`* | |
-| 14 |*`CUBLAS_GEMM_ALGO14`* | |
-| 15 |*`CUBLAS_GEMM_ALGO15`* | |
-| 16 |*`CUBLAS_GEMM_ALGO16`* | |
-| 17 |*`CUBLAS_GEMM_ALGO17`* | |
-| 18 |*`CUBLAS_GEMM_ALGO18`* | |
-| 19 |*`CUBLAS_GEMM_ALGO19`* | |
-| 20 |*`CUBLAS_GEMM_ALGO20`* | |
-| 21 |*`CUBLAS_GEMM_ALGO21`* | |
-| 22 |*`CUBLAS_GEMM_ALGO22`* | |
-| 23 |*`CUBLAS_GEMM_ALGO23`* | |
-| 99 |*`CUBLAS_GEMM_DEFAULT_TENSOR_OP`* | |
-| 99 |*`CUBLAS_GEMM_DFALT_TENSOR_OP`* | |
-| 100 |*`CUBLAS_GEMM_ALGO0_TENSOR_OP`* | |
-| 101 |*`CUBLAS_GEMM_ALGO1_TENSOR_OP`* | |
-| 102 |*`CUBLAS_GEMM_ALGO2_TENSOR_OP`* | |
-| 103 |*`CUBLAS_GEMM_ALGO3_TENSOR_OP`* | |
-| 104 |*`CUBLAS_GEMM_ALGO4_TENSOR_OP`* | |
-| 105 |*`CUBLAS_GEMM_ALGO5_TENSOR_OP`* | |
-| 106 |*`CUBLAS_GEMM_ALGO6_TENSOR_OP`* | |
-| 107 |*`CUBLAS_GEMM_ALGO7_TENSOR_OP`* | |
-| 108 |*`CUBLAS_GEMM_ALGO8_TENSOR_OP`* | |
-| 109 |*`CUBLAS_GEMM_ALGO9_TENSOR_OP`* | |
-| 110 |*`CUBLAS_GEMM_ALGO10_TENSOR_OP`* | |
-| 111 |*`CUBLAS_GEMM_ALGO11_TENSOR_OP`* | |
-| 112 |*`CUBLAS_GEMM_ALGO12_TENSOR_OP`* | |
-| 113 |*`CUBLAS_GEMM_ALGO13_TENSOR_OP`* | |
-| 114 |*`CUBLAS_GEMM_ALGO14_TENSOR_OP`* | |
-| 115 |*`CUBLAS_GEMM_ALGO15_TENSOR_OP`* | |
-| enum |***`cublasMath_t`*** | |
-| 0 |*`CUBLAS_DEFAULT_MATH`* | |
-| 1 |*`CUBLAS_TENSOR_OP_MATH`* | |
-| enum* |`cublasDataType_t` | |
-| struct |`cublasContext` | |
-| struct* |`cublasHandle_t` |`hipblasHandle_t` |
+| **type** | **CUDA** |**CUDA version\***| **HIP** |**HIP value** (if differs) |
+|-------------:|---------------------------------------------------------------|:----------------:|------------------------------------------------------------|---------------------------|
+| enum |***`cublasStatus`*** | |***`hipblasStatus_t`*** |
+| enum |***`cublasStatus_t`*** | |***`hipblasStatus_t`*** |
+| 0 |*`CUBLAS_STATUS_SUCCESS`* | |*`HIPBLAS_STATUS_SUCCESS`* |
+| 1 |*`CUBLAS_STATUS_NOT_INITIALIZED`* | |*`HIPBLAS_STATUS_NOT_INITIALIZED`* |
+| 3 |*`CUBLAS_STATUS_ALLOC_FAILED`* | |*`HIPBLAS_STATUS_ALLOC_FAILED`* | 2 |
+| 7 |*`CUBLAS_STATUS_INVALID_VALUE`* | |*`HIPBLAS_STATUS_INVALID_VALUE`* | 3 |
+| 8 |*`CUBLAS_STATUS_ARCH_MISMATCH`* | |*`HIPBLAS_STATUS_ARCH_MISMATCH`* | |
+| 11 |*`CUBLAS_STATUS_MAPPING_ERROR`* | |*`HIPBLAS_STATUS_MAPPING_ERROR`* | 4 |
+| 13 |*`CUBLAS_STATUS_EXECUTION_FAILED`* | |*`HIPBLAS_STATUS_EXECUTION_FAILED`* | 5 |
+| 14 |*`CUBLAS_STATUS_INTERNAL_ERROR`* | |*`HIPBLAS_STATUS_INTERNAL_ERROR`* | 6 |
+| 15 |*`CUBLAS_STATUS_NOT_SUPPORTED`* | |*`HIPBLAS_STATUS_NOT_SUPPORTED`* | 7 |
+| 16 |*`CUBLAS_STATUS_LICENSE_ERROR`* | | |
+| enum |***`cublasOperation_t`*** | |***`hipblasOperation_t`*** |
+| 0 |*`CUBLAS_OP_N`* | |*`HIPBLAS_OP_N`* | 111 |
+| 1 |*`CUBLAS_OP_T`* | |*`HIPBLAS_OP_T`* | 112 |
+| 2 |*`CUBLAS_OP_C`* | |*`HIPBLAS_OP_C`* | 113 |
+| 2 |*`CUBLAS_OP_HERMITAN`* | 10.1 |*`HIPBLAS_OP_C`* | 113 |
+| 3 |*`CUBLAS_OP_CONJG`* | 10.1 | |
+| enum |***`cublasFillMode_t`*** | |***`hipblasFillMode_t`*** |
+| 0 |*`CUBLAS_FILL_MODE_LOWER`* | |*`HIPBLAS_FILL_MODE_LOWER`* | 121 |
+| 1 |*`CUBLAS_FILL_MODE_UPPER`* | |*`HIPBLAS_FILL_MODE_UPPER`* | 122 |
+| 2 |*`CUBLAS_FILL_MODE_FULL`* | 10.1 |*`HIPBLAS_FILL_MODE_FULL`* | 123 |
+| enum |***`cublasDiagType_t`*** | |***`hipblasDiagType_t`*** |
+| 0 |*`CUBLAS_DIAG_NON_UNIT`* | |*`HIPBLAS_DIAG_NON_UNIT`* | 131 |
+| 1 |*`CUBLAS_DIAG_UNIT`* | |*`HIPBLAS_DIAG_UNIT`* | 132 |
+| enum |***`cublasSideMode_t`*** | |***`hipblasSideMode_t`*** |
+| 0 |*`CUBLAS_SIDE_LEFT`* | |*`HIPBLAS_SIDE_LEFT`* | 141 |
+| 1 |*`CUBLAS_SIDE_RIGHT`* | |*`HIPBLAS_SIDE_RIGHT`* | 142 |
+| enum |***`cublasPointerMode_t`*** | |***`hipblasPointerMode_t`*** |
+| 0 |*`CUBLAS_POINTER_MODE_HOST`* | |*`HIPBLAS_POINTER_MODE_HOST`* |
+| 1 |*`CUBLAS_POINTER_MODE_DEVICE`* | |*`HIPBLAS_POINTER_MODE_DEVICE`* |
+| enum |***`cublasAtomicsMode_t`*** | | |
+| 0 |*`CUBLAS_ATOMICS_NOT_ALLOWED`* | | |
+| 1 |*`CUBLAS_ATOMICS_ALLOWED`* | | |
+| enum |***`cublasGemmAlgo_t`*** | 8.0 |***`hipblasGemmAlgo_t`*** |
+| -1 |*`CUBLAS_GEMM_DFALT`* | 8.0 |*`HIPBLAS_GEMM_DEFAULT`* | 160 |
+| -1 |*`CUBLAS_GEMM_DEFAULT`* | 8.0 |*`HIPBLAS_GEMM_DEFAULT`* | 160 |
+| 0 |*`CUBLAS_GEMM_ALGO0`* | 8.0 | |
+| 1 |*`CUBLAS_GEMM_ALGO1`* | 8.0 | |
+| 2 |*`CUBLAS_GEMM_ALGO2`* | 8.0 | |
+| 3 |*`CUBLAS_GEMM_ALGO3`* | 8.0 | |
+| 4 |*`CUBLAS_GEMM_ALGO4`* | 8.0 | |
+| 5 |*`CUBLAS_GEMM_ALGO5`* | 8.0 | |
+| 6 |*`CUBLAS_GEMM_ALGO6`* | 8.0 | |
+| 7 |*`CUBLAS_GEMM_ALGO7`* | 8.0 | |
+| 8 |*`CUBLAS_GEMM_ALGO8`* | 9.0 | |
+| 9 |*`CUBLAS_GEMM_ALGO9`* | 9.0 | |
+| 10 |*`CUBLAS_GEMM_ALGO10`* | 9.0 | |
+| 11 |*`CUBLAS_GEMM_ALGO11`* | 9.0 | |
+| 12 |*`CUBLAS_GEMM_ALGO12`* | 9.0 | |
+| 13 |*`CUBLAS_GEMM_ALGO13`* | 9.0 | |
+| 14 |*`CUBLAS_GEMM_ALGO14`* | 9.0 | |
+| 15 |*`CUBLAS_GEMM_ALGO15`* | 9.0 | |
+| 16 |*`CUBLAS_GEMM_ALGO16`* | 9.0 | |
+| 17 |*`CUBLAS_GEMM_ALGO17`* | 9.0 | |
+| 18 |*`CUBLAS_GEMM_ALGO18`* | 9.2 | |
+| 19 |*`CUBLAS_GEMM_ALGO19`* | 9.2 | |
+| 20 |*`CUBLAS_GEMM_ALGO20`* | 9.2 | |
+| 21 |*`CUBLAS_GEMM_ALGO21`* | 9.2 | |
+| 22 |*`CUBLAS_GEMM_ALGO22`* | 9.2 | |
+| 23 |*`CUBLAS_GEMM_ALGO23`* | 9.2 | |
+| 99 |*`CUBLAS_GEMM_DEFAULT_TENSOR_OP`* | 9.0 | |
+| 99 |*`CUBLAS_GEMM_DFALT_TENSOR_OP`* | 9.0 | |
+| 100 |*`CUBLAS_GEMM_ALGO0_TENSOR_OP`* | 9.0 | |
+| 101 |*`CUBLAS_GEMM_ALGO1_TENSOR_OP`* | 9.0 | |
+| 102 |*`CUBLAS_GEMM_ALGO2_TENSOR_OP`* | 9.0 | |
+| 103 |*`CUBLAS_GEMM_ALGO3_TENSOR_OP`* | 9.0 | |
+| 104 |*`CUBLAS_GEMM_ALGO4_TENSOR_OP`* | 9.0 | |
+| 105 |*`CUBLAS_GEMM_ALGO5_TENSOR_OP`* | 9.2 | |
+| 106 |*`CUBLAS_GEMM_ALGO6_TENSOR_OP`* | 9.2 | |
+| 107 |*`CUBLAS_GEMM_ALGO7_TENSOR_OP`* | 9.2 | |
+| 108 |*`CUBLAS_GEMM_ALGO8_TENSOR_OP`* | 9.2 | |
+| 109 |*`CUBLAS_GEMM_ALGO9_TENSOR_OP`* | 9.2 | |
+| 110 |*`CUBLAS_GEMM_ALGO10_TENSOR_OP`* | 9.2 | |
+| 111 |*`CUBLAS_GEMM_ALGO11_TENSOR_OP`* | 9.2 | |
+| 112 |*`CUBLAS_GEMM_ALGO12_TENSOR_OP`* | 9.2 | |
+| 113 |*`CUBLAS_GEMM_ALGO13_TENSOR_OP`* | 9.2 | |
+| 114 |*`CUBLAS_GEMM_ALGO14_TENSOR_OP`* | 9.2 | |
+| 115 |*`CUBLAS_GEMM_ALGO15_TENSOR_OP`* | 9.2 | |
+| enum |***`cublasMath_t`*** | 9.0 | |
+| 0 |*`CUBLAS_DEFAULT_MATH`* | 9.0 | |
+| 1 |*`CUBLAS_TENSOR_OP_MATH`* | 9.0 | |
+| enum* |`cublasDataType_t` | 7.5 | |
+| struct |`cublasContext` | | |
+| struct* |`cublasHandle_t` | |`hipblasHandle_t` |
## **2. CUBLAS API functions**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------------------------|:----------------:|
|`cublasCreate` |`hipblasCreate` |
|`cublasCreate_v2` |`hipblasCreate` |
|`cublasDestroy` |`hipblasDestroy` |
|`cublasDestroy_v2` |`hipblasDestroy` |
|`cublasGetVersion` | |
|`cublasGetVersion_v2` | |
-|`cublasGetProperty` | |
-|`cublasGetCudartVersion` | |
+|`cublasGetProperty` | | 8.0 |
+|`cublasGetCudartVersion` | | 10.1 |
|`cublasGetStream` |`hipblasGetStream` |
|`cublasGetStream_v2` |`hipblasGetStream` |
|`cublasSetStream` |`hipblasSetStream` |
@@ -112,12 +112,12 @@
|`cublasSetPointerMode_v2` |`hipblasSetPointerMode` |
|`cublasGetAtomicsMode` | |
|`cublasSetAtomicsMode` | |
-|`cublasGetMathMode` | |
-|`cublasSetMathMode` | |
-|`cublasLogCallback` | |
-|`cublasLoggerConfigure` | |
-|`cublasSetLoggerCallback` | |
-|`cublasGetLoggerCallback` | |
+|`cublasGetMathMode` | | 9.0 |
+|`cublasSetMathMode` | | 9.0 |
+|`cublasLogCallback` | | 9.2 |
+|`cublasLoggerConfigure` | | 9.2 |
+|`cublasSetLoggerCallback` | | 9.2 |
+|`cublasGetLoggerCallback` | | 9.2 |
|`cublasSetVector` |`hipblasSetVector` |
|`cublasGetVector` |`hipblasGetVector` |
|`cublasSetMatrix` |`hipblasSetMatrix` |
@@ -127,7 +127,7 @@
|`cublasSetMatrixAsync` | |
|`cublasGetMatrixAsync` | |
|`cublasXerbla` | |
-|`cublasNrm2Ex` | |
+|`cublasNrm2Ex` | | 8.0 |
|`cublasSnrm2` |`hipblasSnrm2` |
|`cublasSnrm2_v2` |`hipblasSnrm2` |
|`cublasDnrm2` |`hipblasDnrm2` |
@@ -136,8 +136,8 @@
|`cublasScnrm2_v2` | |
|`cublasDznrm2` | |
|`cublasDznrm2_v2` | |
-|`cublasDotEx` | |
-|`cublasDotcEx` | |
+|`cublasDotEx` | | 8.0 |
+|`cublasDotcEx` | | 8.0 |
|`cublasSdot` |`hipblasSdot` |
|`cublasSdot_v2` |`hipblasSdot` |
|`cublasDdot` |`hipblasDdot` |
@@ -150,7 +150,7 @@
|`cublasZdotu_v2` | |
|`cublasZdotc` | |
|`cublasZdotc_v2` | |
-|`cublasScalEx` | |
+|`cublasScalEx` | | 8.0 |
|`cublasSscal` |`hipblasSscal` |
|`cublasSscal_v2` |`hipblasSscal` |
|`cublasDscal` |`hipblasDscal` |
@@ -163,7 +163,7 @@
|`cublasZscal_v2` | |
|`cublasZdscal` | |
|`cublasZdscal_v2` | |
-|`cublasAxpyEx` | |
+|`cublasAxpyEx` | | 8.0 |
|`cublasSaxpy` |`hipblasSaxpy` |
|`cublasSaxpy_v2` |`hipblasSaxpy` |
|`cublasDaxpy` |`hipblasDaxpy` |
@@ -177,7 +177,7 @@
|`cublasDcopy` |`hipblasDcopy` |
|`cublasDcopy_v2` |`hipblasDcopy` |
|`cublasCcopy` | |
-|`cublasCopyEx` | |
+|`cublasCopyEx` | | 10.1 |
|`cublasCcopy_v2` | |
|`cublasZcopy` | |
|`cublasZcopy_v2` | |
@@ -189,7 +189,7 @@
|`cublasCswap_v2` | |
|`cublasZswap` | |
|`cublasZswap_v2` | |
-|`cublasIamaxEx` | |
+|`cublasIamaxEx` | | 10.1 |
|`cublasIsamax` |`hipblasIsamax` |
|`cublasIsamax_v2` |`hipblasIsamax` |
|`cublasIdamax` |`hipblasIdamax` |
@@ -198,7 +198,7 @@
|`cublasIcamax_v2` | |
|`cublasIzamax` | |
|`cublasIzamax_v2` | |
-|`cublasIaminEx` | |
+|`cublasIaminEx` | | 10.1 |
|`cublasIsamin` | |
|`cublasIsamin_v2` | |
|`cublasIdamin` | |
@@ -207,7 +207,7 @@
|`cublasIcamin_v2` | |
|`cublasIzamin` | |
|`cublasIzamin_v2` | |
-|`cublasAsumEx` | |
+|`cublasAsumEx` | | 10.1 |
|`cublasSasum` |`hipblasSasum` |
|`cublasSasum_v2` |`hipblasSasum` |
|`cublasDasum` |`hipblasDasum` |
@@ -216,7 +216,7 @@
|`cublasScasum_v2` | |
|`cublasDzasum` | |
|`cublasDzasum_v2` | |
-|`cublasRotEx` | |
+|`cublasRotEx` | | 10.1 |
|`cublasSrot` | |
|`cublasSrot_v2` | |
|`cublasDrot` | |
@@ -225,7 +225,7 @@
|`cublasCrot_v2` | |
|`cublasZrot` | |
|`cublasZrot_v2` | |
-|`cublasRotgEx` | |
+|`cublasRotgEx` | | 10.1 |
|`cublasZdrot` | |
|`cublasZdrot_v2` | |
|`cublasSrotg` | |
@@ -236,12 +236,12 @@
|`cublasCrotg_v2` | |
|`cublasZrotg` | |
|`cublasZrotg_v2` | |
-|`cublasRotmEx` | |
+|`cublasRotmEx` | | 10.1 |
|`cublasSrotm` | |
|`cublasSrotm_v2` | |
|`cublasDrotm` | |
|`cublasDrotm_v2` | |
-|`cublasRotmgEx` | |
+|`cublasRotmgEx` | | 10.1 |
|`cublasSrotmg` | |
|`cublasSrotmg_v2` | |
|`cublasDrotmg` | |
@@ -396,16 +396,16 @@
|`cublasDgemm_v2` |`hipblasDgemm` |
|`cublasCgemm` | |
|`cublasCgemm_v2` | |
-|`cublasCgemm3m` | |
-|`cublasCgemm3mEx` | |
+|`cublasCgemm3m` | | 8.0 |
+|`cublasCgemm3mEx` | | 8.0 |
|`cublasZgemm` | |
|`cublasZgemm_v2` | |
-|`cublasZgemm3m` | |
-|`cublasHgemm` |`hipblasHgemm` |
-|`cublasSgemmEx` | |
-|`cublasGemmEx` |`hipblasGemmEx` |
-|`cublasCgemmEx` | |
-|`cublasUint8gemmBias` | |
+|`cublasZgemm3m` | | 8.0 |
+|`cublasHgemm` |`hipblasHgemm` | 7.5 |
+|`cublasSgemmEx` | | 7.5 |
+|`cublasGemmEx` |`hipblasGemmEx` | 8.0 |
+|`cublasCgemmEx` | | 8.0 |
+|`cublasUint8gemmBias` | | 8.0 |
|`cublasSsyrk` | |
|`cublasSsyrk_v2` | |
|`cublasDsyrk` | |
@@ -414,14 +414,14 @@
|`cublasCsyrk_v2` | |
|`cublasZsyrk` | |
|`cublasZsyrk_v2` | |
-|`cublasCsyrkEx` | |
-|`cublasCsyrk3mEx` | |
+|`cublasCsyrkEx` | | 8.0 |
+|`cublasCsyrk3mEx` | | 8.0 |
|`cublasCherk` | |
|`cublasCherk_v2` | |
|`cublasZherk` | |
|`cublasZherk_v2` | |
-|`cublasCherkEx` | |
-|`cublasCherk3mEx` | |
+|`cublasCherkEx` | | 8.0 |
+|`cublasCherk3mEx` | | 8.0 |
|`cublasSsyr2k` | |
|`cublasSsyr2k_v2` | |
|`cublasDsyr2k` | |
@@ -468,20 +468,20 @@
|`cublasCtrmm_v2` | |
|`cublasZtrmm` | |
|`cublasZtrmm_v2` | |
-|`cublasHgemmBatched` | |
+|`cublasHgemmBatched` | | 9.0 |
|`cublasSgemmBatched` |`hipblasSgemmBatched` |
|`cublasDgemmBatched` |`hipblasDgemmBatched` |
|`cublasCgemmBatched` | |
-|`cublasCgemm3mBatched` | |
+|`cublasCgemm3mBatched` | | 8.0 |
|`cublasZgemmBatched` | |
-|`cublasGemmBatchedEx` | |
-|`cublasGemmStridedBatchedEx` | |
-|`cublasSgemmStridedBatched` |`hipblasSgemmStridedBatched` |
-|`cublasDgemmStridedBatched` |`hipblasDgemmStridedBatched` |
-|`cublasCgemmStridedBatched` | |
-|`cublasCgemm3mStridedBatched` | |
-|`cublasZgemmStridedBatched` | |
-|`cublasHgemmStridedBatched` | |
+|`cublasGemmBatchedEx` | | 9.1 |
+|`cublasGemmStridedBatchedEx` | | 9.1 |
+|`cublasSgemmStridedBatched` |`hipblasSgemmStridedBatched` | 8.0 |
+|`cublasDgemmStridedBatched` |`hipblasDgemmStridedBatched` | 8.0 |
+|`cublasCgemmStridedBatched` | | 8.0 |
+|`cublasCgemm3mStridedBatched` | | 8.0 |
+|`cublasZgemmStridedBatched` | | 8.0 |
+|`cublasHgemmStridedBatched` | | 8.0 |
|`cublasSgeam` |`hipblasSgeam` |
|`cublasDgeam` |`hipblasDgeam` |
|`cublasCgeam` | |
@@ -526,3 +526,5 @@
|`cublasDtrttp` | |
|`cublasCtrttp` | |
|`cublasZtrttp` | |
+
+\* CUDA version, in which API has appeared and (optional) last version before abandoning it; no value in case of earlier versions < 7.5.
diff --git a/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md b/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md
index 010cf4d2c9..7aa24465f1 100644
--- a/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md
+++ b/docs/markdown/CUDA_Driver_API_functions_supported_by_HIP.md
@@ -2,8 +2,8 @@
## **1. Data types used by CUDA driver**
-| **type** | **CUDA** | **HIP** |
-|-------------:|--------------------------------------------------------------------|------------------------------------------------------------|
+| **type** | **CUDA** | **HIP** |**CUDA version\***|
+|-------------:|:-------------------------------------------------------------------|:-----------------------------------------------------------|:----------------:|
| struct |`CUDA_ARRAY3D_DESCRIPTOR` |`HIP_ARRAY3D_DESCRIPTOR` |
| typedef |`CUDA_ARRAY3D_DESCRIPTOR_st` |`HIP_ARRAY3D_DESCRIPTOR` |
| struct |`CUDA_ARRAY_DESCRIPTOR` |`HIP_ARRAY_DESCRIPTOR` |
@@ -28,8 +28,8 @@
| typedef |`CUipcEventHandle_st` |`ihipIpcEventHandle_t` |
| struct |`CUipcMemHandle` |`hipIpcMemHandle_t` |
| typedef |`CUipcMemHandle_st` |`hipIpcMemHandle_st` |
-| union |`CUstreamBatchMemOpParams` | |
-| typedef |`CUstreamBatchMemOpParams_union` | |
+| union |`CUstreamBatchMemOpParams` | | 8.0 |
+| typedef |`CUstreamBatchMemOpParams_union` | | 8.0 |
| enum |***`CUaddress_mode`*** |***`hipTextureAddressMode`*** |
| typedef |***`CUaddress_mode_enum`*** |***`hipTextureAddressMode`*** |
| 0 |*`CU_TR_ADDRESS_MODE_WRAP`* |*`hipAddressModeWrap`* |
@@ -157,22 +157,22 @@
| 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`* | |
-| 88 |*`CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`* | |
-| 89 |*`CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`* | |
-| 90 |*`CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED`* | |
-| 91 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`* | |
-| 92 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS`* | |
-| 93 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS`* | |
-| 94 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR`* | |
-| 95 |*`CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH`* | |
-| 96 |*`CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH`* | |
-| 97 |*`CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN`* | |
-| 98 |*`CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES`* | |
-| 99 |*`CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED`* | |
-| 100 |*`CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`*| |
-| 101 |*`CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST`* | |
+| 86 |*`CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED`* | | 8.0 |
+| 87 |*`CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO`* | | 8.0 |
+| 88 |*`CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`* | | 8.0 |
+| 89 |*`CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`* | | 8.0 |
+| 90 |*`CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED`* | | 8.0 |
+| 91 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`* | | 8.0 |
+| 92 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS`* | | 9.0 |
+| 93 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS`* | | 9.0 |
+| 94 |*`CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR`* | | 9.0 |
+| 95 |*`CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH`* | | 9.0 |
+| 96 |*`CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH`* | | 9.0 |
+| 97 |*`CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN`* | | 9.0 |
+| 98 |*`CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES`* | | 9.2 |
+| 99 |*`CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED`* | | 9.2 |
+| 100 |*`CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`*| | 9.2 |
+| 101 |*`CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST`* | | 9.2 |
| 102 |*`CU_DEVICE_ATTRIBUTE_MAX`* | |
| enum |***`CUevent_flags`*** | |
| typedef |***`CUevent_flags_enum`*** | |
@@ -200,8 +200,8 @@
| 5 |*`CU_FUNC_ATTRIBUTE_PTX_VERSION`* | |
| 6 |*`CU_FUNC_ATTRIBUTE_BINARY_VERSION`* | |
| 7 |*`CU_FUNC_ATTRIBUTE_CACHE_MODE_CA`* | |
-| 8 |*`CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`* | |
-| 9 |*`CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`* | |
+| 8 |*`CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`* | | 9.0 |
+| 9 |*`CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`* | | 9.0 |
| 10 |*`CU_FUNC_ATTRIBUTE_MAX`* | |
| enum |***`CUgraphicsMapResourceFlags`*** | |
| typedef |***`CUgraphicsMapResourceFlags_enum`*** | |
@@ -244,11 +244,11 @@
| |*`CU_JIT_LOG_VERBOSE`* | |
| |*`CU_JIT_GENERATE_LINE_INFO`* | |
| |*`CU_JIT_CACHE_MODE`* | |
-| |*`CU_JIT_NEW_SM3X_OPT`* | |
-| |*`CU_JIT_FAST_COMPILE`* | |
-| |*`CU_JIT_GLOBAL_SYMBOL_NAMES`* | |
-| |*`CU_JIT_GLOBAL_SYMBOL_ADDRESSES`* | |
-| |*`CU_JIT_GLOBAL_SYMBOL_COUNT`* | |
+| |*`CU_JIT_NEW_SM3X_OPT`* | | 8.0 |
+| |*`CU_JIT_FAST_COMPILE`* | | 8.0 |
+| |*`CU_JIT_GLOBAL_SYMBOL_NAMES`* | | 10.0 |
+| |*`CU_JIT_GLOBAL_SYMBOL_ADDRESSES`* | | 10.0 |
+| |*`CU_JIT_GLOBAL_SYMBOL_COUNT`* | | 10.0 |
| |*`CU_JIT_NUM_OPTIONS`* | |
| enum |***`CUjit_target`*** | |
| typedef |***`CUjit_target_enum`*** | |
@@ -264,14 +264,14 @@
| 37 |*`CU_TARGET_COMPUTE_37`* | |
| 50 |*`CU_TARGET_COMPUTE_50`* | |
| 52 |*`CU_TARGET_COMPUTE_52`* | |
-| 53 |*`CU_TARGET_COMPUTE_53`* | |
-| 60 |*`CU_TARGET_COMPUTE_60`* | |
-| 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`* | |
+| 53 |*`CU_TARGET_COMPUTE_53`* | | 8.0 |
+| 60 |*`CU_TARGET_COMPUTE_60`* | | 8.0 |
+| 61 |*`CU_TARGET_COMPUTE_61`* | | 8.0 |
+| 62 |*`CU_TARGET_COMPUTE_62`* | | 8.0 |
+| 70 |*`CU_TARGET_COMPUTE_70`* | | 9.0 |
+| 72 |*`CU_TARGET_COMPUTE_72`* | | 10.1 |
+| 73 |*`CU_TARGET_COMPUTE_73`* | | 9.1 - 9.2 |
+| 75 |*`CU_TARGET_COMPUTE_75`* | | 9.1 |
| enum |***`CUjitInputType`*** | |
| typedef |***`CUjitInputType_enum`*** | |
| 0 |*`CU_JIT_INPUT_CUBIN`* | |
@@ -287,16 +287,16 @@
| 0x02 |*`CU_LIMIT_MALLOC_HEAP_SIZE`* |*`hipLimitMallocHeapSize`* |
| 0x03 |*`CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH`* | |
| 0x04 |*`CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT`* | |
-| 0x05 |*`CU_LIMIT_MAX_L2_FETCH_GRANULARITY`* | |
+| 0x05 |*`CU_LIMIT_MAX_L2_FETCH_GRANULARITY`* | | 10.0 |
| |*`CU_LIMIT_MAX`* | |
-| enum |***`CUmem_advise`*** | |
-| typedef |***`CUmem_advise_enum`*** | |
-| 1 |*`CU_MEM_ADVISE_SET_READ_MOSTLY`* | |
-| 2 |*`CU_MEM_ADVISE_UNSET_READ_MOSTLY`* | |
-| 3 |*`CU_MEM_ADVISE_SET_PREFERRED_LOCATION`* | |
-| 4 |*`CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION`* | |
-| 5 |*`CU_MEM_ADVISE_SET_ACCESSED_BY`* | |
-| 6 |*`CU_MEM_ADVISE_UNSET_ACCESSED_BY`* | |
+| enum |***`CUmem_advise`*** | | 8.0 |
+| typedef |***`CUmem_advise_enum`*** | | 8.0 |
+| 1 |*`CU_MEM_ADVISE_SET_READ_MOSTLY`* | | 8.0 |
+| 2 |*`CU_MEM_ADVISE_UNSET_READ_MOSTLY`* | | 8.0 |
+| 3 |*`CU_MEM_ADVISE_SET_PREFERRED_LOCATION`* | | 8.0 |
+| 4 |*`CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION`* | | 8.0 |
+| 5 |*`CU_MEM_ADVISE_SET_ACCESSED_BY`* | | 8.0 |
+| 6 |*`CU_MEM_ADVISE_UNSET_ACCESSED_BY`* | | 8.0 |
| enum |***`CUmemAttach_flags`*** | |
| typedef |***`CUmemAttach_flags_enum`*** | |
| 0x1 |*`CU_MEM_ATTACH_GLOBAL`* | |
@@ -308,12 +308,12 @@
| 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`* | |
-| 2 |*`CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION`* | |
-| 3 |*`CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY`* | |
-| 4 |*`CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION`* | |
+| enum |***`CUmem_range_attribute`*** | | 8.0 |
+| typedef |***`CUmem_range_attribute_enum`*** | | 8.0 |
+| 1 |*`CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY`* | | 8.0 |
+| 2 |*`CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION`* | | 8.0 |
+| 3 |*`CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY`* | | 8.0 |
+| 4 |*`CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION`* | | 8.0 |
| enum |***`CUcomputemode`*** |***`hipComputeMode`*** |
| typedef |***`CUcomputemode_enum`*** |***`hipComputeMode`*** |
| 0 |*`CU_COMPUTEMODE_DEFAULT`* |*`hipComputeModeDefault`* |
@@ -334,7 +334,7 @@
| 6 |*`CU_POINTER_ATTRIBUTE_SYNC_MEMOPS`* | |
| 7 |*`CU_POINTER_ATTRIBUTE_BUFFER_ID`* | |
| 8 |*`CU_POINTER_ATTRIBUTE_IS_MANAGED`* | |
-| 9 |*`CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL`* | |
+| 9 |*`CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL`* | | 9.2 |
| enum |***`CUresourcetype`*** | |
| typedef |***`CUresourcetype_enum`*** | |
| 0x00 |*`CU_RESOURCE_TYPE_ARRAY`* | |
@@ -409,15 +409,15 @@
| 217 |*`CUDA_ERROR_PEER_ACCESS_UNSUPPORTED`* |*`hipErrorPeerAccessUnsupported`* |
| 218 |*`CUDA_ERROR_INVALID_PTX`* |*`hipErrorInvalidKernelFile`* |
| 219 |*`CUDA_ERROR_INVALID_GRAPHICS_CONTEXT`* |*`hipErrorInvalidGraphicsContext`* |
-| 220 |*`CUDA_ERROR_NVLINK_UNCORRECTABLE`* | |
-| 221 |*`CUDA_ERROR_JIT_COMPILER_NOT_FOUND`* | |
+| 220 |*`CUDA_ERROR_NVLINK_UNCORRECTABLE`* | | 8.0 |
+| 221 |*`CUDA_ERROR_JIT_COMPILER_NOT_FOUND`* | | 9.0 |
| 300 |*`CUDA_ERROR_INVALID_SOURCE`* |*`hipErrorInvalidSource`* |
| 301 |*`CUDA_ERROR_FILE_NOT_FOUND`* |*`hipErrorFileNotFound`* |
| 302 |*`CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND`* |*`hipErrorSharedObjectSymbolNotFound`* |
| 303 |*`CUDA_ERROR_SHARED_OBJECT_INIT_FAILED`* |*`hipErrorSharedObjectInitFailed`* |
| 304 |*`CUDA_ERROR_OPERATING_SYSTEM`* |*`hipErrorOperatingSystem`* |
| 400 |*`CUDA_ERROR_INVALID_HANDLE`* |*`hipErrorInvalidResourceHandle`* |
-| 401 |*`CUDA_ERROR_ILLEGAL_STATE`* | |
+| 401 |*`CUDA_ERROR_ILLEGAL_STATE`* | | 10.0 |
| 500 |*`CUDA_ERROR_NOT_FOUND`* |*`hipErrorNotFound`* |
| 600 |*`CUDA_ERROR_NOT_READY`* |*`hipErrorNotReady`* |
| 700 |*`CUDA_ERROR_ILLEGAL_ADDRESS`* |*`hipErrorIllegalAddress`* |
@@ -440,40 +440,40 @@
| 719 |*`CUDA_ERROR_LAUNCH_FAILED`* |*`hipErrorLaunchFailure`* |
| 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`* | |
-| 903 |*`CUDA_ERROR_STREAM_CAPTURE_UNMATCHED`* | |
-| 904 |*`CUDA_ERROR_STREAM_CAPTURE_UNJOINED`* | |
-| 905 |*`CUDA_ERROR_STREAM_CAPTURE_ISOLATION`* | |
-| 906 |*`CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`* | |
-| 907 |*`CUDA_ERROR_CAPTURED_EVENT`* | |
-| 908 |*`CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD`* | |
+| 802 |*`CUDA_ERROR_SYSTEM_NOT_READY`* | | 10.0 |
+| 803 |*`CUDA_ERROR_SYSTEM_DRIVER_MISMATCH`* | | 10.1 |
+| 804 |*`CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE`* | | 10.1 |
+| 900 |*`CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED`* | | 10.0 |
+| 901 |*`CUDA_ERROR_STREAM_CAPTURE_INVALIDATED`* | | 10.0 |
+| 902 |*`CUDA_ERROR_STREAM_CAPTURE_MERGE`* | | 10.0 |
+| 903 |*`CUDA_ERROR_STREAM_CAPTURE_UNMATCHED`* | | 10.0 |
+| 904 |*`CUDA_ERROR_STREAM_CAPTURE_UNJOINED`* | | 10.0 |
+| 905 |*`CUDA_ERROR_STREAM_CAPTURE_ISOLATION`* | | 10.0 |
+| 906 |*`CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`* | | 10.0 |
+| 907 |*`CUDA_ERROR_CAPTURED_EVENT`* | | 10.0 |
+| 908 |*`CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD`* | | 10.1 |
| 999 |*`CUDA_ERROR_UNKNOWN`* | |
| enum |***`CUsharedconfig`*** |***`hipSharedMemConfig`*** |
| typedef |***`CUsharedconfig_enum`*** |***`hipSharedMemConfig`*** |
| 0x00 |*`CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE`* |*`hipSharedMemBankSizeDefault`* |
| 0x01 |*`CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE`* |*`hipSharedMemBankSizeFourByte`* |
| 0x02 |*`CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE`* |*`hipSharedMemBankSizeEightByte`* |
-| enum |***`CUshared_carveout`*** | |
-| typedef |`CUshared_carveout_enum` | |
-| -1 |*`CU_SHAREDMEM_CARVEOUT_DEFAULT`* | |
-| 100 |*`CU_SHAREDMEM_CARVEOUT_MAX_SHARED`* | |
-| 0 |*`CU_SHAREDMEM_CARVEOUT_MAX_L1`* | |
+| enum |***`CUshared_carveout`*** | | 9.0 |
+| typedef |***`CUshared_carveout_enum`*** | | 9.0 |
+| -1 |*`CU_SHAREDMEM_CARVEOUT_DEFAULT`* | | 9.0 |
+| 100 |*`CU_SHAREDMEM_CARVEOUT_MAX_SHARED`* | | 9.0 |
+| 0 |*`CU_SHAREDMEM_CARVEOUT_MAX_L1`* | | 9.0 |
| enum |***`CUstream_flags`*** | |
| typedef |***`CUstream_flags_enum`*** | |
| 0x0 |*`CU_STREAM_DEFAULT`* |*`hipStreamDefault`* |
| 0x1 |*`CU_STREAM_NON_BLOCKING`* |*`hipStreamNonBlocking`* |
-| enum |***`CUstreamBatchMemOpType`*** | |
-| typedef |***`CUstreamBatchMemOpType_enum`*** | |
-| 1 |*`CU_STREAM_MEM_OP_WAIT_VALUE_32`* | |
-| 2 |*`CU_STREAM_MEM_OP_WRITE_VALUE_32`* | |
-| 3 |*`CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES`* | |
-| 4 |*`CU_STREAM_MEM_OP_WAIT_VALUE_64`* | |
-| 5 |*`CU_STREAM_MEM_OP_WRITE_VALUE_64`* | |
+| enum |***`CUstreamBatchMemOpType`*** | | 8.0 |
+| typedef |***`CUstreamBatchMemOpType_enum`*** | | 8.0 |
+| 1 |*`CU_STREAM_MEM_OP_WAIT_VALUE_32`* | | 8.0 |
+| 2 |*`CU_STREAM_MEM_OP_WRITE_VALUE_32`* | | 8.0 |
+| 3 |*`CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES`* | | 8.0 |
+| 4 |*`CU_STREAM_MEM_OP_WAIT_VALUE_64`* | | 9.0 |
+| 5 |*`CU_STREAM_MEM_OP_WRITE_VALUE_64`* | | 9.0 |
| enum |***`CUGLDeviceList`*** | |
| typedef |***`CUGLDeviceList_enum`*** | |
| 0x01 |*`CU_GL_DEVICE_LIST_ALL`* | |
@@ -523,8 +523,8 @@
| typedef |`CUcontext_st` |`hipCtx_t` |
| typedef |`CUdevice` |`hipDevice_t` |
| typedef |`CUdeviceptr` |`hipDeviceptr_t` |
-| struct |`CUeglStreamConnection_st` | |
-| typedef |`CUeglStreamConnection` | |
+| struct |`CUeglStreamConnection_st` | | 9.1 |
+| typedef |`CUeglStreamConnection` | | 9.1 |
| typedef |`CUevent` |`hipEvent_t` |
| struct |`CUevent_st` |`ihipEvent_t` |
| typedef |`CUfunction` |`hipFunction_t` |
@@ -552,7 +552,7 @@
| define |`CU_MEMHOSTALLOC_PORTABLE` |`hipHostMallocPortable` |
| define |`CU_MEMHOSTALLOC_WRITECOMBINED` |`hipHostAllocWriteCombined` |
| define |`CU_MEMHOSTREGISTER_DEVICEMAP` |`hipHostRegisterMapped` |
-| define |`CU_MEMHOSTREGISTER_IOMEMORY` |`hipHostRegisterIoMemory` |
+| define |`CU_MEMHOSTREGISTER_IOMEMORY` |`hipHostRegisterIoMemory` | 7.5 |
| define |`CU_MEMHOSTREGISTER_PORTABLE` |`hipHostRegisterPortable` |
| define |`CU_PARAM_TR_DEFAULT` | |
| define |`CU_STREAM_LEGACY` | |
@@ -567,225 +567,225 @@
| define |`CUDA_ARRAY3D_LAYERED` |`hipArrayLayered` |
| define |`CUDA_ARRAY3D_SURFACE_LDST` |`hipArraySurfaceLoadStore` |
| define |`CUDA_ARRAY3D_TEXTURE_GATHER` |`hipArrayTextureGather` |
-| define |`CUDA_ARRAY3D_COLOR_ATTACHMENT` | |
+| define |`CUDA_ARRAY3D_COLOR_ATTACHMENT` | | 10.0 |
| define |`CUDA_VERSION` | |
-| typedef |`CUexternalMemory` | |
-| struct |`CUextMemory_st` | |
-| typedef |`CUexternalSemaphore` | |
-| struct |`CUextSemaphore_st` | |
-| typedef |`CUgraph` | |
-| struct |`CUgraph_st` | |
-| typedef |`CUgraphNode` | |
-| struct |`CUgraphNode_st` | |
-| typedef |`CUgraphExec` | |
-| struct |`CUgraphExec_st` | |
-| typedef |`CUhostFn` | |
+| typedef |`CUexternalMemory` | | 10.0 |
+| struct |`CUextMemory_st` | | 10.0 |
+| typedef |`CUexternalSemaphore` | | 10.0 |
+| struct |`CUextSemaphore_st` | | 10.0 |
+| typedef |`CUgraph` | | 10.0 |
+| struct |`CUgraph_st` | | 10.0 |
+| typedef |`CUgraphNode` | | 10.0 |
+| struct |`CUgraphNode_st` | | 10.0 |
+| typedef |`CUgraphExec` | | 10.0 |
+| struct |`CUgraphExec_st` | | 10.0 |
+| typedef |`CUhostFn` | | 10.0 |
| typedef |`CUoccupancyB2DSize` | |
-| struct |`CUDA_KERNEL_NODE_PARAMS` | |
-| typedef |`CUDA_KERNEL_NODE_PARAMS_st` | |
-| struct |`CUDA_LAUNCH_PARAMS` | |
-| typedef |`CUDA_LAUNCH_PARAMS_st` | |
-| struct |`CUDA_MEMSET_NODE_PARAMS` | |
-| typedef |`CUDA_MEMSET_NODE_PARAMS_st` | |
-| struct |`CUDA_HOST_NODE_PARAMS` | |
-| typedef |`CUDA_HOST_NODE_PARAMS_st` | |
-| enum |***`CUgraphNodeType`*** | |
-| typedef |***`CUgraphNodeType_enum`*** | |
-| 0 |*`CU_GRAPH_NODE_TYPE_KERNEL`* | |
-| 1 |*`CU_GRAPH_NODE_TYPE_MEMCPY`* | |
-| 2 |*`CU_GRAPH_NODE_TYPE_MEMSET`* | |
-| 3 |*`CU_GRAPH_NODE_TYPE_HOST`* | |
-| 4 |*`CU_GRAPH_NODE_TYPE_GRAPH`* | |
-| 5 |*`CU_GRAPH_NODE_TYPE_EMPTY`* | |
-| 6 |*`CU_GRAPH_NODE_TYPE_COUNT`* | |
-| enum |***`CUstreamCaptureStatus`*** | |
-| typedef |***`CUstreamCaptureStatus_enum`*** | |
-| 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`* | |
-| 0x1 |*`CU_STREAM_WAIT_VALUE_EQ`* | |
-| 0x2 |*`CU_STREAM_WAIT_VALUE_AND`* | |
-| 1<<30 |*`CU_STREAM_WAIT_VALUE_FLUSH`* | |
-| enum |***`CUstreamWriteValue_flags`*** | |
-| typedef |***`CUstreamWriteValue_flags_enum`*** | |
-| 0x0 |*`CU_STREAM_WRITE_VALUE_DEFAULT`* | |
-| 0x1 |*`CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER`* | |
-| enum |***`CUdevice_P2PAttribute`*** | |
-| typedef |***`CUdevice_P2PAttribute_enum`*** | |
-| 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`*** | |
-| typedef |***`CUeglColorFormate_enum`*** | |
-| 0x00 |*`CU_EGL_COLOR_FORMAT_YUV420_PLANAR`* | |
-| 0x01 |*`CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR`* | |
-| 0x02 |*`CU_EGL_COLOR_FORMAT_YUV422_PLANAR`* | |
-| 0x03 |*`CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR`* | |
-| 0x04 |*`CU_EGL_COLOR_FORMAT_RGB`* | |
-| 0x05 |*`CU_EGL_COLOR_FORMAT_BGR`* | |
-| 0x06 |*`CU_EGL_COLOR_FORMAT_ARGB`* | |
-| 0x07 |*`CU_EGL_COLOR_FORMAT_RGBA`* | |
-| 0x08 |*`CU_EGL_COLOR_FORMAT_L`* | |
-| 0x09 |*`CU_EGL_COLOR_FORMAT_R`* | |
-| 0x0A |*`CU_EGL_COLOR_FORMAT_YUV444_PLANAR`* | |
-| 0x0B |*`CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR`* | |
-| 0x0C |*`CU_EGL_COLOR_FORMAT_YUYV_422`* | |
-| 0x0D |*`CU_EGL_COLOR_FORMAT_UYVY_422`* | |
-| 0x0E |*`CU_EGL_COLOR_FORMAT_ABGR`* | |
-| 0x0F |*`CU_EGL_COLOR_FORMAT_BGRA`* | |
-| 0x10 |*`CU_EGL_COLOR_FORMAT_A`* | |
-| 0x11 |*`CU_EGL_COLOR_FORMAT_RG`* | |
-| 0x12 |*`CU_EGL_COLOR_FORMAT_AYUV`* | |
-| 0x13 |*`CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR`* | |
-| 0x14 |*`CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR`* | |
-| 0x15 |*`CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR`* | |
-| 0x16 |*`CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR`* | |
-| 0x17 |*`CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR`* | |
-| 0x18 |*`CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR`* | |
-| 0x19 |*`CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR`* | |
-| 0x1A |*`CU_EGL_COLOR_FORMAT_VYUY_ER`* | |
-| 0x1B |*`CU_EGL_COLOR_FORMAT_UYVY_ER`* | |
-| 0x1C |*`CU_EGL_COLOR_FORMAT_YUYV_ER`* | |
-| 0x1D |*`CU_EGL_COLOR_FORMAT_YVYU_ER`* | |
-| 0x1E |*`CU_EGL_COLOR_FORMAT_YUV_ER`* | |
-| 0x1F |*`CU_EGL_COLOR_FORMAT_YUVA_ER`* | |
-| 0x20 |*`CU_EGL_COLOR_FORMAT_AYUV_ER`* | |
-| 0x21 |*`CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER`* | |
-| 0x22 |*`CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER`* | |
-| 0x23 |*`CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER`* | |
-| 0x24 |*`CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER`* | |
-| 0x25 |*`CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER`* | |
-| 0x26 |*`CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER`* | |
-| 0x27 |*`CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER`* | |
-| 0x28 |*`CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER`* | |
-| 0x29 |*`CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER`* | |
-| 0x2A |*`CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER`* | |
-| 0x2B |*`CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER`* | |
-| 0x2C |*`CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER`* | |
-| 0x2D |*`CU_EGL_COLOR_FORMAT_BAYER_RGGB`* | |
-| 0x2E |*`CU_EGL_COLOR_FORMAT_BAYER_BGGR`* | |
-| 0x2F |*`CU_EGL_COLOR_FORMAT_BAYER_GRBG`* | |
-| 0x30 |*`CU_EGL_COLOR_FORMAT_BAYER_GBRG`* | |
-| 0x31 |*`CU_EGL_COLOR_FORMAT_BAYER10_RGGB`* | |
-| 0x32 |*`CU_EGL_COLOR_FORMAT_BAYER10_BGGR`* | |
-| 0x33 |*`CU_EGL_COLOR_FORMAT_BAYER10_GRBG`* | |
-| 0x34 |*`CU_EGL_COLOR_FORMAT_BAYER10_GBRG`* | |
-| 0x35 |*`CU_EGL_COLOR_FORMAT_BAYER12_RGGB`* | |
-| 0x36 |*`CU_EGL_COLOR_FORMAT_BAYER12_BGGR`* | |
-| 0x37 |*`CU_EGL_COLOR_FORMAT_BAYER12_GRBG`* | |
-| 0x38 |*`CU_EGL_COLOR_FORMAT_BAYER12_GBRG`* | |
-| 0x39 |*`CU_EGL_COLOR_FORMAT_BAYER14_RGGB`* | |
-| 0x3A |*`CU_EGL_COLOR_FORMAT_BAYER14_BGGR`* | |
-| 0x3B |*`CU_EGL_COLOR_FORMAT_BAYER14_GRBG`* | |
-| 0x3C |*`CU_EGL_COLOR_FORMAT_BAYER14_GBRG`* | |
-| 0x3D |*`CU_EGL_COLOR_FORMAT_BAYER20_RGGB`* | |
-| 0x3E |*`CU_EGL_COLOR_FORMAT_BAYER20_BGGR`* | |
-| 0x3F |*`CU_EGL_COLOR_FORMAT_BAYER20_GRBG`* | |
-| 0x40 |*`CU_EGL_COLOR_FORMAT_BAYER20_GBRG`* | |
-| 0x41 |*`CU_EGL_COLOR_FORMAT_YVU444_PLANAR`* | |
-| 0x42 |*`CU_EGL_COLOR_FORMAT_YVU422_PLANAR`* | |
-| 0x43 |*`CU_EGL_COLOR_FORMAT_YVU420_PLANAR`* | |
-| 0x44 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB`* | |
-| 0x45 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR`* | |
-| 0x46 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG`* | |
-| 0x47 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG`* | |
-| 0x48 |*`CU_EGL_COLOR_FORMAT_MAX`* | |
-| enum |***`CUeglFrameType`*** | |
-| typedef |***`CUeglFrameType_enum`*** | |
-| 0 |*`CU_EGL_FRAME_TYPE_ARRAY`* | |
-| 1 |*`CU_EGL_FRAME_TYPE_PITCH`* | |
-| enum |***`CUeglResourceLocationFlags`*** | |
-| typedef |***`CUeglResourceLocationFlags_enum`*** | |
-| 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`* | |
-| 2 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32`* | |
-| 3 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT`* | |
-| 4 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP`* | |
-| 5 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE`* | |
-| define |`CUDA_EXTERNAL_MEMORY_DEDICATED` | |
-| struct |`CUDA_EXTERNAL_MEMORY_HANDLE_DESC` | |
-| typedef |`CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st` | |
-| struct |`CUDA_EXTERNAL_MEMORY_BUFFER_DESC` | |
-| typedef |`CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st` | |
-| struct |`CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC` | |
-| typedef |`CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st` | |
-| enum |***`CUexternalSemaphoreHandleType`*** | |
-| typedef |***`CUexternalSemaphoreHandleType_enum`*** | |
-| 1 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD`* | |
-| 2 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32`* | |
-| 3 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT`* | |
-| 4 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE`* | |
-| struct |`CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC` | |
-| typedef |`CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st` | |
-| struct |`CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS` | |
-| typedef |`CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st` | |
-| struct |`CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS` | |
-| typedef |`CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st` | |
-| define |`CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC` | |
-| define |`CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC` | |
+| struct |`CUDA_KERNEL_NODE_PARAMS` | | 10.0 |
+| typedef |`CUDA_KERNEL_NODE_PARAMS_st` | | 10.0 |
+| struct |`CUDA_LAUNCH_PARAMS` | | 9.0 |
+| typedef |`CUDA_LAUNCH_PARAMS_st` | | 9.0 |
+| struct |`CUDA_MEMSET_NODE_PARAMS` | | 10.0 |
+| typedef |`CUDA_MEMSET_NODE_PARAMS_st` | | 10.0 |
+| struct |`CUDA_HOST_NODE_PARAMS` | | 10.0 |
+| typedef |`CUDA_HOST_NODE_PARAMS_st` | | 10.0 |
+| enum |***`CUgraphNodeType`*** | | 10.0 |
+| typedef |***`CUgraphNodeType_enum`*** | | 10.0 |
+| 0 |*`CU_GRAPH_NODE_TYPE_KERNEL`* | | 10.0 |
+| 1 |*`CU_GRAPH_NODE_TYPE_MEMCPY`* | | 10.0 |
+| 2 |*`CU_GRAPH_NODE_TYPE_MEMSET`* | | 10.0 |
+| 3 |*`CU_GRAPH_NODE_TYPE_HOST`* | | 10.0 |
+| 4 |*`CU_GRAPH_NODE_TYPE_GRAPH`* | | 10.0 |
+| 5 |*`CU_GRAPH_NODE_TYPE_EMPTY`* | | 10.0 |
+| 6 |*`CU_GRAPH_NODE_TYPE_COUNT`* | | 10.0 |
+| enum |***`CUstreamCaptureStatus`*** | | 10.0 |
+| typedef |***`CUstreamCaptureStatus_enum`*** | | 10.0 |
+| 0 |*`CU_STREAM_CAPTURE_STATUS_NONE`* | | 10.0 |
+| 1 |*`CU_STREAM_CAPTURE_STATUS_ACTIVE`* | | 10.0 |
+| 2 |*`CU_STREAM_CAPTURE_STATUS_INVALIDATED`* | | 10.0 |
+| enum |***`CUstreamCaptureMode`*** | | 10.1 |
+| typedef |***`CUstreamCaptureMode_enum`*** | | 10.1 |
+| 0 |*`CU_STREAM_CAPTURE_MODE_GLOBAL`* | | 10.1 |
+| 1 |*`CU_STREAM_CAPTURE_MODE_THREAD_LOCAL`* | | 10.1 |
+| 2 |*`CU_STREAM_CAPTURE_MODE_RELAXED`* | | 10.1 |
+| enum |***`CUstreamWaitValue_flags`*** | | 8.0 |
+| typedef |***`CUstreamWaitValue_flags_enum`*** | | 8.0 |
+| 0x0 |*`CU_STREAM_WAIT_VALUE_GEQ`* | | 8.0 |
+| 0x1 |*`CU_STREAM_WAIT_VALUE_EQ`* | | 8.0 |
+| 0x2 |*`CU_STREAM_WAIT_VALUE_AND`* | | 8.0 |
+| 1<<30 |*`CU_STREAM_WAIT_VALUE_FLUSH`* | | 8.0 |
+| enum |***`CUstreamWriteValue_flags`*** | | 8.0 |
+| typedef |***`CUstreamWriteValue_flags_enum`*** | | 8.0 |
+| 0x0 |*`CU_STREAM_WRITE_VALUE_DEFAULT`* | | 8.0 |
+| 0x1 |*`CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER`* | | 8.0 |
+| enum |***`CUdevice_P2PAttribute`*** | | 8.0 |
+| typedef |***`CUdevice_P2PAttribute_enum`*** | | 8.0 |
+| 0x01 |*`CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK`* | | 8.0 |
+| 0x02 |*`CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED`* | | 8.0 |
+| 0x03 |*`CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED`* | | 8.0 |
+| 0x04 |*`CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED`* | | 10.1 |
+| 0x04 |*`CU_DEVICE_P2P_ATTRIBUTE_ARRAY_ACCESS_ACCESS_SUPPORTED`* | | 9.2 - 10.0 |
+| 0x04 |*`CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED`* | | 9.2 |
+| enum |***`CUeglColorFormat`*** | | 8.0 |
+| typedef |***`CUeglColorFormate_enum`*** | | 8.0 |
+| 0x00 |*`CU_EGL_COLOR_FORMAT_YUV420_PLANAR`* | | 8.0 |
+| 0x01 |*`CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR`* | | 8.0 |
+| 0x02 |*`CU_EGL_COLOR_FORMAT_YUV422_PLANAR`* | | 8.0 |
+| 0x03 |*`CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR`* | | 8.0 |
+| 0x04 |*`CU_EGL_COLOR_FORMAT_RGB`* | | 8.0 |
+| 0x05 |*`CU_EGL_COLOR_FORMAT_BGR`* | | 8.0 |
+| 0x06 |*`CU_EGL_COLOR_FORMAT_ARGB`* | | 8.0 |
+| 0x07 |*`CU_EGL_COLOR_FORMAT_RGBA`* | | 8.0 |
+| 0x08 |*`CU_EGL_COLOR_FORMAT_L`* | | 8.0 |
+| 0x09 |*`CU_EGL_COLOR_FORMAT_R`* | | 8.0 |
+| 0x0A |*`CU_EGL_COLOR_FORMAT_YUV444_PLANAR`* | | 9.0 |
+| 0x0B |*`CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR`* | | 9.0 |
+| 0x0C |*`CU_EGL_COLOR_FORMAT_YUYV_422`* | | 9.0 |
+| 0x0D |*`CU_EGL_COLOR_FORMAT_UYVY_422`* | | 9.0 |
+| 0x0E |*`CU_EGL_COLOR_FORMAT_ABGR`* | | 9.1 |
+| 0x0F |*`CU_EGL_COLOR_FORMAT_BGRA`* | | 9.1 |
+| 0x10 |*`CU_EGL_COLOR_FORMAT_A`* | | 9.1 |
+| 0x11 |*`CU_EGL_COLOR_FORMAT_RG`* | | 9.1 |
+| 0x12 |*`CU_EGL_COLOR_FORMAT_AYUV`* | | 9.1 |
+| 0x13 |*`CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR`* | | 9.1 |
+| 0x14 |*`CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR`* | | 9.1 |
+| 0x15 |*`CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR`* | | 9.1 |
+| 0x16 |*`CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR`* | | 9.1 |
+| 0x17 |*`CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR`* | | 9.1 |
+| 0x18 |*`CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR`* | | 9.1 |
+| 0x19 |*`CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR`* | | 9.1 |
+| 0x1A |*`CU_EGL_COLOR_FORMAT_VYUY_ER`* | | 9.1 |
+| 0x1B |*`CU_EGL_COLOR_FORMAT_UYVY_ER`* | | 9.1 |
+| 0x1C |*`CU_EGL_COLOR_FORMAT_YUYV_ER`* | | 9.1 |
+| 0x1D |*`CU_EGL_COLOR_FORMAT_YVYU_ER`* | | 9.1 |
+| 0x1E |*`CU_EGL_COLOR_FORMAT_YUV_ER`* | | 9.1 |
+| 0x1F |*`CU_EGL_COLOR_FORMAT_YUVA_ER`* | | 9.1 |
+| 0x20 |*`CU_EGL_COLOR_FORMAT_AYUV_ER`* | | 9.1 |
+| 0x21 |*`CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER`* | | 9.1 |
+| 0x22 |*`CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER`* | | 9.1 |
+| 0x23 |*`CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER`* | | 9.1 |
+| 0x24 |*`CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER`* | | 9.1 |
+| 0x25 |*`CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER`* | | 9.1 |
+| 0x26 |*`CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER`* | | 9.1 |
+| 0x27 |*`CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER`* | | 9.1 |
+| 0x28 |*`CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER`* | | 9.1 |
+| 0x29 |*`CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER`* | | 9.1 |
+| 0x2A |*`CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER`* | | 9.1 |
+| 0x2B |*`CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER`* | | 9.1 |
+| 0x2C |*`CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER`* | | 9.1 |
+| 0x2D |*`CU_EGL_COLOR_FORMAT_BAYER_RGGB`* | | 9.1 |
+| 0x2E |*`CU_EGL_COLOR_FORMAT_BAYER_BGGR`* | | 9.1 |
+| 0x2F |*`CU_EGL_COLOR_FORMAT_BAYER_GRBG`* | | 9.1 |
+| 0x30 |*`CU_EGL_COLOR_FORMAT_BAYER_GBRG`* | | 9.1 |
+| 0x31 |*`CU_EGL_COLOR_FORMAT_BAYER10_RGGB`* | | 9.1 |
+| 0x32 |*`CU_EGL_COLOR_FORMAT_BAYER10_BGGR`* | | 9.1 |
+| 0x33 |*`CU_EGL_COLOR_FORMAT_BAYER10_GRBG`* | | 9.1 |
+| 0x34 |*`CU_EGL_COLOR_FORMAT_BAYER10_GBRG`* | | 9.1 |
+| 0x35 |*`CU_EGL_COLOR_FORMAT_BAYER12_RGGB`* | | 9.1 |
+| 0x36 |*`CU_EGL_COLOR_FORMAT_BAYER12_BGGR`* | | 9.1 |
+| 0x37 |*`CU_EGL_COLOR_FORMAT_BAYER12_GRBG`* | | 9.1 |
+| 0x38 |*`CU_EGL_COLOR_FORMAT_BAYER12_GBRG`* | | 9.1 |
+| 0x39 |*`CU_EGL_COLOR_FORMAT_BAYER14_RGGB`* | | 9.1 |
+| 0x3A |*`CU_EGL_COLOR_FORMAT_BAYER14_BGGR`* | | 9.1 |
+| 0x3B |*`CU_EGL_COLOR_FORMAT_BAYER14_GRBG`* | | 9.1 |
+| 0x3C |*`CU_EGL_COLOR_FORMAT_BAYER14_GBRG`* | | 9.1 |
+| 0x3D |*`CU_EGL_COLOR_FORMAT_BAYER20_RGGB`* | | 9.1 |
+| 0x3E |*`CU_EGL_COLOR_FORMAT_BAYER20_BGGR`* | | 9.1 |
+| 0x3F |*`CU_EGL_COLOR_FORMAT_BAYER20_GRBG`* | | 9.1 |
+| 0x40 |*`CU_EGL_COLOR_FORMAT_BAYER20_GBRG`* | | 9.1 |
+| 0x41 |*`CU_EGL_COLOR_FORMAT_YVU444_PLANAR`* | | 9.1 |
+| 0x42 |*`CU_EGL_COLOR_FORMAT_YVU422_PLANAR`* | | 9.1 |
+| 0x43 |*`CU_EGL_COLOR_FORMAT_YVU420_PLANAR`* | | 9.1 |
+| 0x44 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB`* | | 9.2 |
+| 0x45 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR`* | | 9.2 |
+| 0x46 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG`* | | 9.2 |
+| 0x47 |*`CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG`* | | 9.2 |
+| 0x48 |*`CU_EGL_COLOR_FORMAT_MAX`* | | 9.0 |
+| enum |***`CUeglFrameType`*** | | 8.0 |
+| typedef |***`CUeglFrameType_enum`*** | | 8.0 |
+| 0 |*`CU_EGL_FRAME_TYPE_ARRAY`* | | 8.0 |
+| 1 |*`CU_EGL_FRAME_TYPE_PITCH`* | | 8.0 |
+| enum |***`CUeglResourceLocationFlags`*** | | 8.0 |
+| typedef |***`CUeglResourceLocationFlags_enum`*** | | 8.0 |
+| 0x00 |*`CU_EGL_RESOURCE_LOCATION_SYSMEM`* | | 8.0 |
+| 0x01 |*`CU_EGL_RESOURCE_LOCATION_VIDMEM`* | | 8.0 |
+| enum |***`CUexternalMemoryHandleType`*** | | 10.0 |
+| typedef |***`CUexternalMemoryHandleType_enum`*** | | 10.0 |
+| 1 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD`* | | 10.0 |
+| 2 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32`* | | 10.0 |
+| 3 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT`* | | 10.0 |
+| 4 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP`* | | 10.0 |
+| 5 |*`CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE`* | | 10.0 |
+| define |`CUDA_EXTERNAL_MEMORY_DEDICATED` | | 10.0 |
+| struct |`CUDA_EXTERNAL_MEMORY_HANDLE_DESC` | | 10.0 |
+| typedef |`CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st` | | 10.0 |
+| struct |`CUDA_EXTERNAL_MEMORY_BUFFER_DESC` | | 10.0 |
+| typedef |`CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st` | | 10.0 |
+| struct |`CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC` | | 10.0 |
+| typedef |`CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st` | | 10.0 |
+| enum |***`CUexternalSemaphoreHandleType`*** | | 10.0 |
+| typedef |***`CUexternalSemaphoreHandleType_enum`*** | | 10.0 |
+| 1 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD`* | | 10.0 |
+| 2 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32`* | | 10.0 |
+| 3 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT`* | | 10.0 |
+| 4 |*`CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE`* | | 10.0 |
+| struct |`CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC` | | 10.0 |
+| typedef |`CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st` | | 10.0 |
+| struct |`CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS` | | 10.0 |
+| typedef |`CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st` | | 10.0 |
+| struct |`CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS` | | 10.0 |
+| typedef |`CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st` | | 10.0 |
+| define |`CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC` | | 9.0 |
+| define |`CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC` | | 9.0 |
| define |`__CUDACC__` |`__HIPCC__` |
| define |`CUDA_CB` | |
-| define |`CU_DEVICE_CPU` | |
-| define |`CU_DEVICE_INVALID` | |
+| define |`CU_DEVICE_CPU` | | 8.0 |
+| define |`CU_DEVICE_INVALID` | | 8.0 |
| struct |`CUuuid` | |
| typedef |`CUuuid_st` | |
## **2. Error Handling**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuGetErrorName` | |
| `cuGetErrorString` | |
## **3. Initialization**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuInit` | `hipInit` |
## **4. Version Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuDriverGetVersion` | `hipDriverGetVersion` |
## **5. Device Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
| `cuDriverGetVersion` | `hipGetDevice` |
| `cuDeviceGetAttribute` | `hipDeviceGetAttribute` |
| `cuDeviceGetCount` | `hipGetDeviceCount` |
| `cuDeviceGetName` | `hipDeviceGetName` |
| `cuDeviceTotalMem` | `hipDeviceTotalMem` |
-| `cuDeviceGetLuid` | |
-| `cuDeviceGetUuid` | |
+| `cuDeviceGetLuid` | | 10.0 |
+| `cuDeviceGetUuid` | | 9.2 |
## **6. Device Management [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuDeviceComputeCapability` | `hipDeviceComputeCapability` |
| `cuDeviceGetProperties` | |
## **7. Primary Context Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuDevicePrimaryCtxGetState` | `hipDevicePrimaryCtxGetState` |
| `cuDevicePrimaryCtxRelease` | `hipDevicePrimaryCtxRelease` |
| `cuDevicePrimaryCtxReset` | `hipDevicePrimaryCtxReset` |
@@ -794,37 +794,37 @@
## **8. Context Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
-| `cuCtxCreate` | `hipCtxCreate` |
-| `cuCtxDestroy` | `hipCtxDestroy` |
-| `cuCtxGetApiVersion` | `hipCtxGetApiVersion` |
-| `cuCtxGetCacheConfig` | `hipCtxGetCacheConfig` |
-| `cuCtxGetCurrent` | `hipCtxGetCurrent` |
-| `cuCtxGetDevice` | `hipCtxGetDevice` |
-| `cuCtxGetFlags` | `hipCtxGetFlags` |
-| `cuCtxGetLimit` | `hipDeviceGetLimit` |
-| `cuCtxGetSharedMemConfig` | `hipCtxGetSharedMemConfig` |
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|----------------------------------|------------------|
+| `cuCtxCreate` | `hipCtxCreate` |
+| `cuCtxDestroy` | `hipCtxDestroy` |
+| `cuCtxGetApiVersion` | `hipCtxGetApiVersion` |
+| `cuCtxGetCacheConfig` | `hipCtxGetCacheConfig` |
+| `cuCtxGetCurrent` | `hipCtxGetCurrent` |
+| `cuCtxGetDevice` | `hipCtxGetDevice` |
+| `cuCtxGetFlags` | `hipCtxGetFlags` |
+| `cuCtxGetLimit` | `hipDeviceGetLimit` |
+| `cuCtxGetSharedMemConfig` | `hipCtxGetSharedMemConfig` |
| `cuCtxGetStreamPriorityRange` | `hipDeviceGetStreamPriorityRange`|
-| `cuCtxPopCurrent` | `hipCtxPopCurrent` |
-| `cuCtxPushCurrent` | `hipCtxPushCurrent` |
-| `cuCtxSetCacheConfig` | `hipCtxSetCacheConfig` |
-| `cuCtxSetCurrent` | `hipCtxSetCurrent` |
-| `cuCtxSetLimit` | `hipDeviceSetLimit` |
-| `cuCtxSetSharedMemConfig` | `hipCtxSetSharedMemConfig` |
-| `cuCtxSynchronize` | `hipCtxSynchronize` |
+| `cuCtxPopCurrent` | `hipCtxPopCurrent` |
+| `cuCtxPushCurrent` | `hipCtxPushCurrent` |
+| `cuCtxSetCacheConfig` | `hipCtxSetCacheConfig` |
+| `cuCtxSetCurrent` | `hipCtxSetCurrent` |
+| `cuCtxSetLimit` | `hipDeviceSetLimit` |
+| `cuCtxSetSharedMemConfig` | `hipCtxSetSharedMemConfig` |
+| `cuCtxSynchronize` | `hipCtxSynchronize` |
## **9. Context Management [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuCtxAttach` | |
| `cuCtxDetach` | |
## **10. Module Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuLinkAddData` | |
| `cuLinkAddFile` | |
| `cuLinkComplete` | |
@@ -842,8 +842,8 @@
## **11. Memory Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuArray3DCreate` | `hipArray3DCreate` |
| `cuArray3DGetDescriptor` | |
| `cuArrayCreate` | `hipArrayCreate` |
@@ -911,20 +911,20 @@
## **12. Unified Addressing**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
-| `cuMemAdvise` | |
-| `cuMemPrefetchAsync` | |
-| `cuMemRangeGetAttribute` | |
-| `cuMemRangeGetAttributes` | |
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
+| `cuMemAdvise` | | 8.0 |
+| `cuMemPrefetchAsync` | | 8.0 |
+| `cuMemRangeGetAttribute` | | 8.0 |
+| `cuMemRangeGetAttributes` | | 8.0 |
| `cuPointerGetAttribute` | |
| `cuPointerGetAttributes` | |
| `cuPointerSetAttribute` | |
## **13. Stream Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
| `cuStreamAddCallback` | `hipStreamAddCallback` |
| `cuStreamAttachMemAsync` | |
| `cuStreamCreate` | `hipStreamCreateWithFlags` |
@@ -935,17 +935,17 @@
| `cuStreamQuery` | `hipStreamQuery` |
| `cuStreamSynchronize` | `hipStreamSynchronize` |
| `cuStreamWaitEvent` | `hipStreamWaitEvent` |
-| `cuStreamBeginCapture` | |
-| `cuStreamBeginCapture_ptsz` | |
-| `cuStreamEndCapture` | |
-| `cuStreamGetCaptureInfo` | |
-| `cuStreamIsCapturing` | |
-| `cuThreadExchangeStreamCaptureMode` | |
+| `cuStreamBeginCapture` | | 10.0 |
+| `cuStreamBeginCapture_ptsz` | | 10.1 |
+| `cuStreamEndCapture` | | 10.0 |
+| `cuStreamGetCaptureInfo` | | 10.1 |
+| `cuStreamIsCapturing` | | 10.0 |
+| `cuThreadExchangeStreamCaptureMode` | | 10.1 |
## **14. Event Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuEventCreate` | `hipEventCreateWithFlags` |
| `cuEventDestroy` | `hipEventDestroy` |
| `cuEventElapsedTime` | `hipEventElapsedTime` |
@@ -955,44 +955,44 @@
## **15. External Resource Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
-| `cuSignalExternalSemaphoresAsync` | |
-| `cuWaitExternalSemaphoresAsync` | |
-| `cuImportExternalMemory` | |
-| `cuExternalMemoryGetMappedBuffer` | |
-| `cuExternalMemoryGetMappedMipmappedArray` | |
-| `cuDestroyExternalMemory` | |
-| `cuImportExternalSemaphore` | |
-| `cuDestroyExternalSemaphore` | |
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
+| `cuSignalExternalSemaphoresAsync` | | 10.0 |
+| `cuWaitExternalSemaphoresAsync` | | 10.0 |
+| `cuImportExternalMemory` | | 10.0 |
+| `cuExternalMemoryGetMappedBuffer` | | 10.0 |
+| `cuExternalMemoryGetMappedMipmappedArray` | | 10.0 |
+| `cuDestroyExternalMemory` | | 10.0 |
+| `cuImportExternalSemaphore` | | 10.0 |
+| `cuDestroyExternalSemaphore` | | 10.0 |
## **16. Stream Memory Operations**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
-| `cuStreamBatchMemOp` | |
-| `cuStreamWaitValue32` | |
-| `cuStreamWaitValue64` | |
-| `cuStreamWriteValue32` | |
-| `cuStreamWriteValue64` | |
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
+| `cuStreamBatchMemOp` | | 8.0 |
+| `cuStreamWaitValue32` | | 8.0 |
+| `cuStreamWaitValue64` | | 9.0 |
+| `cuStreamWriteValue32` | | 8.0 |
+| `cuStreamWriteValue64` | | 9.0 |
## **17. Execution Control**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
| `cuFuncGetAttribute` | |
-| `cuFuncSetAttribute` | |
+| `cuFuncSetAttribute` | | 9.0 |
| `cuFuncSetCacheConfig` | `hipFuncSetCacheConfig` |
| `cuFuncSetSharedMemConfig` | |
| `cuLaunchKernel` | `hipModuleLaunchKernel` |
-| `cuLaunchHostFunc` | |
-| `cuLaunchCooperativeKernel` | |
-| `cuLaunchCooperativeKernelMultiDevice` | |
+| `cuLaunchHostFunc` | | 10.0 |
+| `cuLaunchCooperativeKernel` | | 9.0 |
+| `cuLaunchCooperativeKernelMultiDevice` | | 9.0 |
## **18. Execution Control [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuFuncSetBlockShape` | |
| `cuFuncSetSharedSize` | |
| `cuLaunch` | |
@@ -1005,58 +1005,58 @@
## **19. Graph Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
-| `cuGraphCreate` | |
-| `cuGraphLaunch` | |
-| `cuGraphAddKernelNode` | |
-| `cuGraphKernelNodeGetParams` | |
-| `cuGraphKernelNodeSetParams` | |
-| `cuGraphAddMemcpyNode` | |
-| `cuGraphMemcpyNodeGetParams` | |
-| `cuGraphMemcpyNodeSetParams` | |
-| `cuGraphAddMemsetNode` | |
-| `cuGraphMemsetNodeGetParams` | |
-| `cuGraphMemsetNodeSetParams` | |
-| `cuGraphAddHostNode` | |
-| `cuGraphHostNodeGetParams` | |
-| `cuGraphHostNodeSetParams` | |
-| `cuGraphAddChildGraphNode` | |
-| `cuGraphChildGraphNodeGetGraph` | |
-| `cuGraphAddEmptyNode` | |
-| `cuGraphClone` | |
-| `cuGraphNodeFindInClone` | |
-| `cuGraphNodeGetType` | |
-| `cuGraphGetNodes` | |
-| `cuGraphGetRootNodes` | |
-| `cuGraphGetEdges` | |
-| `cuGraphNodeGetDependencies` | |
-| `cuGraphNodeGetDependentNodes` | |
-| `cuGraphAddDependencies` | |
-| `cuGraphRemoveDependencies` | |
-| `cuGraphDestroyNode` | |
-| `cuGraphInstantiate` | |
-| `cuGraphExecDestroy` | |
-| `cuGraphExecKernelNodeSetParams` | |
-| `cuGraphDestroy` | |
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
+| `cuGraphCreate` | | 10.0 |
+| `cuGraphLaunch` | | 10.0 |
+| `cuGraphAddKernelNode` | | 10.0 |
+| `cuGraphKernelNodeGetParams` | | 10.0 |
+| `cuGraphKernelNodeSetParams` | | 10.0 |
+| `cuGraphAddMemcpyNode` | | 10.0 |
+| `cuGraphMemcpyNodeGetParams` | | 10.0 |
+| `cuGraphMemcpyNodeSetParams` | | 10.0 |
+| `cuGraphAddMemsetNode` | | 10.0 |
+| `cuGraphMemsetNodeGetParams` | | 10.0 |
+| `cuGraphMemsetNodeSetParams` | | 10.0 |
+| `cuGraphAddHostNode` | | 10.0 |
+| `cuGraphHostNodeGetParams` | | 10.0 |
+| `cuGraphHostNodeSetParams` | | 10.0 |
+| `cuGraphAddChildGraphNode` | | 10.0 |
+| `cuGraphChildGraphNodeGetGraph` | | 10.0 |
+| `cuGraphAddEmptyNode` | | 10.0 |
+| `cuGraphClone` | | 10.0 |
+| `cuGraphNodeFindInClone` | | 10.0 |
+| `cuGraphNodeGetType` | | 10.0 |
+| `cuGraphGetNodes` | | 10.0 |
+| `cuGraphGetRootNodes` | | 10.0 |
+| `cuGraphGetEdges` | | 10.0 |
+| `cuGraphNodeGetDependencies` | | 10.0 |
+| `cuGraphNodeGetDependentNodes` | | 10.0 |
+| `cuGraphAddDependencies` | | 10.0 |
+| `cuGraphRemoveDependencies` | | 10.0 |
+| `cuGraphDestroyNode` | | 10.0 |
+| `cuGraphInstantiate` | | 10.0 |
+| `cuGraphExecDestroy` | | 10.0 |
+| `cuGraphExecKernelNodeSetParams` | | 10.1 |
+| `cuGraphDestroy` | | 10.0 |
## **20. Occupancy**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|---------------------------------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|---------------------------------------------------------|------------------|
| `cuOccupancyMaxActiveBlocksPerMultiprocessor` | `hipOccupancyMaxActiveBlocksPerMultiprocessor` |
| `cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags` | |
| `cuOccupancyMaxPotentialBlockSize` | `hipOccupancyMaxPotentialBlockSize` |
-| `cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags` | |
+| `cuOccupancyMaxPotentialBlockSizeWithFlags` | |
## **21. Texture Reference Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
| `cuTexRefGetAddress` | |
| `cuTexRefGetAddressMode` | |
| `cuTexRefGetArray` | |
-| `cuTexRefGetBorderColor` | |
+| `cuTexRefGetBorderColor` | | 8.0 |
| `cuTexRefGetFilterMode` | |
| `cuTexRefGetFlags` | |
| `cuTexRefGetFormat` | |
@@ -1069,7 +1069,7 @@
| `cuTexRefSetAddress2D` | `hipTexRefSetAddress2D` |
| `cuTexRefSetAddressMode` | `hipTexRefSetAddressMode` |
| `cuTexRefSetArray` | `hipTexRefSetArray` |
-| `cuTexRefSetBorderColor` | |
+| `cuTexRefSetBorderColor` | | 8.0 |
| `cuTexRefSetFilterMode` | `hipTexRefSetFilterMode` |
| `cuTexRefSetFlags` | `hipTexRefSetFlags` |
| `cuTexRefSetFormat` | `hipTexRefSetFormat` |
@@ -1081,22 +1081,22 @@
## **22. Texture Reference Management [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuTexRefCreate` | |
| `cuTexRefDestroy` | |
## **23. Surface Reference Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuSurfRefGetArray` | |
| `cuSurfRefSetArray` | |
## **24. Texture Object Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuTexObjectCreate` | |
| `cuTexObjectDestroy` | |
| `cuTexObjectGetResourceDesc` | |
@@ -1105,25 +1105,25 @@
## **25. Surface Object Management**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuSurfObjectCreate` | |
| `cuSurfObjectDestroy` | |
| `cuSurfObjectGetResourceDesc` | |
## **26. Peer Context Memory Access**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
| `cuCtxEnablePeerAccess` | `hipCtxEnablePeerAccess` |
| `cuCtxDisablePeerAccess` | `hipCtxDisablePeerAccess` |
| `cuDeviceCanAccessPeer` | `hipDeviceCanAccessPeer` |
-| `cuDeviceGetP2PAttribute` | |
+| `cuDeviceGetP2PAttribute` | | 8.0 |
## **27. Graphics Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuGraphicsMapResources` | |
| `cuGraphicsResourceGetMappedMipmappedArray` | |
| `cuGraphicsResourceGetMappedPointer` | |
@@ -1134,24 +1134,24 @@
## **28. Profiler Control**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuProfilerInitialize` | |
| `cuProfilerStart` | `hipProfilerStart` |
| `cuProfilerStop` | `hipProfilerStop` |
## **29. OpenGL Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuGLGetDevices` | |
| `cuGraphicsGLRegisterBuffer` | |
| `cuGraphicsGLRegisterImage` | |
| `cuWGLGetDevice` | |
## **29.1. OpenGL Interoperability [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuGLCtxCreate` | |
| `cuGLInit` | |
| `cuGLMapBufferObject` | |
@@ -1164,8 +1164,8 @@
## **30. Direct3D 9 Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuD3D9CtxCreate` | |
| `cuD3D9CtxCreateOnDevice` | |
| `cuD3D9GetDevice` | |
@@ -1174,8 +1174,8 @@
| `cuGraphicsD3D9RegisterResource` | |
## **30.1. Direct3D 9 Interoperability [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuD3D9MapResources` | |
| `cuD3D9RegisterResource` | |
| `cuD3D9ResourceGetMappedArray` | |
@@ -1189,15 +1189,15 @@
## **31. Direct3D 10 Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuD3D10GetDevice` | |
| `cuD3D10GetDevices` | |
| `cuGraphicsD3D10RegisterResource` | |
## **31.1. Direct3D 10 Interoperability [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuD3D10CtxCreate` | |
| `cuD3D10CtxCreateOnDevice` | |
| `cuD3D10GetDirect3DDevice` | |
@@ -1214,23 +1214,23 @@
## **32. Direct3D 11 Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuD3D11GetDevice` | |
| `cuD3D11GetDevices` | |
| `cuGraphicsD3D11RegisterResource` | |
## **32.1. Direct3D 11 Interoperability [DEPRECATED]**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuD3D11CtxCreate` | |
| `cuD3D11CtxCreateOnDevice` | |
| `cuD3D11GetDirect3DDevice` | |
## **33. VDPAU Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|------------------|
| `cuGraphicsVDPAURegisterOutputSurface` | |
| `cuGraphicsVDPAURegisterVideoSurface` | |
| `cuVDPAUCtxCreate` | |
@@ -1238,17 +1238,19 @@
## **34. EGL Interoperability**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------|
-| `cuEGLStreamConsumerAcquireFrame` | |
-| `cuEGLStreamConsumerConnect` | |
-| `cuEGLStreamConsumerConnectWithFlags` | |
-| `cuEGLStreamConsumerDisconnect` | |
-| `cuEGLStreamConsumerReleaseFrame` | |
-| `cuEGLStreamProducerConnect` | |
-| `cuEGLStreamProducerDisconnect` | |
-| `cuEGLStreamProducerPresentFrame` | |
-| `cuEGLStreamProducerReturnFrame` | |
-| `cuGraphicsEGLRegisterImage` | |
-| `cuGraphicsResourceGetMappedEglFrame` | |
-| `cuEventCreateFromEGLSync` | |
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------|:----------------:|
+| `cuEGLStreamConsumerAcquireFrame` | | 8.0 |
+| `cuEGLStreamConsumerConnect` | | 8.0 |
+| `cuEGLStreamConsumerConnectWithFlags` | | 9.1 |
+| `cuEGLStreamConsumerDisconnect` | | 9.1 |
+| `cuEGLStreamConsumerReleaseFrame` | | 9.1 |
+| `cuEGLStreamProducerConnect` | | 9.1 |
+| `cuEGLStreamProducerDisconnect` | | 9.1 |
+| `cuEGLStreamProducerPresentFrame` | | 9.1 |
+| `cuEGLStreamProducerReturnFrame` | | 9.1 |
+| `cuGraphicsEGLRegisterImage` | | 9.1 |
+| `cuGraphicsResourceGetMappedEglFrame` | | 9.1 |
+| `cuEventCreateFromEGLSync` | | 9.0 |
+
+\* CUDA version, in which API has appeared and (optional) last version before abandoning it; no value in case of earlier versions < 7.5.
diff --git a/docs/markdown/CUFFT_API_supported_by_HIP.md b/docs/markdown/CUFFT_API_supported_by_HIP.md
index 57a9d414b7..4dac167525 100644
--- a/docs/markdown/CUFFT_API_supported_by_HIP.md
+++ b/docs/markdown/CUFFT_API_supported_by_HIP.md
@@ -2,51 +2,51 @@
## **1. CUFFT Data types**
-| **type** | **CUDA** | **HIP** |**HIP value** (if differs) |
-|-------------:|---------------------------------------------------------------|------------------------------------------------------------|---------------------------|
-| enum |***`cufftResult_t`*** |***`hipfftResult_t`*** |
-| enum |***`cufftResult`*** |***`hipfftResult`*** |
-| 0x0 |*`CUFFT_SUCCESS`* |*`HIPFFT_SUCCESS`* | 0 |
-| 0x1 |*`CUFFT_INVALID_PLAN`* |*`HIPFFT_INVALID_PLAN`* | 1 |
-| 0x2 |*`CUFFT_ALLOC_FAILED`* |*`HIPFFT_ALLOC_FAILED`* | 2 |
-| 0x3 |*`CUFFT_INVALID_TYPE`* |*`HIPFFT_INVALID_TYPE`* | 3 |
-| 0x4 |*`CUFFT_INVALID_VALUE`* |*`HIPFFT_INVALID_VALUE`* | 4 |
-| 0x5 |*`CUFFT_INTERNAL_ERROR`* |*`HIPFFT_INTERNAL_ERROR`* | 5 |
-| 0x6 |*`CUFFT_EXEC_FAILED`* |*`HIPFFT_EXEC_FAILED`* | 6 |
-| 0x7 |*`CUFFT_SETUP_FAILED`* |*`HIPFFT_SETUP_FAILED`* | 7 |
-| 0x8 |*`CUFFT_I;NVALID_SIZE`* |*`HIPFFT_INVALID_SIZE`* | 8 |
-| 0x9 |*`CUFFT_UNALIGNED_DATA`* |*`HIPFFT_UNALIGNED_DATA`* | 9 |
-| 0xA |*`CUFFT_INCOMPLETE_PARAMETER_LIST`* |*`HIPFFT_INCOMPLETE_PARAMETER_LIST`* | 10 |
-| 0xB |*`CUFFT_INVALID_DEVICE`* |*`HIPFFT_INVALID_DEVICE`* | 11 |
-| 0xC |*`CUFFT_PARSE_ERROR`* |*`HIPFFT_PARSE_ERROR`* | 12 |
-| 0xD |*`CUFFT_NO_WORKSPACE`* |*`HIPFFT_NO_WORKSPACE`* | 13 |
-| 0xE |*`CUFFT_NOT_IMPLEMENTED`* |*`HIPFFT_NOT_IMPLEMENTED`* | 14 |
-| 0xF |*`CUFFT_LICENSE_ERROR`* | |
-| 0x10 |*`CUFFT_NOT_SUPPORTED`* |*`HIPFFT_NOT_SUPPORTED`* | 16 |
-| float |***`cufftReal`*** |***`hipfftReal`*** |
-| double |***`cufftDoubleReal`*** |***`hipfftDoubleReal`*** |
-| float2 |***`cufftComplex`*** |***`hipfftComplex`*** |
-| double2 |***`cufftDoubleComplex`*** |***`hipfftDoubleComplex`*** |
-| define |`CUFFT_FORWARD` |`HIPFFT_FORWARD` |
-| define |`CUFFT_INVERSE` |`HIPFFT_BACKWARD` |
-| enum |***`cufftType_t`*** |***`hipfftType_t`*** |
-| enum |***`cufftType`*** |***`hipfftType`*** |
-| 0x2a |*`CUFFT_R2C`* |*`HIPFFT_R2C`* |
-| 0x2c |*`CUFFT_C2R`* |*`HIPFFT_C2R`* |
-| 0x29 |*`CUFFT_C2C`* |*`HIPFFT_C2C`* |
-| 0x6a |*`CUFFT_D2Z`* |*`HIPFFT_D2Z`* |
-| 0x6c |*`CUFFT_Z2D`* |*`HIPFFT_Z2D`* |
-| 0x69 |*`CUFFT_Z2Z`* |*`HIPFFT_Z2Z`* |
-| enum |***`cufftCompatibility_t`*** | |
-| enum |***`cufftCompatibility`*** | |
-| 0x01 |*`CUFFT_COMPATIBILITY_FFTW_PADDING`* | |
-| define |`CUFFT_COMPATIBILITY_DEFAULT` | |
-| int |***`cufftHandle`*** |***`hipfftHandle`*** |
+| **type** | **CUDA** |**CUDA version\***| **HIP** |**HIP value** (if differs) |
+|-------------:|---------------------------------------------------------------|:----------------:|------------------------------------------------------------|---------------------------|
+| enum |***`cufftResult_t`*** | |***`hipfftResult_t`*** |
+| enum |***`cufftResult`*** | |***`hipfftResult`*** |
+| 0x0 |*`CUFFT_SUCCESS`* | |*`HIPFFT_SUCCESS`* | 0 |
+| 0x1 |*`CUFFT_INVALID_PLAN`* | |*`HIPFFT_INVALID_PLAN`* | 1 |
+| 0x2 |*`CUFFT_ALLOC_FAILED`* | |*`HIPFFT_ALLOC_FAILED`* | 2 |
+| 0x3 |*`CUFFT_INVALID_TYPE`* | |*`HIPFFT_INVALID_TYPE`* | 3 |
+| 0x4 |*`CUFFT_INVALID_VALUE`* | |*`HIPFFT_INVALID_VALUE`* | 4 |
+| 0x5 |*`CUFFT_INTERNAL_ERROR`* | |*`HIPFFT_INTERNAL_ERROR`* | 5 |
+| 0x6 |*`CUFFT_EXEC_FAILED`* | |*`HIPFFT_EXEC_FAILED`* | 6 |
+| 0x7 |*`CUFFT_SETUP_FAILED`* | |*`HIPFFT_SETUP_FAILED`* | 7 |
+| 0x8 |*`CUFFT_INVALID_SIZE`* | |*`HIPFFT_INVALID_SIZE`* | 8 |
+| 0x9 |*`CUFFT_UNALIGNED_DATA`* | |*`HIPFFT_UNALIGNED_DATA`* | 9 |
+| 0xA |*`CUFFT_INCOMPLETE_PARAMETER_LIST`* | |*`HIPFFT_INCOMPLETE_PARAMETER_LIST`* | 10 |
+| 0xB |*`CUFFT_INVALID_DEVICE`* | |*`HIPFFT_INVALID_DEVICE`* | 11 |
+| 0xC |*`CUFFT_PARSE_ERROR`* | |*`HIPFFT_PARSE_ERROR`* | 12 |
+| 0xD |*`CUFFT_NO_WORKSPACE`* | |*`HIPFFT_NO_WORKSPACE`* | 13 |
+| 0xE |*`CUFFT_NOT_IMPLEMENTED`* | |*`HIPFFT_NOT_IMPLEMENTED`* | 14 |
+| 0xF |*`CUFFT_LICENSE_ERROR`* | | |
+| 0x10 |*`CUFFT_NOT_SUPPORTED`* | 8.0 |*`HIPFFT_NOT_SUPPORTED`* | 16 |
+| float |***`cufftReal`*** | |***`hipfftReal`*** |
+| double |***`cufftDoubleReal`*** | |***`hipfftDoubleReal`*** |
+| float2 |***`cufftComplex`*** | |***`hipfftComplex`*** |
+| double2 |***`cufftDoubleComplex`*** | |***`hipfftDoubleComplex`*** |
+| define |`CUFFT_FORWARD` | |`HIPFFT_FORWARD` |
+| define |`CUFFT_INVERSE` | |`HIPFFT_BACKWARD` |
+| enum |***`cufftType_t`*** | |***`hipfftType_t`*** |
+| enum |***`cufftType`*** | |***`hipfftType`*** |
+| 0x2a |*`CUFFT_R2C`* | |*`HIPFFT_R2C`* |
+| 0x2c |*`CUFFT_C2R`* | |*`HIPFFT_C2R`* |
+| 0x29 |*`CUFFT_C2C`* | |*`HIPFFT_C2C`* |
+| 0x6a |*`CUFFT_D2Z`* | |*`HIPFFT_D2Z`* |
+| 0x6c |*`CUFFT_Z2D`* | |*`HIPFFT_Z2D`* |
+| 0x69 |*`CUFFT_Z2Z`* | |*`HIPFFT_Z2Z`* |
+| enum |***`cufftCompatibility_t`*** | | |
+| enum |***`cufftCompatibility`*** | | |
+| 0x01 |*`CUFFT_COMPATIBILITY_FFTW_PADDING`* | | |
+| define |`CUFFT_COMPATIBILITY_DEFAULT` | | |
+| int |***`cufftHandle`*** | |***`hipfftHandle`*** |
## **2. CUFFT API functions**
-| **CUDA** | **HIP** |
-|-----------------------------------------------------------|-------------------------------------------------|
+| **CUDA** | **HIP** |**CUDA version\***|
+|-----------------------------------------------------------|-------------------------------------------------|:----------------:|
|`cufftPlan1d` |`hipfftPlan1d` |
|`cufftPlan2d` |`hipfftPlan2d` |
|`cufftPlan3d` |`hipfftPlan3d` |
@@ -55,8 +55,8 @@
|`cufftMakePlan2d` |`hipfftMakePlan2d` |
|`cufftMakePlan3d` |`hipfftMakePlan3d` |
|`cufftMakePlanMany` |`hipfftMakePlanMany` |
-|`cufftMakePlanMany64` |`hipfftMakePlanMany64` |
-|`cufftGetSizeMany64` |`hipfftGetSizeMany64` |
+|`cufftMakePlanMany64` |`hipfftMakePlanMany64` | 7.5 |
+|`cufftGetSizeMany64` |`hipfftGetSizeMany64` | 7.5 |
|`cufftEstimate1d` |`hipfftEstimate1d` |
|`cufftEstimate2d` |`hipfftEstimate2d` |
|`cufftEstimate3d` |`hipfftEstimate3d` |
@@ -78,4 +78,4 @@
|`cufftSetStream` |`hipfftSetStream` |
|`cufftDestroy` |`hipfftDestroy` |
|`cufftGetVersion` |`hipfftGetVersion` |
-|`cufftGetProperty` | |
+|`cufftGetProperty` | | 8.0 |
diff --git a/hipify-clang/README.md b/hipify-clang/README.md
index 37cbd8e069..470e5db257 100644
--- a/hipify-clang/README.md
+++ b/hipify-clang/README.md
@@ -32,11 +32,11 @@
## Dependencies
`hipify-clang` requires:
-1. [**LLVM+CLANG**](http://releases.llvm.org) of at least version [3.8.0](http://releases.llvm.org/download.html#3.8.0); the latest stable and recommended release: [**6.0.1**](http://releases.llvm.org/download.html#6.0.1) on **Windows**, and [**8.0.0**](http://releases.llvm.org/download.html#8.0.0) on **Linux**.
+1. [**LLVM+CLANG**](http://releases.llvm.org) of at least version [3.8.0](http://releases.llvm.org/download.html#3.8.0); the latest stable and recommended release: [**6.0.1**](http://releases.llvm.org/download.html#6.0.1) on **Windows**, and [**8.0.1**](http://releases.llvm.org/download.html#8.0.1) on **Linux**.
2. **CUDA** at least version [7.0](https://developer.nvidia.com/cuda-toolkit-70), the latest supported version is [**9.0**](https://developer.nvidia.com/cuda-90-download-archive) on **Windows**, and [**10.0**](https://developer.nvidia.com/cuda-10.0-download-archive) on **Linux**.
-If the target CUDA is [9.1](https://developer.nvidia.com/cuda-91-download-archive), [9.2](https://developer.nvidia.com/cuda-92-download-archive) or [10.0](https://developer.nvidia.com/cuda-10.0-download-archive), to work on Windows you may apply patches*: [for LLVM 7.0.0](patches/patch_for_clang_7.0.0_bug_38811.zip), [for LLVM 7.0.1](patches/patch_for_clang_7.0.1_bug_38811.zip), [for LLVM 8.0.0](patches/patch_for_clang_8.0.0_bug_38811.zip).
+If the target CUDA is [9.1](https://developer.nvidia.com/cuda-91-download-archive), [9.2](https://developer.nvidia.com/cuda-92-download-archive) or [10.0](https://developer.nvidia.com/cuda-10.0-download-archive), to work on Windows you may apply patches* for LLVM: [7.0.0](patches/patch_for_clang_7.0.0_bug_38811.zip), [7.0.1](patches/patch_for_clang_7.0.1_bug_38811.zip), [7.1.0](patches/patch_for_clang_7.1.0_bug_38811.zip), [8.0.0](patches/patch_for_clang_8.0.0_bug_38811.zip), [8.0.1](patches/patch_for_clang_8.0.1_bug_38811.zip).
| **LLVM release version** | **CUDA latest supported version** | **Windows** | **Linux** |
|:----------------------------------------------------------:|:-------------------------------------------------------------------:|:------------:|:---------:|
@@ -54,8 +54,9 @@ If the target CUDA is [9.1](https://developer.nvidia.com/cuda-91-download-archiv
| [7.0.0](http://releases.llvm.org/download.html#7.0.0) | [9.2](https://developer.nvidia.com/cuda-92-download-archive) | -
not working due to
the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811)
+
[patch](patches/patch_for_clang_7.0.0_bug_38811.zip)* | -
not working due to
the clang's bug [36384](https://bugs.llvm.org/show_bug.cgi?id=36384) |
| [7.0.1](http://releases.llvm.org/download.html#7.0.1) | [9.2](https://developer.nvidia.com/cuda-92-download-archive) | -
not working due to
the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811)
+
[patch](patches/patch_for_clang_7.0.1_bug_38811.zip)* | -
not working due to
the clang's bug [36384](https://bugs.llvm.org/show_bug.cgi?id=36384) |
| [7.1.0](http://releases.llvm.org/download.html#7.1.0) | [9.2](https://developer.nvidia.com/cuda-92-download-archive) | -
not working due to
the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811)
+
[patch](patches/patch_for_clang_7.1.0_bug_38811.zip)* | -
not working due to
the clang's bug [36384](https://bugs.llvm.org/show_bug.cgi?id=36384) |
-| [**8.0.0**](http://releases.llvm.org/download.html#8.0.0) | [**10.0**](https://developer.nvidia.com/cuda-10.0-download-archive) | -
not working due to
the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811)
+
[patch](patches/patch_for_clang_8.0.0_bug_38811.zip)* | +
**LATEST STABLE RELEASE** |
-| 8.0.1 | 10.2 | -
LLVM 8.0.1
is not yet released | -
LLVM 8.0.1
is not yet released |
+| [8.0.0](http://releases.llvm.org/download.html#8.0.0) | [10.0](https://developer.nvidia.com/cuda-10.0-download-archive) | -
not working due to
the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811)
+
[patch](patches/patch_for_clang_8.0.0_bug_38811.zip)* | + |
+| [**8.0.1**](http://releases.llvm.org/download.html#8.0.1) | [**10.0**](https://developer.nvidia.com/cuda-10.0-download-archive) | -
not working due to
the clang's bug [38811](https://bugs.llvm.org/show_bug.cgi?id=38811)
+
[patch](patches/patch_for_clang_8.0.1_bug_38811.zip)* | +
**LATEST STABLE RELEASE** |
+| 9.0.0 | 10.1 |
LLVM 9.0.0
is not yet released |
LLVM 9.0.0
is not yet released |
`*` Download the patch and unpack it into your LLVM distributive directory; a few header files will be overwritten; rebuilding of LLVM is not needed.
@@ -152,13 +153,13 @@ To run it:
* Install `lit` into `python`:
- - Linux: `python /srv/git/LLVM/8.0.0/llvm/utils/lit/setup.py install`
+ - Linux: `python /srv/git/LLVM/8.0.1/llvm/utils/lit/setup.py install`
- Windows: `python f:/LLVM/6.0.1/llvm/utils/lit/setup.py install`
* Starting with LLVM 6.0.1 path to `llvm-lit` python script should be specified by the `LLVM_EXTERNAL_LIT` option:
- - Linux: `-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/8.0.0/build/bin/llvm-lit`
+ - Linux: `-DLLVM_EXTERNAL_LIT=/srv/git/LLVM/8.0.1/build/bin/llvm-lit`
- Windows: `-DLLVM_EXTERNAL_LIT=f:/LLVM/6.0.1/build/Release/bin/llvm-lit.py`
@@ -180,7 +181,7 @@ On Linux the following configurations are tested:
Ubuntu 14: LLVM 5.0.0 - 6.0.1, CUDA 7.0 - 9.0, cudnn-5.0.5 - cudnn-7.6.1.34
-Ubuntu 16-18: LLVM 8.0.0, CUDA 8.0 - 10.0, cudnn-5.1.10 - cudnn-7.6.1.34
+Ubuntu 16-18: LLVM 8.0.0 - 8.0.1, CUDA 8.0 - 10.0, cudnn-5.1.10 - cudnn-7.6.1.34
Build system for the above configurations:
@@ -193,10 +194,10 @@ cmake
-DHIPIFY_CLANG_TESTS=1 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=../dist \
- -DCMAKE_PREFIX_PATH=/srv/git/LLVM/8.0.0/dist \
+ -DCMAKE_PREFIX_PATH=/srv/git/LLVM/8.0.1/dist \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0 \
-DCUDA_DNN_ROOT_DIR=/srv/CUDNN/cudnn-10.0-v7.6.1.34 \
- -DLLVM_EXTERNAL_LIT=/srv/git/LLVM/8.0.0/build/bin/llvm-lit \
+ -DLLVM_EXTERNAL_LIT=/srv/git/LLVM/8.0.1/build/bin/llvm-lit \
..
```
*A corresponding successful output:*
@@ -215,14 +216,14 @@ cmake
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--- Found LLVM 8.0.0:
--- - CMake module path: /srv/git/LLVM/8.0.0/dist/lib/cmake/llvm
--- - Include path : /srv/git/LLVM/8.0.0/dist/include
--- - Binary path : /srv/git/LLVM/8.0.0/dist/bin
+-- Found LLVM 8.0.1:
+-- - CMake module path: /srv/git/LLVM/8.0.1/dist/lib/cmake/llvm
+-- - Include path : /srv/git/LLVM/8.0.1/dist/include
+-- - Binary path : /srv/git/LLVM/8.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/8.0.0/dist/bin/FileCheck
+-- Found FileCheck: /srv/git/LLVM/8.0.1/dist/bin/FileCheck
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
@@ -245,64 +246,67 @@ make test-hipify
Running HIPify regression tests
========================================
CUDA 10.0 - will be used for testing
-LLVM 8.0.0 - will be used for testing
+LLVM 8.0.1 - will be used for testing
x86_64 - Platform architecture
Linux 4.13.0-32-generic - Platform OS
64 - hipify-clang binary bitness
64 - python 2.7.12 binary bitness
========================================
--- Testing: 49 tests, 12 threads --
-PASS: hipify :: unit_tests/headers/headers_test_01.cu (1 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_03.cu (2 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_02.cu (3 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_05.cu (4 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_06.cu (5 of 49)
-PASS: hipify :: unit_tests/libraries/cuBLAS/cublas_0_based_indexing.cu (6 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_07.cu (7 of 49)
-PASS: hipify :: unit_tests/libraries/CAFFE2/caffe2_02.cu (8 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_04.cu (9 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_08.cu (10 of 49)
-PASS: hipify :: unit_tests/libraries/cuBLAS/cublas_1_based_indexing.cu (11 of 49)
-PASS: hipify :: unit_tests/libraries/cuBLAS/rocBLAS/cublas_1_based_indexing_rocblas.cu (12 of 49)
-PASS: hipify :: unit_tests/libraries/cuBLAS/cublas_sgemm_matrix_multiplication.cu (13 of 49)
-PASS: hipify :: unit_tests/libraries/cuBLAS/rocBLAS/cublas_0_based_indexing_rocblas.cu (14 of 49)
-PASS: hipify :: unit_tests/libraries/cuComplex/cuComplex_Julia.cu (15 of 49)
-PASS: hipify :: unit_tests/libraries/cuDNN/cudnn_softmax.cu (16 of 49)
-PASS: hipify :: unit_tests/libraries/cuFFT/simple_cufft.cu (17 of 49)
-PASS: hipify :: unit_tests/libraries/cuBLAS/rocBLAS/cublas_sgemm_matrix_multiplication_rocblas.cu (18 of 49)
-PASS: hipify :: unit_tests/libraries/CAFFE2/caffe2_01.cu (19 of 49)
-PASS: hipify :: unit_tests/libraries/cuRAND/poisson_api_example.cu (20 of 49)
-PASS: hipify :: unit_tests/libraries/cuDNN/cudnn_convolution_forward.cu (21 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_01.cu (22 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_02.cu (23 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_04.cu (24 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_03.cu (25 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_06.cu (26 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_05.cu (27 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_07.cu (28 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_08.cu (29 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_11.cu (30 of 49)
-PASS: hipify :: unit_tests/headers/headers_test_09.cu (31 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_10.cu (32 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_09.cu (33 of 49)
-PASS: hipify :: unit_tests/samples/2_Cookbook/0_MatrixTranspose/MatrixTranspose.cpp (34 of 49)
-PASS: hipify :: unit_tests/samples/2_Cookbook/2_Profiler/Profiler.cpp (35 of 49)
-PASS: hipify :: unit_tests/samples/2_Cookbook/1_hipEvent/hipEvent.cpp (36 of 49)
-PASS: hipify :: unit_tests/samples/allocators.cu (37 of 49)
-PASS: hipify :: unit_tests/samples/coalescing.cu (38 of 49)
-PASS: hipify :: unit_tests/samples/dynamic_shared_memory.cu (39 of 49)
-PASS: hipify :: unit_tests/samples/intro.cu (40 of 49)
-PASS: hipify :: unit_tests/libraries/cuRAND/benchmark_curand_generate.cpp (41 of 49)
-PASS: hipify :: unit_tests/samples/2_Cookbook/7_streams/stream.cpp (42 of 49)
-PASS: hipify :: unit_tests/samples/square.cu (43 of 49)
-PASS: hipify :: unit_tests/samples/static_shared_memory.cu (44 of 49)
-PASS: hipify :: unit_tests/samples/axpy.cu (45 of 49)
-PASS: hipify :: unit_tests/samples/vec_add.cu (46 of 49)
-PASS: hipify :: unit_tests/samples/cudaRegister.cu (47 of 49)
-PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_12.cu (48 of 49)
-PASS: hipify :: unit_tests/libraries/cuRAND/benchmark_curand_kernel.cpp (49 of 49)
-Testing Time: 2.82s
- Expected Passes : 49
+-- Testing: 52 tests, 12 threads --
+PASS: hipify :: unit_tests/headers/headers_test_03.cu (1 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_02.cu (2 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_01.cu (3 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_05.cu (4 of 52)
+PASS: hipify :: unit_tests/libraries/CAFFE2/caffe2_02.cu (5 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_07.cu (6 of 52)
+PASS: hipify :: unit_tests/libraries/cuBLAS/cublas_0_based_indexing.cu (7 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_06.cu (8 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_04.cu (9 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_08.cu (10 of 52)
+PASS: hipify :: unit_tests/libraries/cuBLAS/cublas_sgemm_matrix_multiplication.cu (11 of 52)
+PASS: hipify :: unit_tests/libraries/cuBLAS/rocBLAS/cublas_0_based_indexing_rocblas.cu (12 of 52)
+PASS: hipify :: unit_tests/libraries/cuComplex/cuComplex_Julia.cu (13 of 52)
+PASS: hipify :: unit_tests/libraries/cuBLAS/cublas_1_based_indexing.cu (14 of 52)
+PASS: hipify :: unit_tests/libraries/cuBLAS/rocBLAS/cublas_1_based_indexing_rocblas.cu (15 of 52)
+PASS: hipify :: unit_tests/libraries/cuDNN/cudnn_softmax.cu (16 of 52)
+PASS: hipify :: unit_tests/libraries/cuBLAS/rocBLAS/cublas_sgemm_matrix_multiplication_rocblas.cu (17 of 52)
+PASS: hipify :: unit_tests/libraries/cuFFT/simple_cufft.cu (18 of 52)
+PASS: hipify :: unit_tests/libraries/CAFFE2/caffe2_01.cu (19 of 52)
+PASS: hipify :: unit_tests/libraries/cuDNN/cudnn_convolution_forward.cu (20 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_03.cu (21 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_02.cu (22 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_01.cu (23 of 52)
+PASS: hipify :: unit_tests/libraries/cuRAND/poisson_api_example.cu (24 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_04.cu (25 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_05.cu (26 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_06.cu (27 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_07.cu (28 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/11_texture_driver/tex2dKernel.cpp (29 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_08.cu (30 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_09.cu (31 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_11.cu (32 of 52)
+PASS: hipify :: unit_tests/headers/headers_test_09.cu (33 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_10.cu (34 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/0_MatrixTranspose/MatrixTranspose.cpp (35 of 52)
+PASS: hipify :: unit_tests/samples/allocators.cu (36 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/11_texture_driver/texture2dDrv.cpp (37 of 52)
+PASS: hipify :: unit_tests/samples/coalescing.cu (38 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/1_hipEvent/hipEvent.cpp (39 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/2_Profiler/Profiler.cpp (40 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/7_streams/stream.cpp (41 of 52)
+PASS: hipify :: unit_tests/libraries/cuRAND/benchmark_curand_generate.cpp (42 of 52)
+PASS: hipify :: unit_tests/samples/axpy.cu (43 of 52)
+PASS: hipify :: unit_tests/samples/2_Cookbook/8_peer2peer/peer2peer.cpp (44 of 52)
+PASS: hipify :: unit_tests/samples/dynamic_shared_memory.cu (45 of 52)
+PASS: hipify :: unit_tests/samples/intro.cu (46 of 52)
+PASS: hipify :: unit_tests/samples/square.cu (47 of 52)
+PASS: hipify :: unit_tests/samples/cudaRegister.cu (48 of 52)
+PASS: hipify :: unit_tests/samples/vec_add.cu (49 of 52)
+PASS: hipify :: unit_tests/libraries/cuSPARSE/cuSPARSE_12.cu (50 of 52)
+PASS: hipify :: unit_tests/samples/static_shared_memory.cu (51 of 52)
+PASS: hipify :: unit_tests/libraries/cuRAND/benchmark_curand_kernel.cpp (52 of 52)
+Testing Time: 3.05s
+ Expected Passes : 52
[100%] Built target test-hipify
```
### Windows
@@ -313,11 +317,11 @@ LLVM 5.0.0 - 5.0.2, CUDA 8.0, cudnn-5.1.10 - cudnn-7.1.4.18
LLVM 6.0.0 - 6.0.1, CUDA 9.0, cudnn-7.0.5.15 - cudnn-7.6.1.34
-LLVM 7.0.0 - 8.0.0 (with patch*), CUDA 7.5 - 10.0, cudnn-7.0.5.15 - cudnn-7.6.1.34
+LLVM 7.0.0 - 8.0.1 (with patch*), CUDA 7.5 - 10.0, cudnn-7.0.5.15 - cudnn-7.6.1.34
Build system for the above configurations:
-Python 3.6 (min), cmake 3.12.3 (min), Visual Studio 15.5.2 2017 - 16.0.4 2019.
+Python 3.6 (min), cmake 3.12.3 (min), Visual Studio 15.5.2 2017 - 16.1.6 2019.
Here is an example of building `hipify-clang` with testing support on `Windows 10` by `Visual Studio 15 2017`:
diff --git a/hipify-clang/patches/patch_for_clang_8.0.1_bug_38811.zip b/hipify-clang/patches/patch_for_clang_8.0.1_bug_38811.zip
new file mode 100644
index 0000000000..16d66a2062
Binary files /dev/null and b/hipify-clang/patches/patch_for_clang_8.0.1_bug_38811.zip differ
diff --git a/lpl_ca/ca.hpp b/lpl_ca/ca.hpp
index 0ef8458c20..db63f02498 100644
--- a/lpl_ca/ca.hpp
+++ b/lpl_ca/ca.hpp
@@ -23,7 +23,7 @@ inline clara::Parser cmdline_parser(bool& help, std::vector& inputs
"https://reviews.llvm.org/D13909; "
"the code object format is documented at: "
"https://www.llvm.org/docs/AMDGPUUsage.html#code-object.") |
- clara::Opt{targets, "gfx803,gfx900,gfx906 etc."}["-t"]["--targets"](
+ clara::Opt{targets, "gfx803,gfx900,gfx906,gfx908 etc."}["-t"]["--targets"](
"targets for which code objects are to be extracted from "
"the fat binary; must be included in the set of processors "
"with ROCm support from "
diff --git a/lpl_ca/common.hpp b/lpl_ca/common.hpp
index 7652f08c46..2622a8f76b 100644
--- a/lpl_ca/common.hpp
+++ b/lpl_ca/common.hpp
@@ -12,7 +12,7 @@ namespace hip_impl {
inline const std::unordered_set& amdgpu_targets() { // The evolving list lives at:
// https://www.llvm.org/docs/AMDGPUUsage.html#processors.
static const std::unordered_set r{"gfx701", "gfx801", "gfx802", "gfx803",
- "gfx900", "gfx906"};
+ "gfx900", "gfx906", "gfx908"};
return r;
}
diff --git a/lpl_ca/lpl.hpp b/lpl_ca/lpl.hpp
index 3eeb88bd22..941f30123a 100644
--- a/lpl_ca/lpl.hpp
+++ b/lpl_ca/lpl.hpp
@@ -132,7 +132,7 @@ inline clara::Parser cmdline_parser(bool& help, std::vector& source
"file is documented at: https://reviews.llvm.org/D13909.") |
clara::Arg{sources,
"a.cpp b.cpp etc."}("inputs for compilation; must contain valid C++ code.") |
- clara::Opt{targets, "gfx803,gfx900,gfx906 etc."}["-t"]["--targets"](
+ clara::Opt{targets, "gfx803,gfx900,gfx906,gfx908 etc."}["-t"]["--targets"](
"targets for AMDGPU lowering; must be included in the set "
"of processors with ROCm support from "
"https://www.llvm.org/docs/AMDGPUUsage.html#processors.");
diff --git a/tests/src/deviceLib/hipMathFunctions.cpp b/tests/src/deviceLib/hipMathFunctions.cpp
index 6553094603..dc064da189 100644
--- a/tests/src/deviceLib/hipMathFunctions.cpp
+++ b/tests/src/deviceLib/hipMathFunctions.cpp
@@ -29,7 +29,7 @@ THE SOFTWARE.
#include "hip/hip_runtime.h"
#include "test_common.h"
-#if __HIP_ARCH_GFX803__ || __HIP_ARCH_GFX900__ || __HIP_ARCH_GFX906__
+#if __HIP_ARCH_GFX803__ || __HIP_ARCH_GFX900__ || __HIP_ARCH_GFX906__ || __HIP_ARCH_GFX908__
__global__ void kernel_abs_int64(long long *input, long long *output) {
int tx = threadIdx.x;
diff --git a/tests/src/deviceLib/hipTestHalf.cpp b/tests/src/deviceLib/hipTestHalf.cpp
index 96447960c1..d48ce9b4f6 100644
--- a/tests/src/deviceLib/hipTestHalf.cpp
+++ b/tests/src/deviceLib/hipTestHalf.cpp
@@ -28,7 +28,7 @@ THE SOFTWARE.
#include "test_common.h"
-#if __HIP_ARCH_GFX803__ || __HIP_ARCH_GFX900__ || __HIP_ARCH_GFX906__
+#if __HIP_ARCH_GFX803__ || __HIP_ARCH_GFX900__ || __HIP_ARCH_GFX906__ || __HIP_ARCH_GFX908__
__global__
void __halfMath(bool* result, __half a) {
diff --git a/tests/src/deviceLib/hipTestNativeHalf.cpp b/tests/src/deviceLib/hipTestNativeHalf.cpp
index 17aa54a4cf..55213d446d 100644
--- a/tests/src/deviceLib/hipTestNativeHalf.cpp
+++ b/tests/src/deviceLib/hipTestNativeHalf.cpp
@@ -32,7 +32,7 @@ THE SOFTWARE.
using namespace std;
-#if __HIP_ARCH_GFX803__ || __HIP_ARCH_GFX900__ || __HIP_ARCH_GFX906__
+#if __HIP_ARCH_GFX803__ || __HIP_ARCH_GFX900__ || __HIP_ARCH_GFX906__ || __HIP_ARCH_GFX908__
__global__
void __halfTest(bool* result, __half a) {
diff --git a/tests/src/dynamicLoading/complex_loading_behavior.cpp b/tests/src/dynamicLoading/complex_loading_behavior.cpp
index ebf532a5c4..6ee21a9cad 100644
--- a/tests/src/dynamicLoading/complex_loading_behavior.cpp
+++ b/tests/src/dynamicLoading/complex_loading_behavior.cpp
@@ -21,7 +21,8 @@ THE SOFTWARE.
*/
/* HIT_START
- * BUILD_CMD: libfoo %hc %S/%s -o libfoo.so -fPIC -lpthread -shared -DTEST_SHARED_LIBRARY
+ * BUILD_CMD: libfoo_amd %hc %S/%s -o libfoo.so -fPIC -lpthread -shared -DTEST_SHARED_LIBRARY EXCLUDE_HIP_PLATFORM nvcc
+ * BUILD_CMD: libfoo_nvidia %hc %S/%s -o libfoo.so -Xcompiler -fPIC -lpthread -shared -DTEST_SHARED_LIBRARY EXCLUDE_HIP_PLATFORM hcc
* BUILD_CMD: %t %hc %S/%s -o %T/%t -ldl
* TEST: %t
* HIT_END
diff --git a/tests/src/runtimeApi/memory/hipMemcpy.cpp b/tests/src/runtimeApi/memory/hipMemcpy.cpp
index c8ee170336..208f263ab5 100644
--- a/tests/src/runtimeApi/memory/hipMemcpy.cpp
+++ b/tests/src/runtimeApi/memory/hipMemcpy.cpp
@@ -34,6 +34,13 @@ THE SOFTWARE.
#include "hip/hip_runtime.h"
#include "test_common.h"
+#ifdef _WIN32
+#define WIN32_LEAN_AND_MEAN
+#include
+#else
+#include "sys/types.h"
+#include "sys/sysinfo.h"
+#endif
void printSep() {
printf(
@@ -280,6 +287,26 @@ void memcpytest2_for_type(size_t numElements) {
}
}
+#ifdef _WIN32
+void memcpytest2_get_host_memory(size_t& free, size_t& total) {
+ MEMORYSTATUSEX status;
+ status.dwLength = sizeof(status);
+ GlobalMemoryStatusEx(&status);
+ free = status.ullAvailPhys;
+ total = status.ullTotalPhys;
+}
+#else
+struct sysinfo memInfo;
+void memcpytest2_get_host_memory(size_t& free, size_t& total) {
+ sysinfo(&memInfo);
+ long long freePhysMem=memInfo.freeram;
+ freePhysMem *= memInfo.mem_unit;
+ free = freePhysMem;
+ long long totalPhysMem=memInfo.totalram;
+ totalPhysMem *= memInfo.mem_unit;
+ total = totalPhysMem;
+}
+#endif
//---
// Try many different sizes to memory copy.
@@ -291,12 +318,20 @@ void memcpytest2_sizes(size_t maxElem = 0) {
int deviceId;
HIPCHECK(hipGetDevice(&deviceId));
- size_t free, total;
+ size_t free, total, freeCPU, totalCPU;
HIPCHECK(hipMemGetInfo(&free, &total));
+ memcpytest2_get_host_memory(freeCPU, totalCPU);
if (maxElem == 0) {
- maxElem = free / sizeof(T) / 8;
+ // Use lesser maxElem if not enough host memory available
+ size_t maxElemGPU = free / sizeof(T) / 8;
+ size_t maxElemCPU = freeCPU / sizeof(T) / 8;
+ maxElem = maxElemGPU < maxElemCPU ? maxElemGPU : maxElemCPU;
}
+ printf(
+ " Host: free=%zu (%4.2fMB) total=%zu (%4.2fMB)\n",
+ freeCPU, (float)(freeCPU / 1024.0 / 1024.0),
+ totalCPU, (float)(totalCPU / 1024.0 / 1024.0));
printf(
" device#%d: hipMemGetInfo: free=%zu (%4.2fMB) total=%zu (%4.2fMB) maxSize=%6.1fMB\n",
diff --git a/tests/src/runtimeApi/module/hipLaunchMultiKernelMultiDevice.cpp b/tests/src/runtimeApi/module/hipLaunchMultiKernelMultiDevice.cpp
new file mode 100644
index 0000000000..1c8da2e385
--- /dev/null
+++ b/tests/src/runtimeApi/module/hipLaunchMultiKernelMultiDevice.cpp
@@ -0,0 +1,140 @@
+/*
+Copyright (c) 2019 - present 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.
+*/
+// Simple test for hipExtLaunchMultiKernelMultiDevice API. It can be tested on
+// single GPU or multi GPUs.
+
+/* HIT_START
+ * BUILD: %t %s ../../test_common.cpp EXCLUDE_HIP_PLATFORM nvcc
+ * TEST: %t
+ * HIT_END
+ */
+
+#include "hip/hip_runtime.h"
+#include "test_common.h"
+#include
+
+#define MAX_GPUS 8
+/*
+ * Square each element in the array A and write to array C.
+ */
+#define NUM_KERNEL_ARGS 3
+__global__ void
+vector_square(float *C_d, float *A_d, size_t N)
+{
+ size_t offset = (blockIdx.x * blockDim.x + threadIdx.x);
+ size_t stride = blockDim.x * gridDim.x ;
+
+ for (size_t i = offset; i < N; i += stride) {
+ C_d[i] = A_d[i] * A_d[i];
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ float *A_d[MAX_GPUS], *C_d[MAX_GPUS];
+ float *A_h, *C_h;
+ size_t N = 1000000;
+ size_t Nbytes = N * sizeof(float);
+
+ int nGpu = 0;
+ HIPCHECK(hipGetDeviceCount(&nGpu));
+ if (nGpu < 1) {
+ printf ("info: didn't find any GPU!\n");
+ return 0;
+ }
+ if (nGpu > MAX_GPUS) {
+ nGpu = MAX_GPUS;
+ }
+
+ printf ("info: allocate host mem (%6.2f MB)\n", 2*Nbytes/1024.0/1024.0);
+ A_h = (float*)malloc(Nbytes);
+ HIPCHECK(A_h == 0 ? hipErrorMemoryAllocation : hipSuccess );
+ C_h = (float*)malloc(Nbytes);
+ HIPCHECK(C_h == 0 ? hipErrorMemoryAllocation : hipSuccess );
+ // Fill with Phi + i
+ for (size_t i = 0; i < N; i++)
+ {
+ A_h[i] = 1.618f + i;
+ }
+
+ const unsigned blocks = 512;
+ const unsigned threadsPerBlock = 256;
+
+ hipStream_t stream[MAX_GPUS];
+ for (int i = 0; i < nGpu; i++) {
+ HIPCHECK(hipSetDevice(i));
+ HIPCHECK(hipStreamCreateWithFlags(&stream[i], hipStreamNonBlocking));
+
+ hipDeviceProp_t props;
+ HIPCHECK(hipGetDeviceProperties(&props, i/*deviceID*/));
+ printf ("info: running on bus 0x%2x %s\n", props.pciBusID, props.name);
+
+ printf ("info: allocate device mem (%6.2f MB)\n", 2*Nbytes/1024.0/1024.0);
+ HIPCHECK(hipMalloc(&A_d[i], Nbytes));
+ HIPCHECK(hipMalloc(&C_d[i], Nbytes));
+
+
+ printf ("info: copy Host2Device\n");
+ HIPCHECK ( hipMemcpy(A_d[i], A_h, Nbytes, hipMemcpyHostToDevice));
+ }
+
+ hipLaunchParams *launchParamsList = reinterpret_cast(
+ malloc(sizeof(hipLaunchParams)*nGpu));
+
+ void *args[MAX_GPUS * NUM_KERNEL_ARGS];
+
+ for (int i = 0; i < nGpu; i++) {
+ args[i * NUM_KERNEL_ARGS] = &C_d[i];
+ args[i * NUM_KERNEL_ARGS + 1] = &A_d[i];
+ args[i * NUM_KERNEL_ARGS + 2] = &N;
+ launchParamsList[i].func =
+ reinterpret_cast(vector_square);
+ launchParamsList[i].gridDim = dim3(blocks);
+ launchParamsList[i].blockDim = dim3(threadsPerBlock);
+ launchParamsList[i].sharedMem = 0;
+ launchParamsList[i].stream = stream[i];
+ launchParamsList[i].args = args + i * NUM_KERNEL_ARGS;
+ }
+
+ printf ("info: launch vector_square kernel with hipExtLaunchMultiKernelMultiDevice API\n");
+ hipExtLaunchMultiKernelMultiDevice(launchParamsList, nGpu, 0);
+
+ for (int j = 0; j < nGpu; j++) {
+ hipStreamSynchronize(stream[j]);
+
+ hipDeviceProp_t props;
+ HIPCHECK(hipGetDeviceProperties(&props, j/*deviceID*/));
+ printf ("info: checking result on bus 0x%2x %s\n", props.pciBusID, props.name);
+
+ printf ("info: copy Device2Host\n");
+ HIPCHECK( hipMemcpy(C_h, C_d[j], Nbytes, hipMemcpyDeviceToHost));
+
+ printf ("info: check result\n");
+ for (size_t i = 0; i < N; i++) {
+ if (C_h[i] != A_h[i] * A_h[i]) {
+ HIPCHECK(hipErrorUnknown);
+ }
+ }
+ }
+
+ printf ("PASSED!\n");
+}