diff --git a/docs/markdown/CUBLAS_API_supported_by_HIP.md b/docs/markdown/CUBLAS_API_supported_by_HIP.md deleted file mode 100644 index 3aac9f126e..0000000000 --- a/docs/markdown/CUBLAS_API_supported_by_HIP.md +++ /dev/null @@ -1,538 +0,0 @@ -# CUBLAS API supported by HIP - -## **1. CUBLAS Data types** - -| **type** | **CUDA** |**CUDA version\***| **HIP** |**HIP value** (if differs) | -|-------------:|---------------------------------------------------------------|:----------------:|------------------------------------------------------------|---------------------------| -| define |`CUBLAS_VER_MAJOR` | 10.1 Update 2 | | -| define |`CUBLAS_VER_MINOR` | 10.1 Update 2 | | -| define |`CUBLAS_VER_PATCH` | 10.1 Update 2 | | -| define |`CUBLAS_VER_BUILD` | 10.1 Update 2 | | -| define |`CUBLAS_VERSION` | 10.1 Update 2 | | -| 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 version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cublasCreate` |`hipblasCreate` | -|`cublasCreate_v2` |`hipblasCreate` | -|`cublasDestroy` |`hipblasDestroy` | -|`cublasDestroy_v2` |`hipblasDestroy` | -|`cublasGetVersion` | | -|`cublasGetVersion_v2` | | -|`cublasGetProperty` | | 8.0 | -|`cublasGetCudartVersion` | | 10.1 | -|`cublasGetStream` |`hipblasGetStream` | -|`cublasGetStream_v2` |`hipblasGetStream` | -|`cublasSetStream` |`hipblasSetStream` | -|`cublasSetStream_v2` |`hipblasSetStream` | -|`cublasGetPointerMode` |`hipblasGetPointerMode` | -|`cublasGetPointerMode_v2` |`hipblasGetPointerMode` | -|`cublasSetPointerMode` |`hipblasSetPointerMode` | -|`cublasSetPointerMode_v2` |`hipblasSetPointerMode` | -|`cublasGetAtomicsMode` | | -|`cublasSetAtomicsMode` | | -|`cublasGetMathMode` | | 9.0 | -|`cublasSetMathMode` | | 9.0 | -|`cublasLogCallback` | | 9.2 | -|`cublasLoggerConfigure` | | 9.2 | -|`cublasSetLoggerCallback` | | 9.2 | -|`cublasGetLoggerCallback` | | 9.2 | -|`cublasSetVector` |`hipblasSetVector` | -|`cublasGetVector` |`hipblasGetVector` | -|`cublasSetMatrix` |`hipblasSetMatrix` | -|`cublasGetMatrix` |`hipblasGetMatrix` | -|`cublasSetVectorAsync` | | -|`cublasGetVectorAsync` | | -|`cublasSetMatrixAsync` | | -|`cublasGetMatrixAsync` | | -|`cublasXerbla` | | -|`cublasNrm2Ex` | | 8.0 | -|`cublasSnrm2` |`hipblasSnrm2` | -|`cublasSnrm2_v2` |`hipblasSnrm2` | -|`cublasDnrm2` |`hipblasDnrm2` | -|`cublasDnrm2_v2` |`hipblasDnrm2` | -|`cublasScnrm2` |`hipblasScnrm2` | -|`cublasScnrm2_v2` |`hipblasScnrm2` | -|`cublasDznrm2` |`hipblasDznrm2` | -|`cublasDznrm2_v2` |`hipblasDznrm2` | -|`cublasDotEx` | | 8.0 | -|`cublasDotcEx` | | 8.0 | -|`cublasSdot` |`hipblasSdot` | -|`cublasSdot_v2` |`hipblasSdot` | -|`cublasDdot` |`hipblasDdot` | -|`cublasDdot_v2` |`hipblasDdot` | -|`cublasCdotu` |`hipblasCdotu` | -|`cublasCdotu_v2` |`hipblasCdotu` | -|`cublasCdotc` |`hipblasCdotc` | -|`cublasCdotc_v2` |`hipblasCdotc` | -|`cublasZdotu` |`hipblasZdotu` | -|`cublasZdotu_v2` |`hipblasZdotu` | -|`cublasZdotc` |`hipblasZdotc` | -|`cublasZdotc_v2` |`hipblasZdotc` | -|`cublasScalEx` | | 8.0 | -|`cublasSscal` |`hipblasSscal` | -|`cublasSscal_v2` |`hipblasSscal` | -|`cublasDscal` |`hipblasDscal` | -|`cublasDscal_v2` |`hipblasDscal` | -|`cublasCscal` |`hipblasCscal` | -|`cublasCscal_v2` |`hipblasCscal` | -|`cublasCsscal` |`hipblasCsscal` | -|`cublasCsscal_v2` |`hipblasCsscal` | -|`cublasZscal` |`hipblasZscal` | -|`cublasZscal_v2` |`hipblasZscal` | -|`cublasZdscal` |`hipblasZdscal` | -|`cublasZdscal_v2` |`hipblasZdscal` | -|`cublasAxpyEx` | | 8.0 | -|`cublasSaxpy` |`hipblasSaxpy` | -|`cublasSaxpy_v2` |`hipblasSaxpy` | -|`cublasDaxpy` |`hipblasDaxpy` | -|`cublasDaxpy_v2` |`hipblasDaxpy` | -|`cublasCaxpy` |`hipblasCaxpy` | -|`cublasCaxpy_v2` |`hipblasCaxpy` | -|`cublasZaxpy` |`hipblasZaxpy` | -|`cublasZaxpy_v2` |`hipblasZaxpy` | -|`cublasScopy` |`hipblasScopy` | -|`cublasScopy_v2` |`hipblasScopy` | -|`cublasDcopy` |`hipblasDcopy` | -|`cublasDcopy_v2` |`hipblasDcopy` | -|`cublasCcopy` |`hipblasCcopy` | -|`cublasCopyEx` | | 10.1 | -|`cublasCcopy_v2` |`hipblasCcopy` | -|`cublasZcopy` |`hipblasZcopy` | -|`cublasZcopy_v2` |`hipblasZcopy` | -|`cublasSswap` |`hipblasSswap` | -|`cublasSswap_v2` |`hipblasSswap` | -|`cublasDswap` |`hipblasDswap` | -|`cublasDswap_v2` |`hipblasDswap` | -|`cublasCswap` |`hipblasCswap` | -|`cublasCswap_v2` |`hipblasCswap` | -|`cublasZswap` |`hipblasZswap` | -|`cublasZswap_v2` |`hipblasZswap` | -|`cublasIamaxEx` | | 10.1 | -|`cublasIsamax` |`hipblasIsamax` | -|`cublasIsamax_v2` |`hipblasIsamax` | -|`cublasIdamax` |`hipblasIdamax` | -|`cublasIdamax_v2` |`hipblasIdamax` | -|`cublasIcamax` |`hipblasIcamax` | -|`cublasIcamax_v2` |`hipblasIcamax` | -|`cublasIzamax` |`hipblasIzamax` | -|`cublasIzamax_v2` |`hipblasIzamax` | -|`cublasIaminEx` | | 10.1 | -|`cublasIsamin` |`hipblasIsamin` | -|`cublasIsamin_v2` |`hipblasIsamin` | -|`cublasIdamin` |`hipblasIdamin` | -|`cublasIdamin_v2` |`hipblasIdamin` | -|`cublasIcamin` |`hipblasIcamin` | -|`cublasIcamin_v2` |`hipblasIcamin` | -|`cublasIzamin` |`hipblasIzamin` | -|`cublasIzamin_v2` |`hipblasIzamin` | -|`cublasAsumEx` | | 10.1 | -|`cublasSasum` |`hipblasSasum` | -|`cublasSasum_v2` |`hipblasSasum` | -|`cublasDasum` |`hipblasDasum` | -|`cublasDasum_v2` |`hipblasDasum` | -|`cublasScasum` |`hipblasScasum` | -|`cublasScasum_v2` |`hipblasScasum` | -|`cublasDzasum` |`hipblasDzasum` | -|`cublasDzasum_v2` |`hipblasDzasum` | -|`cublasRotEx` | | 10.1 | -|`cublasSrot` |`hipblasSrot` | -|`cublasSrot_v2` |`hipblasSrot` | -|`cublasDrot` |`hipblasDrot` | -|`cublasDrot_v2` |`hipblasDrot` | -|`cublasCrot` |`hipblasCrot` | -|`cublasCrot_v2` |`hipblasCrot` | -|`cublasCsrot` |`hipblasCsrot` | -|`cublasCsrot_v2` |`hipblasCsrot` | -|`cublasZrot` |`hipblasZrot` | -|`cublasZrot_v2` |`hipblasZrot` | -|`cublasRotgEx` | | 10.1 | -|`cublasZdrot` |`hipblasZdrot` | -|`cublasZdrot_v2` |`hipblasZdrot` | -|`cublasSrotg` |`hipblasSrotg` | -|`cublasSrotg_v2` |`hipblasSrotg` | -|`cublasDrotg` |`hipblasDrotg` | -|`cublasDrotg_v2` |`hipblasDrotg` | -|`cublasCrotg` |`hipblasCrotg` | -|`cublasCrotg_v2` |`hipblasCrotg` | -|`cublasZrotg` |`hipblasZrotg` | -|`cublasZrotg_v2` |`hipblasZrotg` | -|`cublasRotmEx` | | 10.1 | -|`cublasSrotm` |`hipblasSrotm` | -|`cublasSrotm_v2` |`hipblasSrotm` | -|`cublasDrotm` |`hipblasDrotm` | -|`cublasDrotm_v2` |`hipblasDrotm` | -|`cublasRotmgEx` | | 10.1 | -|`cublasSrotmg` |`hipblasSrotmg` | -|`cublasSrotmg_v2` |`hipblasSrotmg` | -|`cublasDrotmg` |`hipblasDrotmg` | -|`cublasDrotmg_v2` |`hipblasDrotmg` | -|`cublasSgemv` |`hipblasSgemv` | -|`cublasSgemv_v2` |`hipblasSgemv` | -|`cublasSgemvBatched` |`hipblasSgemvBatched` | -|`cublasDgemv` |`hipblasDgemv` | -|`cublasDgemv_v2` |`hipblasDgemv` | -|`cublasCgemv` |`hipblasCgemv` | -|`cublasCgemv_v2` |`hipblasCgemv` | -|`cublasZgemv` |`hipblasZgemv` | -|`cublasZgemv_v2` |`hipblasZgemv` | -|`cublasSgbmv` | | -|`cublasSgbmv_v2` | | -|`cublasDgbmv` | | -|`cublasDgbmv_v2` | | -|`cublasCgbmv` | | -|`cublasCgbmv_v2` | | -|`cublasZgbmv` | | -|`cublasZgbmv_v2` | | -|`cublasStrmv` | | -|`cublasStrmv_v2` | | -|`cublasDtrmv` | | -|`cublasDtrmv_v2` | | -|`cublasCtrmv` | | -|`cublasCtrmv_v2` | | -|`cublasZtrmv` | | -|`cublasZtrmv_v2` | | -|`cublasStbmv` | | -|`cublasStbmv_v2` | | -|`cublasDtbmv` | | -|`cublasDtbmv_v2` | | -|`cublasCtbmv` | | -|`cublasCtbmv_v2` | | -|`cublasZtbmv` | | -|`cublasZtbmv_v2` | | -|`cublasStpmv` | | -|`cublasStpmv_v2` | | -|`cublasDtpmv` | | -|`cublasDtpmv_v2` | | -|`cublasCtpmv` | | -|`cublasCtpmv_v2` | | -|`cublasZtpmv` | | -|`cublasZtpmv_v2` | | -|`cublasStrsv` |`hipblasStrsv` | -|`cublasStrsv_v2` |`hipblasStrsv` | -|`cublasDtrsv` |`hipblasDtrsv` | -|`cublasDtrsv_v2` |`hipblasDtrsv` | -|`cublasCtrsv` | | -|`cublasCtrsv_v2` | | -|`cublasZtrsv` | | -|`cublasZtrsv_v2` | | -|`cublasStpsv` | | -|`cublasStpsv_v2` | | -|`cublasDtpsv` | | -|`cublasDtpsv_v2` | | -|`cublasCtpsv` | | -|`cublasCtpsv_v2` | | -|`cublasZtpsv` | | -|`cublasZtpsv_v2` | | -|`cublasStbsv` | | -|`cublasStbsv_v2` | | -|`cublasDtbsv` | | -|`cublasDtbsv_v2` | | -|`cublasCtbsv` | | -|`cublasCtbsv_v2` | | -|`cublasZtbsv` | | -|`cublasZtbsv_v2` | | -|`cublasSsymv` | | -|`cublasSsymv_v2` | | -|`cublasDsymv` | | -|`cublasDsymv_v2` | | -|`cublasCsymv` | | -|`cublasCsymv_v2` | | -|`cublasZsymv` | | -|`cublasZsymv_v2` | | -|`cublasChemv` | | -|`cublasChemv_v2` | | -|`cublasZhemv` | | -|`cublasZhemv_v2` | | -|`cublasSsbmv` | | -|`cublasSsbmv_v2` | | -|`cublasDsbmv` | | -|`cublasDsbmv_v2` | | -|`cublasChbmv` | | -|`cublasChbmv_v2` | | -|`cublasZhbmv` | | -|`cublasZhbmv_v2` | | -|`cublasSspmv` | | -|`cublasSspmv_v2` | | -|`cublasDspmv` | | -|`cublasDspmv_v2` | | -|`cublasChpmv` | | -|`cublasChpmv_v2` | | -|`cublasZhpmv` | | -|`cublasZhpmv_v2` | | -|`cublasSger` |`hipblasSger` | -|`cublasSger_v2` |`hipblasSger` | -|`cublasDger` |`hipblasDger` | -|`cublasDger_v2` |`hipblasDger` | -|`cublasCgeru` | | -|`cublasCgeru_v2` | | -|`cublasCgerc` | | -|`cublasCgerc_v2` | | -|`cublasZgeru` | | -|`cublasZgeru_v2` | | -|`cublasZgerc` | | -|`cublasZgerc_v2` | | -|`cublasSsyr` |`hipblasSsyr` | -|`cublasSsyr_v2` |`hipblasSsyr` | -|`cublasDsyr` |`hipblasDsyr` | -|`cublasDsyr_v2` |`hipblasDsyr` | -|`cublasCsyr` | | -|`cublasCsyr_v2` | | -|`cublasZsyr` | | -|`cublasZsyr_v2` | | -|`cublasCher` | | -|`cublasCher_v2` | | -|`cublasZher` | | -|`cublasZher_v2` | | -|`cublasSspr` | | -|`cublasSspr_v2` | | -|`cublasDspr` | | -|`cublasDspr_v2` | | -|`cublasChpr` | | -|`cublasChpr_v2` | | -|`cublasZhpr` | | -|`cublasZhpr_v2` | | -|`cublasSsyr2` | | -|`cublasSsyr2_v2` | | -|`cublasDsyr2` | | -|`cublasDsyr2_v2` | | -|`cublasCsyr2` | | -|`cublasCsyr2_v2` | | -|`cublasZsyr2` | | -|`cublasZsyr2_v2` | | -|`cublasCher2` | | -|`cublasCher2_v2` | | -|`cublasZher2` | | -|`cublasZher2_v2` | | -|`cublasSspr2` | | -|`cublasSspr2_v2` | | -|`cublasDspr2` | | -|`cublasDspr2_v2` | | -|`cublasChpr2` | | -|`cublasChpr2_v2` | | -|`cublasZhpr2` | | -|`cublasZhpr2_v2` | | -|`cublasSgemm` |`hipblasSgemm` | -|`cublasSgemm_v2` |`hipblasSgemm` | -|`cublasDgemm` |`hipblasDgemm` | -|`cublasDgemm_v2` |`hipblasDgemm` | -|`cublasCgemm` | | -|`cublasCgemm_v2` | | -|`cublasCgemm3m` | | 8.0 | -|`cublasCgemm3mEx` | | 8.0 | -|`cublasZgemm` |`hipblasZgemm` | -|`cublasZgemm_v2` |`hipblasZgemm` | -|`cublasZgemm3m` | | 8.0 | -|`cublasHgemm` |`hipblasHgemm` | 7.5 | -|`cublasSgemmEx` | | 7.5 | -|`cublasGemmEx` |`hipblasGemmEx` | 8.0 | -|`cublasCgemmEx` | | 8.0 | -|`cublasUint8gemmBias` | | 8.0 | -|`cublasSsyrk` | | -|`cublasSsyrk_v2` | | -|`cublasDsyrk` | | -|`cublasDsyrk_v2` | | -|`cublasCsyrk` | | -|`cublasCsyrk_v2` | | -|`cublasZsyrk` | | -|`cublasZsyrk_v2` | | -|`cublasCsyrkEx` | | 8.0 | -|`cublasCsyrk3mEx` | | 8.0 | -|`cublasCherk` | | -|`cublasCherk_v2` | | -|`cublasZherk` | | -|`cublasZherk_v2` | | -|`cublasCherkEx` | | 8.0 | -|`cublasCherk3mEx` | | 8.0 | -|`cublasSsyr2k` | | -|`cublasSsyr2k_v2` | | -|`cublasDsyr2k` | | -|`cublasDsyr2k_v2` | | -|`cublasCsyr2k` | | -|`cublasCsyr2k_v2` | | -|`cublasZsyr2k` | | -|`cublasZsyr2k_v2` | | -|`cublasCher2k` | | -|`cublasCher2k_v2` | | -|`cublasZher2k` | | -|`cublasZher2k_v2` | | -|`cublasSsyrkx` | | -|`cublasDsyrkx` | | -|`cublasCsyrkx` | | -|`cublasZsyrkx` | | -|`cublasCherkx` | | -|`cublasZherkx` | | -|`cublasSsymm` | | -|`cublasSsymm_v2` | | -|`cublasDsymm` | | -|`cublasDsymm_v2` | | -|`cublasCsymm` | | -|`cublasCsymm_v2` | | -|`cublasZsymm` | | -|`cublasZsymm_v2` | | -|`cublasChemm` | | -|`cublasChemm_v2` | | -|`cublasZhemm` | | -|`cublasZhemm_v2` | | -|`cublasStrsm` |`hipblasStrsm` | -|`cublasStrsm_v2` |`hipblasStrsm` | -|`cublasDtrsm` |`hipblasDtrsm` | -|`cublasDtrsm_v2` |`hipblasDtrsm` | -|`cublasCtrsm` | | -|`cublasCtrsm_v2` | | -|`cublasZtrsm` | | -|`cublasZtrsm_v2` | | -|`cublasStrmm` | | -|`cublasStrmm_v2` | | -|`cublasDtrmm` | | -|`cublasDtrmm_v2` | | -|`cublasCtrmm` | | -|`cublasCtrmm_v2` | | -|`cublasZtrmm` | | -|`cublasZtrmm_v2` | | -|`cublasHgemmBatched` |`hipblasHgemmBatched` | 9.0 | -|`cublasSgemmBatched` |`hipblasSgemmBatched` | -|`cublasDgemmBatched` |`hipblasDgemmBatched` | -|`cublasCgemmBatched` |`hipblasCgemmBatched` | -|`cublasCgemm3mBatched` | | 8.0 | -|`cublasZgemmBatched` |`hipblasZgemmBatched` | -|`cublasGemmBatchedEx` | | 9.1 | -|`cublasGemmStridedBatchedEx` | | 9.1 | -|`cublasSgemmStridedBatched` |`hipblasSgemmStridedBatched` | 8.0 | -|`cublasDgemmStridedBatched` |`hipblasDgemmStridedBatched` | 8.0 | -|`cublasCgemmStridedBatched` |`hipblasCgemmStridedBatched` | 8.0 | -|`cublasCgemm3mStridedBatched` | | 8.0 | -|`cublasZgemmStridedBatched` |`hipblasZgemmStridedBatched` | 8.0 | -|`cublasHgemmStridedBatched` |`hipblasHgemmStridedBatched` | 8.0 | -|`cublasSgeam` |`hipblasSgeam` | -|`cublasDgeam` |`hipblasDgeam` | -|`cublasCgeam` | | -|`cublasZgeam` | | -|`cublasSgetrfBatched` | | -|`cublasDgetrfBatched` | | -|`cublasCgetrfBatched` | | -|`cublasZgetrfBatched` | | -|`cublasSgetriBatched` | | -|`cublasDgetriBatched` | | -|`cublasCgetriBatched` | | -|`cublasZgetriBatched` | | -|`cublasSgetrsBatched` | | -|`cublasDgetrsBatched` | | -|`cublasCgetrsBatched` | | -|`cublasZgetrsBatched` | | -|`cublasStrsmBatched` | | -|`cublasDtrsmBatched` | | -|`cublasCtrsmBatched` | | -|`cublasZtrsmBatched` | | -|`cublasSmatinvBatched` | | -|`cublasDmatinvBatched` | | -|`cublasCmatinvBatched` | | -|`cublasZmatinvBatched` | | -|`cublasSgeqrfBatched` | | -|`cublasDgeqrfBatched` | | -|`cublasCgeqrfBatched` | | -|`cublasZgeqrfBatched` | | -|`cublasSgelsBatched` | | -|`cublasDgelsBatched` | | -|`cublasCgelsBatched` | | -|`cublasZgelsBatched` | | -|`cublasSdgmm` | | -|`cublasDdgmm` | | -|`cublasCdgmm` | | -|`cublasZdgmm` | | -|`cublasStpttr` | | -|`cublasDtpttr` | | -|`cublasCtpttr` | | -|`cublasZtpttr` | | -|`cublasStrttp` | | -|`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/CUDNN_API_supported_by_HIP.md b/docs/markdown/CUDNN_API_supported_by_HIP.md deleted file mode 100644 index 7efa922a21..0000000000 --- a/docs/markdown/CUDNN_API_supported_by_HIP.md +++ /dev/null @@ -1,586 +0,0 @@ -# CUDNN API supported by HIP - -## **1. CUDNN Data types** - -| **type** | **CUDA** |**CUDA version\***| **HIP** |**HIP value** (if differs) | -|-------------:|---------------------------------------------------------------|:----------------:|------------------------------------------------------------|---------------------------| -| define |`CUDNN_VERSION` | |`HIPDNN_VERSION` | -| struct |`cudnnContext` | | | -| struct* |`cudnnHandle_t` | |`hipdnnHandle_t` | -| enum |***`cudnnStatus_t`*** | |***`hipdnnStatus_t`*** | -| 0 |*`CUDNN_STATUS_SUCCESS`* | |*`HIPDNN_STATUS_SUCCESS`* | -| 1 |*`CUDNN_STATUS_NOT_INITIALIZED`* | |*`HIPDNN_STATUS_NOT_INITIALIZED`* | -| 2 |*`CUDNN_STATUS_ALLOC_FAILED`* | |*`HIPDNN_STATUS_ALLOC_FAILED`* | -| 3 |*`CUDNN_STATUS_BAD_PARAM`* | |*`HIPDNN_STATUS_BAD_PARAM`* | -| 4 |*`CUDNN_STATUS_INTERNAL_ERROR`* | |*`HIPDNN_STATUS_INTERNAL_ERROR`* | -| 5 |*`CUDNN_STATUS_INVALID_VALUE`* | |*`HIPDNN_STATUS_INVALID_VALUE`* | -| 6 |*`CUDNN_STATUS_ARCH_MISMATCH`* | |*`HIPDNN_STATUS_ARCH_MISMATCH`* | -| 7 |*`CUDNN_STATUS_MAPPING_ERROR`* | |*`HIPDNN_STATUS_MAPPING_ERROR`* | -| 8 |*`CUDNN_STATUS_EXECUTION_FAILED`* | |*`HIPDNN_STATUS_EXECUTION_FAILED`* | -| 9 |*`CUDNN_STATUS_NOT_SUPPORTED`* | |*`HIPDNN_STATUS_NOT_SUPPORTED`* | -| 10 |*`CUDNN_STATUS_LICENSE_ERROR`* | |*`HIPDNN_STATUS_LICENSE_ERROR`* | -| 11 |*`CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`* | 7.5 |*`HIPDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`* | -| 12 |*`CUDNN_STATUS_RUNTIME_IN_PROGRESS`* | 8.0 | | -| 13 |*`CUDNN_STATUS_RUNTIME_FP_OVERFLOW`* | 8.0 | | -| struct |`cudnnRuntimeTag_t` | 8.0 | | -| enum |***`cudnnErrQueryMode_t`*** | 8.0 | | -| 0 |*`CUDNN_ERRQUERY_RAWCODE`* | 8.0 | | -| 1 |*`CUDNN_ERRQUERY_NONBLOCKING`* | 8.0 | | -| 2 |*`CUDNN_ERRQUERY_BLOCKING`* | 8.0 | | -| struct |`cudnnTensorStruct` | | | -| struct* |`cudnnTensorDescriptor_t` | |`hipdnnTensorDescriptor_t` | -| struct |`cudnnConvolutionStruct` | | | -| struct* |`cudnnConvolutionDescriptor_t` | |`hipdnnConvolutionDescriptor_t` | -| struct |`cudnnPoolingStruct` | | | -| struct* |`cudnnPoolingDescriptor_t` | |`hipdnnPoolingDescriptor_t` | -| struct |`cudnnFilterStruct` | | | -| struct* |`cudnnFilterDescriptor_t` | |`hipdnnFilterDescriptor_t` | -| struct |`cudnnLRNStruct` | | | -| struct* |`cudnnLRNDescriptor_t` | |`hipdnnLRNDescriptor_t` | -| struct |`cudnnActivationStruct` | | | -| struct* |`cudnnActivationDescriptor_t` | |`hipdnnActivationDescriptor_t` | -| struct |`cudnnSpatialTransformerStruct` | 7.5 | | -| struct* |`cudnnSpatialTransformerDescriptor_t` | 7.5 | | -| struct |`cudnnOpTensorStruct` | 7.5 | | -| struct* |`cudnnOpTensorDescriptor_t` | 7.5 |`hipdnnOpTensorDescriptor_t` | -| struct |`cudnnReduceTensorStruct` | 7.5 | | -| struct* |`cudnnReduceTensorDescriptor_t` | 7.5 |`hipdnnReduceTensorDescriptor_t` | -| struct |`cudnnCTCLossStruct` | 8.0 | | -| struct* |`cudnnCTCLossDescriptor_t` | 8.0 | | -| struct |`cudnnTensorTransformStruct` | 9.0 | | -| struct* |`cudnnTensorTransformDescriptor_t` | 9.0 | | -| enum |***`cudnnDataType_t`*** | |***`hipdnnDataType_t`*** | -| 0 |*`CUDNN_DATA_FLOAT`* | |*`HIPDNN_DATA_FLOAT`* | -| 1 |*`CUDNN_DATA_DOUBLE`* | |*`HIPDNN_DATA_DOUBLE`* | -| 2 |*`CUDNN_DATA_HALF`* | |*`HIPDNN_DATA_HALF`* | -| 3 |*`CUDNN_DATA_INT8`* | 7.5 |*`HIPDNN_DATA_INT8`* | -| 4 |*`CUDNN_DATA_INT32`* | 7.5 |*`HIPDNN_DATA_INT32`* | -| 5 |*`CUDNN_DATA_INT8x4`* | 7.5 |*`HIPDNN_DATA_INT8x4`* | -| 6 |*`CUDNN_DATA_UINT8`* | 8.0 | | -| 7 |*`CUDNN_DATA_UINT8x4`* | 8.0 | | -| 8 |*`CUDNN_DATA_INT8x32`* | 9.0 | | -| enum |***`cudnnMathType_t`*** | 8.0 |***`hipdnnMathType_t`*** | -| 0 |*`CUDNN_DEFAULT_MATH`* | 8.0 |*`HIPDNN_DEFAULT_MATH`* | -| 1 |*`CUDNN_TENSOR_OP_MATH`* | 8.0 |*`HIPDNN_TENSOR_OP_MATH`* | -| enum |***`cudnnNanPropagation_t`*** | |***`hipdnnNanPropagation_t`*** | -| 0 |*`CUDNN_NOT_PROPAGATE_NAN`* | |*`HIPDNN_NOT_PROPAGATE_NAN`* | -| 1 |*`CUDNN_PROPAGATE_NAN`* | |*`HIPDNN_PROPAGATE_NAN`* | -| enum |***`cudnnDeterminism_t`*** | 7.5 | | -| 0 |*`CUDNN_NON_DETERMINISTIC`* | 7.5 | | -| 1 |*`CUDNN_DETERMINISTIC`* | 7.5 | | -| define |`CUDNN_DIM_MAX` | | | -| enum |***`cudnnTensorFormat_t`*** | |***`hipdnnTensorFormat_t`*** | -| 0 |*`CUDNN_TENSOR_NCHW`* | |*`HIPDNN_TENSOR_NCHW`* | -| 1 |*`CUDNN_TENSOR_NHWC`* | |*`HIPDNN_TENSOR_NHWC`* | -| 2 |*`CUDNN_TENSOR_NCHW_VECT_C`* | 7.5 |*`HIPDNN_TENSOR_NCHW_VECT_C`* | -| enum |***`cudnnFoldingDirection_t`*** | 9.0 | | -| 0 |*`CUDNN_TRANSFORM_FOLD`* | 9.0 | | -| 1 |*`CUDNN_TRANSFORM_UNFOLD`* | 9.0 | | -| enum |***`cudnnOpTensorOp_t`*** | 7.5 |***`hipdnnOpTensorOp_t`*** | -| 0 |*`CUDNN_OP_TENSOR_ADD`* | 7.5 |*`HIPDNN_OP_TENSOR_ADD`* | -| 1 |*`CUDNN_OP_TENSOR_MUL`* | 7.5 |*`HIPDNN_OP_TENSOR_MUL`* | -| 2 |*`CUDNN_OP_TENSOR_MIN`* | 7.5 |*`HIPDNN_OP_TENSOR_MIN`* | -| 3 |*`CUDNN_OP_TENSOR_MAX`* | 7.5 |*`HIPDNN_OP_TENSOR_MAX`* | -| 4 |*`CUDNN_OP_TENSOR_SQRT`* | 7.5 |*`HIPDNN_OP_TENSOR_SQRT`* | -| 5 |*`CUDNN_OP_TENSOR_NOT`* | 8.0 |*`HIPDNN_OP_TENSOR_NOT`* | -| enum |***`cudnnReduceTensorOp_t`*** | 7.5 |***`hipdnnReduceTensorOp_t`*** | -| 0 |*`CUDNN_REDUCE_TENSOR_ADD`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_ADD`* | -| 1 |*`CUDNN_REDUCE_TENSOR_MUL`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_MUL`* | -| 2 |*`CUDNN_REDUCE_TENSOR_MIN`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_MIN`* | -| 3 |*`CUDNN_REDUCE_TENSOR_MAX`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_MAX`* | -| 4 |*`CUDNN_REDUCE_TENSOR_AMAX`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_AMAX`* | -| 5 |*`CUDNN_REDUCE_TENSOR_AVG`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_AVG`* | -| 6 |*`CUDNN_REDUCE_TENSOR_NORM1`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_NORM1`* | -| 7 |*`CUDNN_REDUCE_TENSOR_NORM2`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_NORM2`* | -| 8 |*`CUDNN_REDUCE_TENSOR_MUL_NO_ZEROS`* | 8.0 |*`HIPDNN_REDUCE_TENSOR_MUL_NO_ZEROS`* | -| enum |***`cudnnReduceTensorIndices_t`*** | 7.5 |***`hipdnnReduceTensorIndices_t`*** | -| 0 |*`CUDNN_REDUCE_TENSOR_NO_INDICES`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_NO_INDICES`* | -| 1 |*`CUDNN_REDUCE_TENSOR_FLATTENED_INDICES`* | 7.5 |*`HIPDNN_REDUCE_TENSOR_FLATTENED_INDICES`* | -| enum |***`cudnnIndicesType_t`*** | 7.5 |***`hipdnnIndicesType_t`*** | -| 0 |*`CUDNN_32BIT_INDICES`* | 7.5 |*`HIPDNN_32BIT_INDICES`* | -| 1 |*`CUDNN_64BIT_INDICES`* | 7.5 |*`HIPDNN_64BIT_INDICES`* | -| 2 |*`CUDNN_16BIT_INDICES`* | 7.5 |*`HIPDNN_16BIT_INDICES`* | -| 3 |*`CUDNN_8BIT_INDICES`* | 7.5 |*`HIPDNN_8BIT_INDICES`* | -| enum |***`cudnnConvolutionMode_t`*** | |***`hipdnnConvolutionMode_t`*** | -| 0 |*`CUDNN_CONVOLUTION`* | |*`HIPDNN_CONVOLUTION`* | -| 1 |*`CUDNN_CROSS_CORRELATION`* | |*`HIPDNN_CROSS_CORRELATION`* | -| enum |***`cudnnConvolutionFwdPreference_t`*** | |***`hipdnnConvolutionFwdPreference_t`*** | -| 0 |*`CUDNN_CONVOLUTION_FWD_NO_WORKSPACE`* | |*`HIPDNN_CONVOLUTION_FWD_NO_WORKSPACE`* | -| 1 |*`CUDNN_CONVOLUTION_FWD_PREFER_FASTEST`* | |*`HIPDNN_CONVOLUTION_FWD_PREFER_FASTEST`* | -| 2 |*`CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`* | |*`HIPDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT`* | -| enum |***`cudnnConvolutionFwdAlgo_t`*** | |***`hipdnnConvolutionFwdAlgo_t`*** | -| 0 |*`CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM`* | |*`HIPDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM`* | -| 1 |*`CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM`* | |*`HIPDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM`* | -| 2 |*`CUDNN_CONVOLUTION_FWD_ALGO_GEMM`* | |*`HIPDNN_CONVOLUTION_FWD_ALGO_GEMM`* | -| 3 |*`CUDNN_CONVOLUTION_FWD_ALGO_DIRECT`* | |*`HIPDNN_CONVOLUTION_FWD_ALGO_DIRECT`* | -| 4 |*`CUDNN_CONVOLUTION_FWD_ALGO_FFT`* | |*`HIPDNN_CONVOLUTION_FWD_ALGO_FFT`* | -| 5 |*`CUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING`* | |*`HIPDNN_CONVOLUTION_FWD_ALGO_FFT_TILING`* | -| 6 |*`CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD`* | 7.5 |*`HIPDNN_CONVOLUTION_FWD_ALGO_WINOGRAD`* | -| 7 |*`CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED`* | 7.5 |*`HIPDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED`* | -| 8 |*`CUDNN_CONVOLUTION_FWD_ALGO_COUNT`* | 7.5 |*`HIPDNN_CONVOLUTION_FWD_ALGO_COUNT`* | -| struct |`cudnnConvolutionFwdAlgoPerf_t` | |`hipdnnConvolutionFwdAlgoPerf_t` | -| enum |***`cudnnConvolutionBwdFilterPreference_t`*** | |***`hipdnnConvolutionBwdFilterPreference_t`*** | -| 0 |*`CUDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_NO_WORKSPACE`* | -| 1 |*`CUDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_PREFER_FASTEST`* | -| 2 |*`CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT`* | -| enum |***`cudnnConvolutionBwdFilterAlgo_t`*** | |***`hipdnnConvolutionBwdFilterAlgo_t`*** | -| 0 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_0`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_0`* | -| 1 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_1`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_1`* | -| 2 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT`* | -| 3 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_3`* | |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_3`* | -| 4 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD`* | 7.5 |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD`* | -| 5 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED`* | 7.5 |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED`* | -| 6 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING`* | 7.5 |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING`* | -| 7 |*`CUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT`* | 7.5 |*`HIPDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT`* | -| struct |`cudnnConvolutionBwdDataAlgoPerf_t` | |`hipdnnConvolutionBwdDataAlgoPerf_t` | -| enum |***`cudnnSoftmaxAlgorithm_t`*** | |***`hipdnnSoftmaxAlgorithm_t`*** | -| 0 |*`CUDNN_SOFTMAX_FAST`* | |*`HIPDNN_SOFTMAX_FAST`* | -| 1 |*`CUDNN_SOFTMAX_ACCURATE`* | |*`HIPDNN_SOFTMAX_ACCURATE`* | -| 2 |*`CUDNN_SOFTMAX_LOG`* | |*`HIPDNN_SOFTMAX_LOG`* | -| enum |***`cudnnSoftmaxMode_t`*** | |***`hipdnnSoftmaxMode_t`*** | -| 0 |*`CUDNN_SOFTMAX_MODE_INSTANCE`* | |*`HIPDNN_SOFTMAX_MODE_INSTANCE`* | -| 1 |*`CUDNN_SOFTMAX_MODE_CHANNEL`* | |*`HIPDNN_SOFTMAX_MODE_CHANNEL`* | -| enum |***`cudnnPoolingMode_t`*** | |***`hipdnnPoolingMode_t`*** | -| 0 |*`CUDNN_POOLING_MAX`* | |*`HIPDNN_POOLING_MAX`* | -| 1 |*`CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`* | |*`HIPDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING`* | -| 2 |*`CUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`* | |*`HIPDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING`* | -| 3 |*`CUDNN_POOLING_MAX_DETERMINISTIC`* | 7.5 |*`HIPDNN_POOLING_MAX_DETERMINISTIC`* | -| enum |***`cudnnActivationMode_t`*** | |***`hipdnnActivationMode_t`*** | -| 0 |*`CUDNN_ACTIVATION_SIGMOID`* | |*`HIPDNN_ACTIVATION_SIGMOID`* | -| 1 |*`CUDNN_ACTIVATION_RELU`* | |*`HIPDNN_ACTIVATION_RELU`* | -| 2 |*`CUDNN_ACTIVATION_TANH`* | |*`HIPDNN_ACTIVATION_TANH`* | -| 3 |*`CUDNN_ACTIVATION_CLIPPED_RELU`* | |*`HIPDNN_ACTIVATION_CLIPPED_RELU`* | -| 4 |*`CUDNN_ACTIVATION_ELU`* | 7.5 |*`HIPDNN_ACTIVATION_ELU`* | -| 5 |*`CUDNN_ACTIVATION_IDENTITY`* | 8.0 |*`HIPDNN_ACTIVATION_PATHTRU`* | -| define |`CUDNN_LRN_MIN_N` | | | -| define |`CUDNN_LRN_MAX_N` | | | -| define |`CUDNN_LRN_MIN_K` | | | -| define |`CUDNN_LRN_MIN_BETA` | | | -| enum |***`cudnnLRNMode_t`*** | |***`hipdnnLRNMode_t`*** | -| 0 |*`CUDNN_LRN_CROSS_CHANNEL_DIM1`* | |*`HIPDNN_LRN_CROSS_CHANNEL`* | -| enum |***`cudnnDivNormMode_t`*** | | | -| 0 |*`CUDNN_DIVNORM_PRECOMPUTED_MEANS`* | | | -| enum |***`cudnnBatchNormMode_t`*** | |***`hipdnnBatchNormMode_t`*** | -| 0 |*`CUDNN_BATCHNORM_PER_ACTIVATION`* | |*`HIPDNN_BATCHNORM_PER_ACTIVATION`* | -| 1 |*`CUDNN_BATCHNORM_SPATIAL`* | |*`HIPDNN_BATCHNORM_SPATIAL`* | -| 2 |*`CUDNN_BATCHNORM_SPATIAL_PERSISTENT`* | 8.0 |*`HIPDNN_BATCHNORM_SPATIAL_PERSISTENT`* | -| define |`CUDNN_BN_MIN_EPSILON` | |`HIPDNN_BN_MIN_EPSILON` | -| enum |***`cudnnSamplerType_t`*** | 7.5 | | -| 0 |*`CUDNN_SAMPLER_BILINEAR`* | 7.5 | | -| struct |`cudnnDropoutStruct` | 7.5 | | -| struct* |`cudnnDropoutDescriptor_t` | 7.5 |`hipdnnDropoutDescriptor_t` | -| enum |***`cudnnRNNMode_t`*** | 7.5 |***`hipdnnRNNMode_t`*** | -| 0 |*`CUDNN_RNN_RELU`* | 7.5 |*`HIPDNN_RNN_RELU`* | -| 1 |*`CUDNN_RNN_TANH`* | 7.5 |*`HIPDNN_RNN_TANH`* | -| 2 |*`CUDNN_LSTM`* | 7.5 |*`HIPDNN_LSTM`* | -| 3 |*`CUDNN_GRU`* | 7.5 |*`HIPDNN_GRU`* | -| enum |***`cudnnRNNBiasMode_t`*** | 9.0 |***`hipdnnRNNBiasMode_t`*** | -| 0 |*`CUDNN_RNN_NO_BIAS`* | 9.0 |*`HIPDNN_RNN_NO_BIAS`* | -| 1 |*`CUDNN_RNN_SINGLE_INP_BIAS`* | 9.0 |*`HIPDNN_RNN_WITH_BIAS`* | -| 2 |*`CUDNN_RNN_DOUBLE_BIAS`* | 9.0 |*`HIPDNN_RNN_WITH_BIAS`* | 1 | -| 3 |*`CUDNN_RNN_SINGLE_REC_BIAS`* | 9.0 |*`HIPDNN_RNN_WITH_BIAS`* | 1 | -| enum |***`cudnnDirectionMode_t`*** | 7.5 |***`hipdnnDirectionMode_t`*** | -| 0 |*`CUDNN_UNIDIRECTIONAL`* | 7.5 |*`HIPDNN_UNIDIRECTIONAL`* | -| 1 |*`CUDNN_BIDIRECTIONAL`* | 7.5 |*`HIPDNN_BIDIRECTIONAL`* | -| enum |***`cudnnRNNAlgo_t`*** | 7.5 |***`hipdnnRNNAlgo_t`*** | -| 0 |*`CUDNN_RNN_ALGO_STANDARD`* | 7.5 |*`HIPDNN_RNN_ALGO_STANDARD`* | -| 1 |*`CUDNN_RNN_ALGO_PERSIST_STATIC`* | 7.5 |*`HIPDNN_RNN_ALGO_PERSIST_STATIC`* | -| 2 |*`CUDNN_RNN_ALGO_PERSIST_DYNAMIC`* | 7.5 |*`HIPDNN_RNN_ALGO_PERSIST_DYNAMIC`* | -| 3 |*`CUDNN_RNN_ALGO_COUNT`* | 8.0 | | -| struct |`cudnnAlgorithmStruct` | 8.0 | | -| struct* |`cudnnAlgorithmDescriptor_t` | 8.0 | | -| struct |`cudnnAlgorithmPerformanceStruct` | 8.0 | | -| struct* |`cudnnAlgorithmPerformance_t` | 8.0 | | -| struct |`cudnnRNNStruct` | 7.5 | | -| struct* |`cudnnRNNDescriptor_t` | 7.5 |`hipdnnRNNDescriptor_t` | -| struct |`cudnnPersistentRNNPlan` | 7.5 | | -| struct* |`cudnnPersistentRNNPlan_t` | 7.5 |`hipdnnPersistentRNNPlan_t` | -| enum |***`cudnnCTCLossAlgo_t`*** | 8.0 | | -| 0 |*`CUDNN_CTC_LOSS_ALGO_DETERMINISTIC`* | 8.0 | | -| 1 |*`CUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC`* | 8.0 | | -| struct |`cudnnAlgorithm_t` | 8.0 | | -| enum |***`cudnnSeverity_t`*** | 8.0 | | -| 0 |*`CUDNN_SEV_FATAL`* | 8.0 | | -| 1 |*`CUDNN_SEV_ERROR`* | 8.0 | | -| 2 |*`CUDNN_SEV_WARNING`* | 8.0 | | -| 3 |*`CUDNN_SEV_INFO`* | 8.0 | | -| define |`CUDNN_SEV_ERROR_EN` | 8.0 | | -| define |`CUDNN_SEV_WARNING_EN` | 8.0 | | -| define |`CUDNN_SEV_INFO_EN` | 8.0 | | -| struct |`cudnnDebug_t` | 8.0 | | -| struct |`cudnnCallback_t` | 8.0 | | -| enum |***`cudnnBatchNormOps_t`*** | 9.0 | | -| 0 |*`CUDNN_BATCHNORM_OPS_BN`* | 9.0 | | -| 1 |*`CUDNN_BATCHNORM_OPS_BN_ACTIVATION`* | 9.0 | | -| 2 |*`CUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION`* | 9.0 | | -| enum |***`cudnnRNNClipMode_t`*** | 9.0 | | -| 0 |*`CUDNN_RNN_CLIP_NONE`* | 9.0 | | -| 1 |*`CUDNN_RNN_CLIP_MINMAX`* | 9.0 | | -| struct |`cudnnRNNDataStruct` | 9.0 | | -| struct* |`cudnnRNNDataDescriptor_t` | 9.0 | | -| enum |***`cudnnRNNDataLayout_t`*** | 9.0 | | -| 0 |*`CUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_UNPACKED`* | 9.0 | | -| 1 |*`CUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_PACKED`* | 9.0 | | -| 2 |*`CUDNN_RNN_DATA_LAYOUT_BATCH_MAJOR_UNPACKED`* | 9.0 | | -| enum |***`cudnnRNNPaddingMode_t`*** | 9.0 | | -| 0 |*`CUDNN_RNN_PADDED_IO_DISABLED`* | 9.0 | | -| 1 |*`CUDNN_RNN_PADDED_IO_ENABLED`* | 9.0 | | -| enum |***`cudnnSeqDataAxis_t`*** | 9.0 | | -| 0 |*`CUDNN_SEQDATA_TIME_DIM`* | 9.0 | | -| 1 |*`CUDNN_SEQDATA_BATCH_DIM`* | 9.0 | | -| 2 |*`CUDNN_SEQDATA_BEAM_DIM`* | 9.0 | | -| 3 |*`CUDNN_SEQDATA_VECT_DIM`* | 9.0 | | -| define |`CUDNN_SEQDATA_DIM_COUNT` | 9.0 | | -| struct |`cudnnSeqDataStruct` | 9.0 | | -| struct* |`cudnnSeqDataDescriptor_t` | 9.0 | | -| unsigned |***`cudnnAttnQueryMap_t`*** | 9.0 | | -| 0 |*`CUDNN_ATTN_QUERYMAP_ALL_TO_ONE`* | 9.0 | | -| 1U << 0 |*`CUDNN_ATTN_QUERYMAP_ONE_TO_ONE`* | 9.0 | | -| 1 |*`CUDNN_ATTN_DISABLE_PROJ_BIASES`* | 10.1 Update 2 | | -| 1U << 1 |*`CUDNN_ATTN_ENABLE_PROJ_BIASES`* | 10.1 Update 2 | | -| struct |`cudnnAttnStruct` | 9.0 | | -| struct* |`cudnnAttnDescriptor_t` | 9.0 | | -| enum |***`cudnnMultiHeadAttnWeightKind_t`*** | 9.0 | | -| 0 |*`CUDNN_MH_ATTN_Q_WEIGHTS`* | 9.0 | | -| 1 |*`CUDNN_MH_ATTN_K_WEIGHTS`* | 9.0 | | -| 2 |*`CUDNN_MH_ATTN_V_WEIGHTS`* | 9.0 | | -| 3 |*`CUDNN_MH_ATTN_O_WEIGHTS`* | 9.0 | | -| 4 |*`CUDNN_MH_ATTN_Q_BIASES`* | 10.1 Update 2 | | -| 5 |*`CUDNN_MH_ATTN_K_BIASES`* | 10.1 Update 2 | | -| 6 |*`CUDNN_MH_ATTN_V_BIASES`* | 10.1 Update 2 | | -| 7 |*`CUDNN_MH_ATTN_O_BIASES`* | 10.1 Update 2 | | -| define 8 |`CUDNN_ATTN_WKIND_COUNT` | 10.1 Update 2 | | -| enum |***`cudnnWgradMode_t`*** | 9.0 | | -| 0 |*`CUDNN_WGRAD_MODE_ADD`* | 9.0 | | -| 1 |*`CUDNN_WGRAD_MODE_SET`* | 9.0 | | -| enum |***`cudnnReorderType_t`*** | 10.1 | | -| 0 |*`CUDNN_DEFAULT_REORDER`* | 10.1 | | -| 1 |*`CUDNN_NO_REORDER`* | 10.1 | | -| enum |***`cudnnLossNormalizationMode_t`*** | 10.1 | | -| 0 |*`CUDNN_LOSS_NORMALIZATION_NONE`* | 10.1 | | -| 1 |*`CUDNN_LOSS_NORMALIZATION_SOFTMAX`* | 10.1 | | -| struct |`cudnnFusedOpsConstParamStruct` | 10.1 | | -| struct* |`cudnnFusedOpsConstParamPack_t` | 10.1 | | -| struct |`cudnnFusedOpsVariantParamStruct` | 10.1 | | -| struct* |`cudnnFusedOpsVariantParamPack_t` | 10.1 | | -| struct |`cudnnFusedOpsPlanStruct` | 10.1 | | -| struct* |`cudnnFusedOpsPlan_t` | 10.1 | | -| enum |***`cudnnFusedOps_t`*** | 10.1 | | -| 0 |*`CUDNN_FUSED_SCALE_BIAS_ACTIVATION_CONV_BNSTATS`* | 10.1 | | -| 1 |*`CUDNN_FUSED_SCALE_BIAS_ACTIVATION_WGRAD`* | 10.1 | | -| 2 |*`CUDNN_FUSED_BN_FINALIZE_STATISTICS_TRAINING`* | 10.1 | | -| 3 |*`CUDNN_FUSED_BN_FINALIZE_STATISTICS_INFERENCE`* | 10.1 | | -| 4 |*`CUDNN_FUSED_CONV_SCALE_BIAS_ADD_ACTIVATION`* | 10.1 | | -| 5 |*`CUDNN_FUSED_SCALE_BIAS_ADD_ACTIVATION_GEN_BITMASK`* | 10.1 | | -| 6 |*`CUDNN_FUSED_DACTIVATION_FORK_DBATCHNORM`* | 10.1 | | -| enum |***`cudnnFusedOpsConstParamLabel_t`*** | 10.1 | | -| 0 |*`CUDNN_PARAM_XDESC`* | 10.1 | | -| 1 |*`CUDNN_PARAM_XDATA_PLACEHOLDER`* | 10.1 | | -| 2 |*`CUDNN_PARAM_BN_MODE`* | 10.1 | | -| 3 |*`CUDNN_PARAM_BN_EQSCALEBIAS_DESC`* | 10.1 | | -| 4 |*`CUDNN_PARAM_BN_EQSCALE_PLACEHOLDER`* | 10.1 | | -| 5 |*`CUDNN_PARAM_BN_EQBIAS_PLACEHOLDER`* | 10.1 | | -| 6 |*`CUDNN_PARAM_ACTIVATION_DESC`* | 10.1 | | -| 7 |*`CUDNN_PARAM_CONV_DESC`* | 10.1 | | -| 8 |*`CUDNN_PARAM_WDESC`* | 10.1 | | -| 9 |*`CUDNN_PARAM_WDATA_PLACEHOLDER`* | 10.1 | | -| 10 |*`CUDNN_PARAM_DWDESC`* | 10.1 | | -| 11 |*`CUDNN_PARAM_DWDATA_PLACEHOLDER`* | 10.1 | | -| 12 |*`CUDNN_PARAM_YDESC`* | 10.1 | | -| 13 |*`CUDNN_PARAM_YDATA_PLACEHOLDER`* | 10.1 | | -| 14 |*`CUDNN_PARAM_DYDESC`* | 10.1 | | -| 15 |*`CUDNN_PARAM_DYDATA_PLACEHOLDER`* | 10.1 | | -| 16 |*`CUDNN_PARAM_YSTATS_DESC`* | 10.1 | | -| 17 |*`CUDNN_PARAM_YSUM_PLACEHOLDER`* | 10.1 | | -| 18 |*`CUDNN_PARAM_YSQSUM_PLACEHOLDER`* | 10.1 | | -| 19 |*`CUDNN_PARAM_BN_SCALEBIAS_MEANVAR_DESC`* | 10.1 | | -| 20 |*`CUDNN_PARAM_BN_SCALE_PLACEHOLDER`* | 10.1 | | -| 21 |*`CUDNN_PARAM_BN_BIAS_PLACEHOLDER`* | 10.1 | | -| 22 |*`CUDNN_PARAM_BN_SAVED_MEAN_PLACEHOLDER`* | 10.1 | | -| 23 |*`CUDNN_PARAM_BN_SAVED_INVSTD_PLACEHOLDER`* | 10.1 | | -| 24 |*`CUDNN_PARAM_BN_RUNNING_MEAN_PLACEHOLDER`* | 10.1 | | -| 25 |*`CUDNN_PARAM_BN_RUNNING_VAR_PLACEHOLDER`* | 10.1 | | -| 26 |*`CUDNN_PARAM_ZDESC`* | 10.1 | | -| 27 |*`CUDNN_PARAM_ZDATA_PLACEHOLDER`* | 10.1 | | -| 28 |*`CUDNN_PARAM_BN_Z_EQSCALEBIAS_DESC`* | 10.1 | | -| 29 |*`CUDNN_PARAM_BN_Z_EQSCALE_PLACEHOLDER`* | 10.1 | | -| 30 |*`CUDNN_PARAM_BN_Z_EQBIAS_PLACEHOLDER`* | 10.1 | | -| 31 |*`CUDNN_PARAM_ACTIVATION_BITMASK_DESC`* | 10.1 | | -| 32 |*`CUDNN_PARAM_ACTIVATION_BITMASK_PLACEHOLDER`* | 10.1 | | -| 33 |*`CUDNN_PARAM_DXDESC`* | 10.1 | | -| 34 |*`CUDNN_PARAM_DXDATA_PLACEHOLDER`* | 10.1 | | -| 35 |*`CUDNN_PARAM_DZDESC`* | 10.1 | | -| 36 |*`CUDNN_PARAM_DZDATA_PLACEHOLDER`* | 10.1 | | -| 37 |*`CUDNN_PARAM_BN_DSCALE_PLACEHOLDER`* | 10.1 | | -| 38 |*`CUDNN_PARAM_BN_DBIAS_PLACEHOLDER`* | 10.1 | | -| enum |***`cudnnFusedOpsPointerPlaceHolder_t`*** | 10.1 | | -| 0 |*`CUDNN_PTR_NULL`* | 10.1 | | -| 1 |*`CUDNN_PTR_ELEM_ALIGNED`* | 10.1 | | -| 2 |*`CUDNN_PTR_16B_ALIGNED`* | 10.1 | | -| enum |***`cudnnFusedOpsVariantParamLabel_t`*** | 10.1 | | -| 0 |*`CUDNN_PTR_XDATA`* | 10.1 | | -| 1 |*`CUDNN_PTR_BN_EQSCALE`* | 10.1 | | -| 2 |*`CUDNN_PTR_BN_EQBIAS`* | 10.1 | | -| 3 |*`CUDNN_PTR_WDATA`* | 10.1 | | -| 4 |*`CUDNN_PTR_DWDATA`* | 10.1 | | -| 5 |*`CUDNN_PTR_YDATA`* | 10.1 | | -| 6 |*`CUDNN_PTR_DYDATA`* | 10.1 | | -| 7 |*`CUDNN_PTR_YSUM`* | 10.1 | | -| 8 |*`CUDNN_PTR_YSQSUM`* | 10.1 | | -| 9 |*`CUDNN_PTR_WORKSPACE`* | 10.1 | | -| 10 |*`CUDNN_PTR_BN_SCALE`* | 10.1 | | -| 11 |*`CUDNN_PTR_BN_BIAS`* | 10.1 | | -| 12 |*`CUDNN_PTR_BN_SAVED_MEAN`* | 10.1 | | -| 13 |*`CUDNN_PTR_BN_SAVED_INVSTD`* | 10.1 | | -| 14 |*`CUDNN_PTR_BN_RUNNING_MEAN`* | 10.1 | | -| 15 |*`CUDNN_PTR_BN_RUNNING_VAR`* | 10.1 | | -| 16 |*`CUDNN_PTR_ZDATA`* | 10.1 | | -| 17 |*`CUDNN_PTR_BN_Z_EQSCALE`* | 10.1 | | -| 18 |*`CUDNN_PTR_BN_Z_EQBIAS`* | 10.1 | | -| 19 |*`CUDNN_PTR_ACTIVATION_BITMASK`* | 10.1 | | -| 20 |*`CUDNN_PTR_DXDATA`* | 10.1 | | -| 21 |*`CUDNN_PTR_DZDATA`* | 10.1 | | -| 22 |*`CUDNN_PTR_BN_DSCALE`* | 10.1 | | -| 23 |*`CUDNN_PTR_BN_DBIAS`* | 10.1 | | -| 100 |*`CUDNN_SCALAR_SIZE_T_WORKSPACE_SIZE_IN_BYTES`* | 10.1 | | -| 101 |*`CUDNN_SCALAR_INT64_T_BN_ACCUMULATION_COUNT`* | 10.1 | | -| 102 |*`CUDNN_SCALAR_DOUBLE_BN_EXP_AVG_FACTOR`* | 10.1 | | -| 103 |*`CUDNN_SCALAR_DOUBLE_BN_EPSILON`* | 10.1 | | - -## **2. CUDNN API functions** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:-----------------| -|`cudnnGetVersion` |`hipdnnGetVersion` | -|`cudnnGetCudartVersion` | | 7.5 | -|`cudnnGetErrorString` |`hipdnnGetErrorString` | -|`cudnnQueryRuntimeError` | | 8.0 | -|`cudnnGetProperty` | | 7.5 | -|`cudnnCreate` |`hipdnnCreate` | -|`cudnnDestroy` |`hipdnnDestroy` | -|`cudnnSetStream` |`hipdnnSetStream` | -|`cudnnGetStream` |`hipdnnGetStream` | -|`cudnnCreateTensorDescriptor` |`hipdnnCreateTensorDescriptor` | -|`cudnnSetTensor4dDescriptor` |`hipdnnSetTensor4dDescriptor` | -|`cudnnSetTensor4dDescriptorEx` |`hipdnnSetTensor4dDescriptorEx` | -|`cudnnGetTensor4dDescriptor` |`hipdnnGetTensor4dDescriptor` | -|`cudnnSetTensorNdDescriptor` |`hipdnnSetTensorNdDescriptor` | -|`cudnnSetTensorNdDescriptorEx` | | 7.5 | -|`cudnnGetTensorNdDescriptor` |`hipdnnGetTensorNdDescriptor` | -|`cudnnGetTensorSizeInBytes` | | 7.5 | -|`cudnnDestroyTensorDescriptor` |`hipdnnDestroyTensorDescriptor` | -|`cudnnTransformTensor` | | -|`cudnnTransformTensorEx` | | 9.0 | -|`cudnnInitTransformDest` | | 9.0 | -|`cudnnCreateTensorTransformDescriptor` | | 9.0 | -|`cudnnSetTensorTransformDescriptor` | | 9.0 | -|`cudnnGetTensorTransformDescriptor` | | 9.0 | -|`cudnnDestroyTensorTransformDescriptor` | | 9.0 | -|`cudnnAddTensor` |`hipdnnAddTensor` | -|`cudnnCreateOpTensorDescriptor` |`hipdnnCreateOpTensorDescriptor` | 7.5 | -|`cudnnSetOpTensorDescriptor` |`hipdnnSetOpTensorDescriptor` | 7.5 | -|`cudnnGetOpTensorDescriptor` |`hipdnnGetOpTensorDescriptor` | 7.5 | -|`cudnnDestroyOpTensorDescriptor` |`hipdnnDestroyOpTensorDescriptor` | 7.5 | -|`cudnnOpTensor` |`hipdnnOpTensor` | 7.5 | -|`cudnnGetFoldedConvBackwardDataDescriptors` | | 10.1 | -|`cudnnCreateReduceTensorDescriptor` |`hipdnnCreateReduceTensorDescriptor` | 7.5 | -|`cudnnSetReduceTensorDescriptor` |`hipdnnSetReduceTensorDescriptor` | 7.5 | -|`cudnnGetReduceTensorDescriptor` |`hipdnnGetReduceTensorDescriptor` | 7.5 | -|`cudnnDestroyReduceTensorDescriptor` |`hipdnnDestroyReduceTensorDescriptor` | 7.5 | -|`cudnnGetReductionIndicesSize` | | 7.5 | -|`cudnnGetReductionWorkspaceSize` |`hipdnnGetReductionWorkspaceSize` | 7.5 | -|`cudnnReduceTensor` |`hipdnnReduceTensor` | 7.5 | -|`cudnnSetTensor` |`hipdnnSetTensor` | -|`cudnnScaleTensor` |`hipdnnScaleTensor` | -|`cudnnCreateFilterDescriptor` |`hipdnnCreateFilterDescriptor` | -|`cudnnSetFilter4dDescriptor` |`hipdnnSetFilter4dDescriptor` | -|`cudnnGetFilter4dDescriptor` |`hipdnnGetFilter4dDescriptor` | -|`cudnnSetFilterNdDescriptor` |`hipdnnSetFilterNdDescriptor` | -|`cudnnGetFilterNdDescriptor` |`hipdnnGetFilterNdDescriptor` | -|`cudnnGetFilterSizeInBytes` | | 10.1 | -|`cudnnTransformFilter` | | 10.1 | -|`cudnnDestroyFilterDescriptor` |`hipdnnDestroyFilterDescriptor` | -|`cudnnReorderFilterAndBias` | | 10.1 | -|`cudnnCreateConvolutionDescriptor` |`hipdnnCreateConvolutionDescriptor` | -|`cudnnSetConvolutionMathType` |`hipdnnSetConvolutionMathType` | 8.0 | -|`cudnnGetConvolutionMathType` | | 8.0 | -|`cudnnSetConvolutionGroupCount` |`hipdnnSetConvolutionGroupCount` | 8.0 | -|`cudnnGetConvolutionGroupCount` | | 8.0 | -|`cudnnSetConvolutionReorderType` | | 10.1 | -|`cudnnGetConvolutionReorderType` | | 10.1 | -|`cudnnSetConvolution2dDescriptor` |`hipdnnSetConvolution2dDescriptor` | -|`cudnnGetConvolution2dDescriptor` |`hipdnnGetConvolution2dDescriptor` | -|`cudnnGetConvolution2dForwardOutputDim` |`hipdnnGetConvolution2dForwardOutputDim` | -|`cudnnSetConvolutionNdDescriptor` |`hipdnnSetConvolutionNdDescriptor` | -|`cudnnGetConvolutionNdDescriptor` | | -|`cudnnGetConvolutionNdForwardOutputDim` | | -|`cudnnDestroyConvolutionDescriptor` | | -|`cudnnGetConvolutionForwardAlgorithmMaxCount` | | 8.0 | -|`cudnnFindConvolutionForwardAlgorithm` |`hipdnnFindConvolutionForwardAlgorithm` | -|`cudnnFindConvolutionForwardAlgorithmEx` |`hipdnnFindConvolutionForwardAlgorithmEx` | 7.5 | -|`cudnnGetConvolutionForwardAlgorithm` |`hipdnnGetConvolutionForwardAlgorithm` | -|`cudnnGetConvolutionForwardAlgorithm_v7` | | 8.0 | -|`cudnnGetConvolutionForwardWorkspaceSize` |`hipdnnGetConvolutionForwardWorkspaceSize` | -|`cudnnConvolutionForward` |`hipdnnConvolutionForward` | -|`cudnnConvolutionBiasActivationForward` | | 7.5 | -|`cudnnConvolutionBackwardBias` |`hipdnnConvolutionBackwardBias` | -|`cudnnGetConvolutionBackwardFilterAlgorithmMaxCount` | | 8.0 | -|`cudnnFindConvolutionBackwardFilterAlgorithm` |`hipdnnFindConvolutionBackwardFilterAlgorithm` | -|`cudnnFindConvolutionBackwardFilterAlgorithmEx` |`hipdnnFindConvolutionBackwardFilterAlgorithmEx` | 7.5 | -|`cudnnGetConvolutionBackwardFilterAlgorithm` |`hipdnnGetConvolutionBackwardFilterAlgorithm` | -|`cudnnGetConvolutionBackwardFilterAlgorithm_v7` | | 8.0 | -|`cudnnGetConvolutionBackwardFilterWorkspaceSize` |`hipdnnGetConvolutionBackwardFilterWorkspaceSize`| -|`cudnnConvolutionBackwardFilter` |`hipdnnConvolutionBackwardFilter` | -|`cudnnGetConvolutionBackwardDataAlgorithmMaxCount` | | 8.0 | -|`cudnnFindConvolutionBackwardDataAlgorithm` |`hipdnnFindConvolutionBackwardDataAlgorithm` | -|`cudnnFindConvolutionBackwardDataAlgorithmEx` |`hipdnnFindConvolutionBackwardDataAlgorithmEx` | 7.5 | -|`cudnnGetConvolutionBackwardDataAlgorithm` |`hipdnnGetConvolutionBackwardDataAlgorithm` | -|`cudnnGetConvolutionBackwardDataAlgorithm_v7` | | 8.0 | -|`cudnnGetConvolutionBackwardDataWorkspaceSize` |`hipdnnGetConvolutionBackwardDataWorkspaceSize` | -|`cudnnConvolutionBackwardData` |`hipdnnConvolutionBackwardData` | -|`cudnnIm2Col` | | -|`cudnnSoftmaxForward` |`hipdnnSoftmaxForward` | -|`cudnnSoftmaxBackward` |`hipdnnSoftmaxBackward` | -|`cudnnCreatePoolingDescriptor` |`hipdnnCreatePoolingDescriptor` | -|`cudnnSetPooling2dDescriptor` |`hipdnnSetPooling2dDescriptor` | -|`cudnnGetPooling2dDescriptor` |`hipdnnGetPooling2dDescriptor` | -|`cudnnSetPoolingNdDescriptor` |`hipdnnSetPoolingNdDescriptor` | -|`cudnnGetPoolingNdDescriptor` | | -|`cudnnGetPoolingNdForwardOutputDim` | | -|`cudnnGetPooling2dForwardOutputDim` |`hipdnnGetPooling2dForwardOutputDim` | -|`cudnnDestroyPoolingDescriptor` |`hipdnnDestroyPoolingDescriptor` | -|`cudnnPoolingForward` |`hipdnnPoolingForward` | -|`cudnnPoolingBackward` |`hipdnnPoolingBackward` | -|`cudnnCreateActivationDescriptor` |`hipdnnCreateActivationDescriptor` | -|`cudnnSetActivationDescriptor` |`hipdnnSetActivationDescriptor` | -|`cudnnGetActivationDescriptor` |`hipdnnGetActivationDescriptor` | -|`cudnnDestroyActivationDescriptor` |`hipdnnDestroyActivationDescriptor` | -|`cudnnActivationForward` |`hipdnnActivationForward` | -|`cudnnActivationBackward` |`hipdnnActivationBackward` | -|`cudnnCreateLRNDescriptor` |`hipdnnCreateLRNDescriptor` | -|`cudnnSetLRNDescriptor` |`hipdnnSetLRNDescriptor` | -|`cudnnGetLRNDescriptor` |`hipdnnGetLRNDescriptor` | -|`cudnnDestroyLRNDescriptor` |`hipdnnDestroyLRNDescriptor` | -|`cudnnLRNCrossChannelForward` |`hipdnnLRNCrossChannelForward` | -|`cudnnLRNCrossChannelBackward` |`hipdnnLRNCrossChannelBackward` | -|`cudnnDivisiveNormalizationForward` | | -|`cudnnDivisiveNormalizationBackward` | | -|`cudnnDeriveBNTensorDescriptor` |`hipdnnDeriveBNTensorDescriptor` | -|`cudnnBatchNormalizationForwardTraining` |`hipdnnBatchNormalizationForwardTraining` | -|`cudnnBatchNormalizationForwardTrainingEx` | | 9.0 | -|`cudnnBatchNormalizationForwardInference` |`hipdnnBatchNormalizationForwardInference` | -|`cudnnBatchNormalizationBackward` |`hipdnnBatchNormalizationBackward` | -|`cudnnBatchNormalizationBackwardEx` | | 9.0 | -|`cudnnCreateSpatialTransformerDescriptor` | | 7.5 | -|`cudnnSetSpatialTransformerNdDescriptor` | | 7.5 | -|`cudnnDestroySpatialTransformerDescriptor` | | 7.5 | -|`cudnnSpatialTfGridGeneratorForward` | | 7.5 | -|`cudnnSpatialTfGridGeneratorBackward` | | 7.5 | -|`cudnnSpatialTfSamplerForward` | | 7.5 | -|`cudnnSpatialTfSamplerBackward` | | 7.5 | -|`cudnnCreateDropoutDescriptor` |`hipdnnCreateDropoutDescriptor` | 7.5 | -|`cudnnDestroyDropoutDescriptor` |`hipdnnDestroyDropoutDescriptor` | 7.5 | -|`cudnnDropoutGetStatesSize` |`hipdnnDropoutGetStatesSize` | 7.5 | -|`cudnnDropoutGetReserveSpaceSize` | | 7.5 | -|`cudnnSetDropoutDescriptor` |`hipdnnSetDropoutDescriptor` | 7.5 | -|`cudnnGetDropoutDescriptor` | | 8.0 | -|`cudnnRestoreDropoutDescriptor` | | 8.0 | -|`cudnnDropoutForward` | | 7.5 | -|`cudnnDropoutBackward` | | 7.5 | -|`cudnnCreateRNNDescriptor` |`hipdnnCreateRNNDescriptor` | 7.5 | -|`cudnnDestroyRNNDescriptor` |`hipdnnDestroyRNNDescriptor` | 7.5 | -|`cudnnGetRNNForwardInferenceAlgorithmMaxCount` | | 8.0 | -|`cudnnFindRNNForwardInferenceAlgorithmEx` | | 8.0 | -|`cudnnGetRNNForwardTrainingAlgorithmMaxCount` | | 8.0 | -|`cudnnFindRNNForwardTrainingAlgorithmEx` | | 8.0 | -|`cudnnGetRNNBackwardDataAlgorithmMaxCount` | | 8.0 | -|`cudnnFindRNNBackwardDataAlgorithmEx` | | 8.0 | -|`cudnnGetRNNBackwardWeightsAlgorithmMaxCount` | | 8.0 | -|`cudnnFindRNNBackwardWeightsAlgorithmEx` | | 8.0 | -|`cudnnCreatePersistentRNNPlan` |`hipdnnCreatePersistentRNNPlan` | 7.5 | -|`cudnnSetPersistentRNNPlan` |`hipdnnSetPersistentRNNPlan` | 7.5 | -|`cudnnDestroyPersistentRNNPlan` |`hipdnnDestroyPersistentRNNPlan` | 7.5 | -|`cudnnSetRNNDescriptor` |`hipdnnSetRNNDescriptor` | 7.5 | -|`cudnnGetRNNDescriptor` |`hipdnnGetRNNDescriptor` | 8.0 | -|`cudnnSetRNNProjectionLayers` | | 8.0 | -|`cudnnGetRNNProjectionLayers` | | 8.0 | -|`cudnnSetRNNAlgorithmDescriptor` | | 8.0 | -|`cudnnSetRNNMatrixMathType` | | 8.0 | -|`cudnnGetRNNMatrixMathType` | | 8.0 | -|`cudnnGetRNNWorkspaceSize` |`hipdnnGetRNNWorkspaceSize` | 7.5 | -|`cudnnGetRNNTrainingReserveSize` |`hipdnnGetRNNTrainingReserveSize` | 7.5 | -|`cudnnGetRNNParamsSize` |`hipdnnGetRNNParamsSize` | 7.5 | -|`cudnnGetRNNLinLayerMatrixParams` |`hipdnnGetRNNLinLayerMatrixParams` | 7.5 | -|`cudnnGetRNNLinLayerBiasParams` |`hipdnnGetRNNLinLayerBiasParams` | 7.5 | -|`cudnnRNNForwardInference` |`hipdnnRNNForwardInference` | 7.5 | -|`cudnnRNNForwardInferenceEx` | | 9.0 | -|`cudnnRNNForwardTraining` |`hipdnnRNNForwardTraining` | 7.5 | -|`cudnnRNNForwardTrainingEx` | | 9.0 | -|`cudnnRNNBackwardData` |`hipdnnRNNBackwardData` | 7.5 | -|`cudnnRNNBackwardDataEx` | | 9.0 | -|`cudnnRNNBackwardWeights` |`hipdnnRNNBackwardWeights` | 7.5 | -|`cudnnRNNBackwardWeightsEx` | | 9.0 | -|`cudnnSetRNNPaddingMode` | | 9.0 | -|`cudnnGetRNNPaddingMode` | | 9.0 | -|`cudnnCreateRNNDataDescriptor` | | 9.0 | -|`cudnnDestroyRNNDataDescriptor` | | 9.0 | -|`cudnnSetRNNDataDescriptor` | | 9.0 | -|`cudnnGetRNNDataDescriptor` | | 9.0 | -|`cudnnSetRNNBiasMode` | | 9.0 | -|`cudnnGetRNNBiasMode` | | 9.0 | -|`cudnnCreateCTCLossDescriptor` | | 8.0 | -|`cudnnSetCTCLossDescriptor` | | 8.0 | -|`cudnnSetCTCLossDescriptorEx` | | 10.1 | -|`cudnnGetCTCLossDescriptor` | | 8.0 | -|`cudnnGetCTCLossDescriptorEx` | | 10.1 | -|`cudnnDestroyCTCLossDescriptor` | | 8.0 | -|`cudnnCTCLoss` | | 8.0 | -|`cudnnGetCTCLossWorkspaceSize` | | 8.0 | -|`cudnnCreateAlgorithmDescriptor` | | 8.0 | -|`cudnnSetAlgorithmDescriptor` | | 8.0 | -|`cudnnGetAlgorithmDescriptor` | | 8.0 | -|`cudnnCopyAlgorithmDescriptor` | | 8.0 | -|`cudnnDestroyAlgorithmDescriptor` | | 8.0 | -|`cudnnCreateAlgorithmPerformance` | | 8.0 | -|`cudnnSetAlgorithmPerformance` | | 8.0 | -|`cudnnGetAlgorithmPerformance` | | 8.0 | -|`cudnnDestroyAlgorithmPerformance` | | 8.0 | -|`cudnnGetAlgorithmSpaceSize` | | 8.0 | -|`cudnnSaveAlgorithm` | | 8.0 | -|`cudnnRestoreAlgorithm` | | 8.0 | -|`cudnnSetRNNDescriptor_v5` |`hipdnnSetRNNDescriptor_v5` | 8.0 | -|`cudnnSetRNNDescriptor_v6` |`hipdnnSetRNNDescriptor_v6` | 7.5 | -|`cudnnSetCallback` | | 8.0 | -|`cudnnGetCallback` | | 8.0 | -|`cudnnGetBatchNormalizationForwardTrainingExWorkspaceSize` | | 9.0 | -|`cudnnGetBatchNormalizationBackwardExWorkspaceSize` | | 9.0 | -|`cudnnGetBatchNormalizationTrainingExReserveSpaceSize` | | 9.0 | -|`cudnnRNNSetClip` | | 9.0 | -|`cudnnRNNGetClip` | | 9.0 | -|`cudnnCreateSeqDataDescriptor` | | 9.0 | -|`cudnnDestroySeqDataDescriptor` | | 9.0 | -|`cudnnSetSeqDataDescriptor` | | 9.0 | -|`cudnnGetSeqDataDescriptor` | | 9.0 | -|`cudnnCreateAttnDescriptor` | | 9.0 | -|`cudnnDestroyAttnDescriptor` | | 9.0 | -|`cudnnSetAttnDescriptor` | | 9.0 | -|`cudnnGetAttnDescriptor` | | 9.0 | -|`cudnnGetMultiHeadAttnBuffers` | | 9.0 | -|`cudnnGetMultiHeadAttnWeights` | | 9.0 | -|`cudnnMultiHeadAttnForward` | | 9.0 | -|`cudnnMultiHeadAttnBackwardData` | | 9.0 | -|`cudnnMultiHeadAttnBackwardWeights` | | 9.0 | -|`cudnnCreateFusedOpsConstParamPack` | | 10.1 | -|`cudnnDestroyFusedOpsConstParamPack` | | 10.1 | -|`cudnnSetFusedOpsConstParamPackAttribute` | | 10.1 | -|`cudnnGetFusedOpsConstParamPackAttribute` | | 10.1 | -|`cudnnCreateFusedOpsVariantParamPack` | | 10.1 | -|`cudnnDestroyFusedOpsVariantParamPack` | | 10.1 | -|`cudnnSetFusedOpsVariantParamPackAttribute` | | 10.1 | -|`cudnnGetFusedOpsVariantParamPackAttribute` | | 10.1 | -|`cudnnCreateFusedOpsPlan` | | 10.1 | -|`cudnnDestroyFusedOpsPlan` | | 10.1 | -|`cudnnMakeFusedOpsPlan` | | 10.1 | -|`cudnnFusedOpsExecute` | | 10.1 | - -\* 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 deleted file mode 100644 index 4dac167525..0000000000 --- a/docs/markdown/CUFFT_API_supported_by_HIP.md +++ /dev/null @@ -1,81 +0,0 @@ -# CUFFT API supported by HIP - -## **1. CUFFT Data types** - -| **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 version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cufftPlan1d` |`hipfftPlan1d` | -|`cufftPlan2d` |`hipfftPlan2d` | -|`cufftPlan3d` |`hipfftPlan3d` | -|`cufftPlanMany` |`hipfftPlanMany` | -|`cufftMakePlan1d` |`hipfftMakePlan1d` | -|`cufftMakePlan2d` |`hipfftMakePlan2d` | -|`cufftMakePlan3d` |`hipfftMakePlan3d` | -|`cufftMakePlanMany` |`hipfftMakePlanMany` | -|`cufftMakePlanMany64` |`hipfftMakePlanMany64` | 7.5 | -|`cufftGetSizeMany64` |`hipfftGetSizeMany64` | 7.5 | -|`cufftEstimate1d` |`hipfftEstimate1d` | -|`cufftEstimate2d` |`hipfftEstimate2d` | -|`cufftEstimate3d` |`hipfftEstimate3d` | -|`cufftEstimateMany` |`hipfftEstimateMany` | -|`cufftCreate` |`hipfftCreate` | -|`cufftGetSize1d` |`hipfftGetSize1d` | -|`cufftGetSize2d` |`hipfftGetSize2d` | -|`cufftGetSize3d` |`hipfftGetSize3d` | -|`cufftGetSizeMany` |`hipfftGetSizeMany` | -|`cufftGetSize` |`hipfftGetSize` | -|`cufftSetWorkArea` |`hipfftSetWorkArea` | -|`cufftSetAutoAllocation` |`hipfftSetAutoAllocation` | -|`cufftExecC2C` |`hipfftExecC2C` | -|`cufftExecR2C` |`hipfftExecR2C` | -|`cufftExecC2R` |`hipfftExecC2R` | -|`cufftExecZ2Z` |`hipfftExecZ2Z` | -|`cufftExecD2Z` |`hipfftExecD2Z` | -|`cufftExecZ2D` |`hipfftExecZ2D` | -|`cufftSetStream` |`hipfftSetStream` | -|`cufftDestroy` |`hipfftDestroy` | -|`cufftGetVersion` |`hipfftGetVersion` | -|`cufftGetProperty` | | 8.0 | diff --git a/docs/markdown/CURAND_API_supported_by_HIP.md b/docs/markdown/CURAND_API_supported_by_HIP.md deleted file mode 100644 index d4a3111c9c..0000000000 --- a/docs/markdown/CURAND_API_supported_by_HIP.md +++ /dev/null @@ -1,172 +0,0 @@ -# CURAND API supported by HIP - -## **1. CURAND Data types** - -| **type** | **CUDA** |**CUDA version\***| **HIP** | **HIP value** (if differs) | -|-------------:|---------------------------------------------------------------|:----------------:|------------------------------------------------------------|----------------------------| -| define |`CURAND_VER_MAJOR` | 10.1 Update 2 | | -| define |`CURAND_VER_MINOR` | 10.1 Update 2 | | -| define |`CURAND_VER_PATCH` | 10.1 Update 2 | | -| define |`CURAND_VER_BUILD` | 10.1 Update 2 | | -| define |`CURAND_VERSION` | 10.1 Update 2 | | -| enum |***`curandStatus`*** | |***`hiprandStatus`*** | -| enum |***`curandStatus_t`*** | |***`hiprandStatus_t`*** | -| 0 |*`CURAND_STATUS_SUCCESS`* | |*`HIPRAND_STATUS_SUCCESS`* | -| 100 |*`CURAND_STATUS_VERSION_MISMATCH`* | |*`HIPRAND_STATUS_VERSION_MISMATCH`* | -| 101 |*`CURAND_STATUS_NOT_INITIALIZED`* | |*`HIPRAND_STATUS_NOT_INITIALIZED`* | -| 102 |*`CURAND_STATUS_ALLOCATION_FAILED`* | |*`HIPRAND_STATUS_ALLOCATION_FAILED`* | -| 103 |*`CURAND_STATUS_TYPE_ERROR`* | |*`HIPRAND_STATUS_TYPE_ERROR`* | -| 104 |*`CURAND_STATUS_OUT_OF_RANGE`* | |*`HIPRAND_STATUS_OUT_OF_RANGE`* | -| 105 |*`CURAND_STATUS_LENGTH_NOT_MULTIPLE`* | |*`HIPRAND_STATUS_LENGTH_NOT_MULTIPLE`* | -| 106 |*`CURAND_STATUS_DOUBLE_PRECISION_REQUIRED`* | |*`HIPRAND_STATUS_DOUBLE_PRECISION_REQUIRED`* | -| 201 |*`CURAND_STATUS_LAUNCH_FAILURE`* | |*`HIPRAND_STATUS_LAUNCH_FAILURE`* | -| 202 |*`CURAND_STATUS_PREEXISTING_FAILURE`* | |*`HIPRAND_STATUS_PREEXISTING_FAILURE`* | -| 203 |*`CURAND_STATUS_INITIALIZATION_FAILED`* | |*`HIPRAND_STATUS_INITIALIZATION_FAILED`* | -| 204 |*`CURAND_STATUS_ARCH_MISMATCH`* | |*`HIPRAND_STATUS_ARCH_MISMATCH`* | -| 999 |*`CURAND_STATUS_INTERNAL_ERROR`* | |*`HIPRAND_STATUS_INTERNAL_ERROR`* | -| enum |***`curandRngType`*** | |***`hiprandRngType`*** | -| enum |***`curandRngType_t`*** | |***`hiprandRngType_t`*** | -| 0 |*`CURAND_RNG_TEST`* | |*`HIPRAND_RNG_TEST`* | -| 100 |*`CURAND_RNG_PSEUDO_DEFAULT`* | |*`HIPRAND_RNG_PSEUDO_DEFAULT`* | 400 | -| 101 |*`CURAND_RNG_PSEUDO_XORWOW`* | |*`HIPRAND_RNG_PSEUDO_XORWOW`* | 401 | -| 121 |*`CURAND_RNG_PSEUDO_MRG32K3A`* | |*`HIPRAND_RNG_PSEUDO_MRG32K3A`* | 402 | -| 141 |*`CURAND_RNG_PSEUDO_MTGP32`* | |*`HIPRAND_RNG_PSEUDO_MTGP32`* | 403 | -| 142 |*`CURAND_RNG_PSEUDO_MT19937`* | |*`HIPRAND_RNG_PSEUDO_MT19937`* | 404 | -| 161 |*`CURAND_RNG_PSEUDO_PHILOX4_32_10`* | |*`HIPRAND_RNG_PSEUDO_PHILOX4_32_10`* | 405 | -| 200 |*`CURAND_RNG_QUASI_DEFAULT`* | |*`HIPRAND_RNG_QUASI_DEFAULT`* | 500 | -| 201 |*`CURAND_RNG_QUASI_SOBOL32`* | |*`HIPRAND_RNG_QUASI_SOBOL32`* | 501 | -| 202 |*`CURAND_RNG_QUASI_SCRAMBLED_SOBOL32`* | |*`HIPRAND_RNG_QUASI_SCRAMBLED_SOBOL32`* | 502 | -| 203 |*`CURAND_RNG_QUASI_SOBOL64`* | |*`HIPRAND_RNG_QUASI_SOBOL64`* | 503 | -| 204 |*`CURAND_RNG_QUASI_SCRAMBLED_SOBOL64`* | |*`HIPRAND_RNG_QUASI_SCRAMBLED_SOBOL64`* | 504 | -| enum |***`curandOrdering`*** | | | -| enum |***`curandOrdering_t`*** | | | -| 100 |*`CURAND_ORDERING_PSEUDO_BEST`* | | | -| 101 |*`CURAND_ORDERING_PSEUDO_DEFAULT`* | | | -| 102 |*`CURAND_ORDERING_PSEUDO_SEEDED`* | | | -| 201 |*`CURAND_ORDERING_QUASI_DEFAULT`* | | | -| enum |***`curandDirectionVectorSet`*** | | | -| enum |***`curandDirectionVectorSet_t`*** | | | -| 101 |*`CURAND_DIRECTION_VECTORS_32_JOEKUO6`* | | | -| 102 |*`CURAND_SCRAMBLED_DIRECTION_VECTORS_32_JOEKUO6`* | | | -| 103 |*`CURAND_DIRECTION_VECTORS_64_JOEKUO6`* | | | -| 104 |*`CURAND_SCRAMBLED_DIRECTION_VECTORS_64_JOEKUO6`* | | | -| uint | `curandDirectionVectors32_t` | | `hiprandDirectionVectors32_t` | -| uint | `curandDirectionVectors64_t` | | | -| struct | `curandGenerator_st` | | `hiprandGenerator_st` | -| struct* | `curandGenerator_t` | | `hiprandGenerator_t` | -| double | `curandDistribution_st` | | | -| double | `curandHistogramM2V_st` | | | -| double* | `curandDistribution_t` | | | -| double* | `curandHistogramM2V_t` | | | -| struct | `curandDistributionShift_st` | | | -| struct* | `curandDistributionShift_t` | | | -| struct | `curandDistributionM2Shift_st` | | | -| struct* | `curandDistributionM2Shift_t` | | | -| struct | `curandHistogramM2_st` | | | -| struct* | `curandHistogramM2_t` | | | -| uint | `curandHistogramM2K_st` | | | -| uint* | `curandHistogramM2K_t` | | | -| struct | `curandDiscreteDistribution_st` | | `hiprandDiscreteDistribution_st` | -| struct* | `curandDiscreteDistribution_t` | | `hiprandDiscreteDistribution_t` | -| enum |***`curandMethod`*** | | | -| enum |***`curandMethod_t`*** | | | -| 0 |*`CURAND_CHOOSE_BEST`* | | | -| 1 |*`CURAND_ITR`* | | | -| 2 |*`CURAND_KNUTH`* | | | -| 3 |*`CURAND_HITR`* | | | -| 4 |*`CURAND_M1`* | | | -| 5 |*`CURAND_M2`* | | | -| 6 |*`CURAND_BINARY_SEARCH`* | | | -| 7 |*`CURAND_DISCRETE_GAUSS`* | | | -| 8 |*`CURAND_REJECTION`* | | | -| 9 |*`CURAND_DEVICE_API`* | | | -| 10 |*`CURAND_FAST_REJECTION`* | | | -| 11 |*`CURAND_3RD`* | | | -| 12 |*`CURAND_DEFINITION`* | | | -| 13 |*`CURAND_POISSON`* | | | -| struct | `curandStateMtgp32` | | `hiprandStateMtgp32` | -| typedef | `curandStateMtgp32_t` | | `hiprandStateMtgp32_t` | -| struct | `curandStateScrambledSobol64` | | | -| typedef | `curandStateScrambledSobol64_t` | | | -| struct | `curandStateSobol64` | | | -| typedef | `curandStateSobol64_t` | | | -| struct | `curandStateScrambledSobol32` | | | -| typedef | `curandStateScrambledSobol32_t` | | | -| struct | `curandStateSobol32` | | `hiprandStateSobol32` | -| typedef | `curandStateSobol32_t` | | `hiprandStateSobol32_t` | -| struct | `curandStateMRG32k3a` | | `hiprandStateMRG32k3a` | -| typedef | `curandStateMRG32k3a_t` | | `hiprandStateMRG32k3a_t` | -| struct | `curandStatePhilox4_32_10` | | `hiprandStatePhilox4_32_10` | -| typedef | `curandStatePhilox4_32_10_t` | | `hiprandStatePhilox4_32_10_t` | -| struct | `curandStateXORWOW` | | `hiprandStateXORWOW` | -| typedef | `curandStateXORWOW_t` | | `hiprandStateXORWOW_t` | -| struct | `curandState` | | `hiprandState` | -| typedef | `curandState_t` | | `hiprandState_t` | - -## **2. Host API Functions** - -| **CUDA** | **HIP** | -|-----------------------------------------------------------|--------------------------------------------| -| `curandCreateGenerator` | `hiprandCreateGenerator` | -| `curandCreateGeneratorHost` | `hiprandCreateGeneratorHost` | -| `curandCreatePoissonDistribution` | `hiprandCreatePoissonDistribution` | -| `curandDestroyDistribution` | `hiprandDestroyDistribution` | -| `curandDestroyGenerator` | `hiprandDestroyGenerator` | -| `curandGenerate` | `hiprandGenerate` | -| `curandGenerateLogNormal` | `hiprandGenerateLogNormal` | -| `curandGenerateLogNormalDouble` | `hiprandGenerateLogNormalDouble` | -| `curandGenerateLongLong` | | -| `curandGenerateNormal` | `hiprandGenerateNormal` | -| `curandGenerateNormalDouble` | `hiprandGenerateNormalDouble` | -| `curandGeneratePoisson` | `hiprandGeneratePoisson` | -| `curandGenerateSeeds` | `hiprandGenerateSeeds` | -| `curandGenerateUniform` | `hiprandGenerateUniform` | -| `curandGenerateUniformDouble` | `hiprandGenerateUniformDouble` | -| `curandGetDirectionVectors32` | | -| `curandGetDirectionVectors64` | | -| `curandGetProperty` | | -| `curandGetScrambleConstants32` | | -| `curandGetScrambleConstants64` | | -| `curandGetVersion` | `hiprandGetVersion` | -| `curandSetGeneratorOffset` | `hiprandSetGeneratorOffset` | -| `curandSetGeneratorOrdering` | | -| `curandSetPseudoRandomGeneratorSeed` | `hiprandSetPseudoRandomGeneratorSeed` | -| `curandSetQuasiRandomGeneratorDimensions` | `hiprandSetQuasiRandomGeneratorDimensions` | -| `curandSetStream` | `hiprandSetStream` | -| `curandMakeMTGP32Constants` | `hiprandMakeMTGP32Constants` | -| `curandMakeMTGP32KernelState` | `hiprandMakeMTGP32KernelState` | - -## **3. Device API Functions** - -| **CUDA** | **HIP** | -|-----------------------------------------------------------|--------------------------------------------| -| `curand` | `hiprand` | -| `curand_init` | `hiprand_init` | -| `curand_log_normal` | `hiprand_log_normal` | -| `curand_log_normal_double` | `hiprand_log_normal_double` | -| `curand_log_normal2` | `hiprand_log_normal2` | -| `curand_log_normal2_double` | `hiprand_log_normal2_double` | -| `curand_log_normal4` | `hiprand_log_normal4` | -| `curand_log_normal4_double` | `hiprand_log_normal4_double` | -| `curand_mtgp32_single` | | -| `curand_mtgp32_single_specific` | | -| `curand_mtgp32_specific` | | -| `curand_normal` | `hiprand_normal` | -| `curand_normal_double` | `hiprand_normal_double` | -| `curand_normal2` | `hiprand_normal2` | -| `curand_normal2_double` | `hiprand_normal2_double` | -| `curand_normal4` | `hiprand_normal4` | -| `curand_normal4_double` | `hiprand_normal4_double` | -| `curand_uniform` | `hiprand_uniform` | -| `curand_uniform_double` | `hiprand_uniform_double` | -| `curand_uniform2_double` | `hiprand_uniform2_double` | -| `curand_uniform4` | `hiprand_uniform4` | -| `curand_uniform4_double` | `hiprand_uniform4_double` | -| `curand_discrete` | `hiprand_discrete` | -| `curand_discrete4` | `hiprand_discrete4` | -| `curand_poisson` | `hiprand_poisson` | -| `curand_poisson4` | `hiprand_poisson4` | -| `curand_Philox4x32_10` | | -| `skipahead` | `skipahead` | -| `skipahead_sequence` | `skipahead_sequence` | -| `skipahead_subsequence` | `skipahead_subsequence` | diff --git a/docs/markdown/CUSPARSE_API_supported_by_HIP.md b/docs/markdown/CUSPARSE_API_supported_by_HIP.md deleted file mode 100644 index 2c0a1bea9d..0000000000 --- a/docs/markdown/CUSPARSE_API_supported_by_HIP.md +++ /dev/null @@ -1,797 +0,0 @@ -# CUSPARSE API supported by HIP - -## **1. cuSPARSE Data types** - -| **type** | **CUDA** |**CUDA version\***| **HIP** | -|-------------:|---------------------------------------------------------------|:-----------------|------------------------------------------------------------| -| define |`CUSPARSE_VER_MAJOR` | 10.1 Update 2 | | -| define |`CUSPARSE_VER_MINOR` | 10.1 Update 2 | | -| define |`CUSPARSE_VER_PATCH` | 10.1 Update 2 | | -| define |`CUSPARSE_VER_BUILD` | 10.1 Update 2 | | -| define |`CUSPARSE_VERSION` | 10.1 Update 2 | | -| enum |***`cusparseAction_t`*** | |***`hipsparseAction_t`*** | -| 0 |*`CUSPARSE_ACTION_SYMBOLIC`* | |*`HIPSPARSE_ACTION_SYMBOLIC`* | -| 1 |*`CUSPARSE_ACTION_NUMERIC`* | |*`HIPSPARSE_ACTION_NUMERIC`* | -| enum |***`cusparseDirection_t`*** | |***`hipsparseDirection_t`*** | -| 0 |*`CUSPARSE_DIRECTION_ROW`* | |*`HIPSPARSE_DIRECTION_ROW`* | -| 1 |*`CUSPARSE_DIRECTION_COLUMN`* | |*`HIPSPARSE_DIRECTION_COLUMN`* | -| enum |***`cusparseHybPartition_t`*** | |***`hipsparseHybPartition_t`*** | -| 0 |*`CUSPARSE_HYB_PARTITION_AUTO`* | |*`HIPSPARSE_HYB_PARTITION_AUTO`* | -| 1 |*`CUSPARSE_HYB_PARTITION_USER`* | |*`HIPSPARSE_HYB_PARTITION_USER`* | -| 2 |*`CUSPARSE_HYB_PARTITION_MAX`* | |*`HIPSPARSE_HYB_PARTITION_MAX`* | -| enum |***`cusparseDiagType_t`*** | |***`hipsparseDiagType_t`*** | -| 0 |*`CUSPARSE_DIAG_TYPE_NON_UNIT`* | |*`HIPSPARSE_DIAG_TYPE_NON_UNIT`* | -| 1 |*`CUSPARSE_DIAG_TYPE_UNIT`* | |*`HIPSPARSE_DIAG_TYPE_UNIT`* | -| enum |***`cusparseFillMode_t`*** | |***`hipsparseFillMode_t`*** | -| 0 |*`CUSPARSE_FILL_MODE_LOWER`* | |*`HIPSPARSE_FILL_MODE_LOWER`* | -| 1 |*`CUSPARSE_FILL_MODE_UPPER`* | |*`HIPSPARSE_FILL_MODE_UPPER`* | -| enum |***`cusparseIndexBase_t`*** | |***`hipsparseIndexBase_t`*** | -| 0 |*`CUSPARSE_INDEX_BASE_ZERO`* | |*`HIPSPARSE_INDEX_BASE_ZERO`* | -| 1 |*`CUSPARSE_INDEX_BASE_ONE`* | |*`HIPSPARSE_INDEX_BASE_ONE`* | -| enum |***`cusparseMatrixType_t`*** | |***`hipsparseMatrixType_t`*** | -| 0 |*`CUSPARSE_MATRIX_TYPE_GENERAL`* | |*`HIPSPARSE_MATRIX_TYPE_GENERAL`* | -| 1 |*`CUSPARSE_MATRIX_TYPE_SYMMETRIC`* | |*`HIPSPARSE_MATRIX_TYPE_SYMMETRIC`* | -| 2 |*`CUSPARSE_MATRIX_TYPE_HERMITIAN`* | |*`HIPSPARSE_MATRIX_TYPE_HERMITIAN`* | -| 3 |*`CUSPARSE_MATRIX_TYPE_TRIANGULAR`* | |*`HIPSPARSE_MATRIX_TYPE_TRIANGULAR`* | -| enum |***`cusparseOperation_t`*** | |***`hipsparseOperation_t`*** | -| 0 |*`CUSPARSE_OPERATION_NON_TRANSPOSE`* | |*`HIPSPARSE_OPERATION_NON_TRANSPOSE`* | -| 1 |*`CUSPARSE_OPERATION_TRANSPOSE`* | |*`HIPSPARSE_OPERATION_TRANSPOSE`* | -| 2 |*`CUSPARSE_OPERATION_CONJUGATE_TRANSPOSE`* | |*`HIPSPARSE_OPERATION_CONJUGATE_TRANSPOSE`* | -| enum |***`cusparsePointerMode_t`*** | |***`hipsparsePointerMode_t`*** | -| 0 |*`CUSPARSE_POINTER_MODE_HOST`* | |*`HIPSPARSE_POINTER_MODE_HOST`* | -| 1 |*`CUSPARSE_POINTER_MODE_DEVICE`* | |*`HIPSPARSE_POINTER_MODE_DEVICE`* | -| enum |***`cusparseAlgMode_t`*** | 8.0 | | -| 0 |*`CUSPARSE_ALG0`* | 8.0 | | -| 1 |*`CUSPARSE_ALG1`* | 8.0 | | -| 0 |*`CUSPARSE_ALG_NAIVE`* | 9.2 | | -| 1 |*`CUSPARSE_ALG_MERGE_PATH`* | 9.2 | | -| enum |***`cusparseSolvePolicy_t`*** | |***`hipsparseSolvePolicy_t`*** | -| 0 |*`CUSPARSE_SOLVE_POLICY_NO_LEVEL`* | |*`HIPSPARSE_SOLVE_POLICY_NO_LEVEL`* | -| 1 |*`CUSPARSE_SOLVE_POLICY_USE_LEVEL`* | |*`HIPSPARSE_SOLVE_POLICY_USE_LEVEL`* | -| enum |***`cusparseStatus_t`*** | |***`hipsparseMatrixType_t`*** | -| 0 |*`CUSPARSE_STATUS_SUCCESS`* | |*`HIPSPARSE_STATUS_SUCCESS`* | -| 1 |*`CUSPARSE_STATUS_NOT_INITIALIZED`* | |*`HIPSPARSE_STATUS_NOT_INITIALIZED`* | -| 2 |*`CUSPARSE_STATUS_ALLOC_FAILED`* | |*`HIPSPARSE_STATUS_ALLOC_FAILED`* | -| 3 |*`CUSPARSE_STATUS_INVALID_VALUE`* | |*`HIPSPARSE_STATUS_INVALID_VALUE`* | -| 4 |*`CUSPARSE_STATUS_ARCH_MISMATCH`* | |*`HIPSPARSE_STATUS_ARCH_MISMATCH`* | -| 5 |*`CUSPARSE_STATUS_MAPPING_ERROR`* | |*`HIPSPARSE_STATUS_MAPPING_ERROR`* | -| 6 |*`CUSPARSE_STATUS_EXECUTION_FAILED`* | |*`HIPSPARSE_STATUS_EXECUTION_FAILED`* | -| 7 |*`CUSPARSE_STATUS_INTERNAL_ERROR`* | |*`HIPSPARSE_STATUS_INTERNAL_ERROR`* | -| 8 |*`CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED`* | |*`HIPSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED`* | -| 9 |*`CUSPARSE_STATUS_ZERO_PIVOT`* | |*`HIPSPARSE_STATUS_ZERO_PIVOT`* | -| struct |`cusparseContext` | | | -| typedef |`cusparseHandle_t` | |`hipsparseHandle_t` | -| struct |`cusparseHybMat` | | | -| typedef |`cusparseHybMat_t` | |`hipsparseHybMat_t` | -| struct |`cusparseMatDescr` | | | -| typedef |`cusparseMatDescr_t` | |`hipsparseMatDescr_t` | -| struct |`cusparseSolveAnalysisInfo` | | | -| typedef |`cusparseSolveAnalysisInfo_t` | | | -| struct |`csrsv2Info` | | | -| typedef |`csrsv2Info_t` | |`csrsv2Info_t` | -| struct |`csrsm2Info` | 9.2 |`csrsm2Info` | -| typedef |`csrsm2Info_t` | |`csrsm2Info_t` | -| struct |`bsrsv2Info` | | | -| typedef |`bsrsv2Info_t` | | | -| struct |`bsrsm2Info` | | | -| typedef |`bsrsm2Info_t` | | | -| struct |`bsric02Info` | | | -| typedef |`bsric02Info_t` | | | -| struct |`csrilu02Info` | | | -| typedef |`csrilu02Info_t` | |`csrilu02Info_t` | -| struct |`bsrilu02Info` | | | -| typedef |`bsrilu02Info_t` | | | -| struct |`csru2csrInfo` | | | -| typedef |`csru2csrInfo_t` | | | -| struct |`csrgemm2Info` | |`csrgemm2Info` | -| typedef |`csrgemm2Info_t` | |`csrgemm2Info_t` | -| struct |`cusparseColorInfo` | | | -| typedef |`cusparseColorInfo_t` | | | -| struct |`pruneInfo` | 9.0 | | -| typedef |`pruneInfo_t` | 9.0 | | -| enum |***`cusparseCsr2CscAlg_t`*** | 10.1 | | -| 1 |*`CUSPARSE_CSR2CSC_ALG1`* | 10.1 | | -| 2 |*`CUSPARSE_CSR2CSC_ALG2`* | 10.1 | | -| enum |***`cusparseFormat_t`*** | 10.1 | | -| 1 |*`CUSPARSE_FORMAT_CSR`* | 10.1 | | -| 2 |*`CUSPARSE_FORMAT_CSC`* | 10.1 | | -| 3 |*`CUSPARSE_FORMAT_COO`* | 10.1 | | -| 4 |*`CUSPARSE_FORMAT_COO_AOS`* | 10.1 | | -| enum |***`cusparseOrder_t`*** | 10.1 | | -| 1 |*`CUSPARSE_ORDER_COL`* | 10.1 | | -| 2 |*`CUSPARSE_ORDER_ROW`* | 10.1 | | -| enum |***`cusparseSpMVAlg_t`*** | 10.1 | | -| 0 |*`CUSPARSE_MV_ALG_DEFAULT`* | 10.1 | | -| 1 |*`CUSPARSE_COOMV_ALG`* | 10.1 | | -| 2 |*`CUSPARSE_CSRMV_ALG1`* | 10.1 | | -| 3 |*`CUSPARSE_CSRMV_ALG2`* | 10.1 | | -| enum |***`cusparseSpMMAlg_t`*** | 10.1 | | -| 0 |*`CUSPARSE_MM_ALG_DEFAULT`* | 10.1 | | -| 1 |*`CUSPARSE_COOMM_ALG1`* | 10.1 | | -| 2 |*`CUSPARSE_COOMM_ALG2`* | 10.1 | | -| 3 |*`CUSPARSE_COOMM_ALG3`* | 10.1 | | -| 4 |*`CUSPARSE_CSRMM_ALG1`* | 10.1 | | -| enum |***`cusparseIndexType_t`*** | 10.1 | | -| 1 |*`CUSPARSE_INDEX_16U`* | 10.1 | | -| 2 |*`CUSPARSE_INDEX_32I`* | 10.1 | | -| 3 |*`CUSPARSE_INDEX_64I`* | 10.1 | | -| struct |`cusparseSpMatDescr` | 10.1 | | -| typedef |`cusparseSpMatDescr_t` | 10.1 | | -| struct |`cusparseDnMatDescr` | 10.1 | | -| typedef |`cusparseDnMatDescr_t` | 10.1 | | -| struct |`cusparseSpVecDescr` | 10.1 | | -| typedef |`cusparseSpVecDescr_t` | 10.1 | | -| struct |`cusparseDnVecDescr` | 10.1 | | -| typedef |`cusparseDnVecDescr_t` | 10.1 | | - -## **2. cuSPARSE Helper Function Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseCreate` |`hipsparseCreate` | -|`cusparseCreateSolveAnalysisInfo` | | -|`cusparseCreateHybMat` |`hipsparseCreateHybMat` | -|`cusparseCreateMatDescr` |`hipsparseCreateMatDescr` | -|`cusparseDestroy` |`hipsparseDestroy` | -|`cusparseDestroySolveAnalysisInfo` | | -|`cusparseDestroyHybMat` |`hipsparseDestroyHybMat` | -|`cusparseDestroyMatDescr` |`hipsparseDestroyMatDescr` | -|`cusparseGetLevelInfo` | | -|`cusparseGetMatDiagType` |`hipsparseGetMatDiagType` | -|`cusparseGetMatFillMode` |`hipsparseGetMatFillMode` | -|`cusparseGetMatIndexBase` |`hipsparseGetMatIndexBase` | -|`cusparseGetMatType` |`hipsparseGetMatType` | -|`cusparseGetPointerMode` |`hipsparseGetPointerMode` | -|`cusparseGetVersion` |`hipsparseGetVersion` | -|`cusparseSetMatDiagType` |`hipsparseSetMatDiagType` | -|`cusparseSetMatFillMode` |`hipsparseSetMatFillMode` | -|`cusparseSetMatType` |`hipsparseSetMatType` | -|`cusparseSetPointerMode` |`hipsparseSetPointerMode` | -|`cusparseSetStream` |`hipsparseSetStream` | -|`cusparseGetStream` |`hipsparseGetStream` | 8.0 | -|`cusparseCreateCsrsv2Info` |`hipsparseCreateCsrsv2Info` | -|`cusparseDestroyCsrsv2Info` |`hipsparseDestroyCsrsv2Info` | -|`cusparseCreateCsrsm2Info` |`hipsparseCreateCsrsm2Info` | 9.2 | -|`cusparseDestroyCsrsm2Info` |`hipsparseDestroyCsrsm2Info` | 9.2 | -|`cusparseCreateCsric02Info` | | -|`cusparseDestroyCsric02Info` | | -|`cusparseCreateCsrilu02Info` |`hipsparseCreateCsrilu02Info` | -|`cusparseDestroyCsrilu02Info` |`hipsparseDestroyCsrilu02Info` | -|`cusparseCreateBsrsv2Info` | | -|`cusparseDestroyBsrsv2Info` | | -|`cusparseCreateBsrsm2Info` | | -|`cusparseDestroyBsrsm2Info` | | -|`cusparseCreateBsric02Info` | | -|`cusparseDestroyBsric02Info` | | -|`cusparseCreateBsrilu02Info` | | -|`cusparseDestroyBsrilu02Info` | | -|`cusparseCreateCsrgemm2Info` |`hipsparseCreateCsrgemm2Info` | -|`cusparseDestroyCsrgemm2Info` |`hipsparseDestroyCsrgemm2Info` | -|`cusparseCreatePruneInfo` | | 9.0 | -|`cusparseDestroyPruneInfo` | | 9.0 | - -## **3. cuSPARSE Level 1 Function Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSaxpyi` |`hipsparseSaxpyi` | -|`cusparseDaxpyi` |`hipsparseDaxpyi` | -|`cusparseCaxpyi` |`hipsparseCaxpyi` | -|`cusparseZaxpyi` |`hipsparseZaxpyi` | -|`cusparseSdoti` |`hipsparseSdoti` | -|`cusparseDdoti` |`hipsparseDdoti` | -|`cusparseCdoti` |`hipsparseCdoti` | -|`cusparseZdoti` |`hipsparseZdoti` | -|`cusparseCdotci` |`hipsparseCdotci` | -|`cusparseZdotci` |`hipsparseZdotci` | -|`cusparseSgthr` |`hipsparseSgthr` | -|`cusparseDgthr` |`hipsparseDgthr` | -|`cusparseCgthr` |`hipsparseCgthr` | -|`cusparseZgthr` |`hipsparseZgthr` | -|`cusparseSgthrz` |`hipsparseSgthrz` | -|`cusparseDgthrz` |`hipsparseDgthrz` | -|`cusparseCgthrz` |`hipsparseCgthrz` | -|`cusparseZgthrz` |`hipsparseZgthrz` | -|`cusparseSroti` |`hipsparseSroti` | -|`cusparseDroti` |`hipsparseDroti` | -|`cusparseSsctr` |`hipsparseSsctr` | -|`cusparseDsctr` |`hipsparseDsctr` | -|`cusparseCsctr` |`hipsparseCsctr` | -|`cusparseZsctr` |`hipsparseZsctr` | - -## **4. cuSPARSE Level 2 Function Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSbsrmv` |`hipsparseSbsrmv` | -|`cusparseDbsrmv` |`hipsparseDbsrmv` | -|`cusparseCbsrmv` |`hipsparseCbsrmv` | -|`cusparseZbsrmv` |`hipsparseZbsrmv` | -|`cusparseSbsrxmv` | | -|`cusparseDbsrxmv` | | -|`cusparseCbsrxmv` | | -|`cusparseZbsrxmv` | | -|`cusparseScsrmv` |`hipsparseScsrmv` | -|`cusparseDcsrmv` |`hipsparseDcsrmv` | -|`cusparseCcsrmv` |`hipsparseCcsrmv` | -|`cusparseZcsrmv` |`hipsparseZcsrmv` | -|`cusparseCsrmvEx` | | 8.0 | -|`cusparseCsrmvEx_bufferSize` | | 8.0 | -|`cusparseScsrmv_mp` | | 8.0 | -|`cusparseDcsrmv_mp` | | 8.0 | -|`cusparseCcsrmv_mp` | | 8.0 | -|`cusparseZcsrmv_mp` | | 8.0 | -|`cusparseSgemvi` | | 7.5 | -|`cusparseDgemvi` | | 7.5 | -|`cusparseCgemvi` | | 7.5 | -|`cusparseZgemvi` | | 7.5 | -|`cusparseSgemvi_bufferSize` | | 7.5 | -|`cusparseDgemvi_bufferSize` | | 7.5 | -|`cusparseCgemvi_bufferSize` | | 7.5 | -|`cusparseZgemvi_bufferSize` | | 7.5 | -|`cusparseSbsrsv2_bufferSize` | | -|`cusparseSbsrsv2_bufferSizeExt` | | -|`cusparseDbsrsv2_bufferSize` | | -|`cusparseDbsrsv2_bufferSizeExt` | | -|`cusparseCbsrsv2_bufferSize` | | -|`cusparseCbsrsv2_bufferSizeExt` | | -|`cusparseZbsrsv2_bufferSize` | | -|`cusparseZbsrsv2_bufferSizeExt` | | -|`cusparseSbsrsv2_analysis` | | -|`cusparseDbsrsv2_analysis` | | -|`cusparseCbsrsv2_analysis` | | -|`cusparseZbsrsv2_analysis` | | -|`cusparseXbsrsv2_zeroPivot` | | -|`cusparseSbsrsv2_solve | | -|`cusparseDbsrsv2_solve | | -|`cusparseCbsrsv2_solve | | -|`cusparseZbsrsv2_solve | | -|`cusparseScsrsv_analysis` | | -|`cusparseDcsrsv_analysis` | | -|`cusparseCcsrsv_analysis` | | -|`cusparseZcsrsv_analysis` | | -|`cusparseCsrsv_analysisEx` | | 8.0 | -|`cusparseScsrsv_solve` | | -|`cusparseDcsrsv_solve` | | -|`cusparseCcsrsv_solve` | | -|`cusparseZcsrsv_solve` | | -|`cusparseCsrsv_solveEx` | | 8.0 | -|`cusparseScsrsv2_bufferSize` |`hipsparseScsrsv2_bufferSize` | -|`cusparseScsrsv2_bufferSizeExt` |`hipsparseScsrsv2_bufferSizeExt` | -|`cusparseDcsrsv2_bufferSize` |`hipsparseDcsrsv2_bufferSize` | -|`cusparseDcsrsv2_bufferSizeExt` |`hipsparseDcsrsv2_bufferSizeExt` | -|`cusparseCcsrsv2_bufferSize` |`hipsparseCcsrsv2_bufferSize` | -|`cusparseCcsrsv2_bufferSizeExt` |`hipsparseCcsrsv2_bufferSizeExt` | -|`cusparseZcsrsv2_bufferSize` |`hipsparseZcsrsv2_bufferSize` | -|`cusparseZcsrsv2_bufferSizeExt` |`hipsparseZcsrsv2_bufferSizeExt` | -|`cusparseScsrsv2_analysis` |`hipsparseScsrsv2_analysis` | -|`cusparseDcsrsv2_analysis` |`hipsparseDcsrsv2_analysis` | -|`cusparseCcsrsv2_analysis` |`hipsparseCcsrsv2_analysis` | -|`cusparseZcsrsv2_analysis` |`hipsparseZcsrsv2_analysis` | -|`cusparseScsrsv2_solve` |`hipsparseScsrsv2_solve` | -|`cusparseDcsrsv2_solve` |`hipsparseDcsrsv2_solve` | -|`cusparseCcsrsv2_solve` |`hipsparseCcsrsv2_solve` | -|`cusparseZcsrsv2_solve` |`hipsparseZcsrsv2_solve` | -|`cusparseXcsrsv2_zeroPivot` |`hipsparseXcsrsv2_zeroPivot` | -|`cusparseShybmv` |`hipsparseShybmv` | -|`cusparseDhybmv` |`hipsparseDhybmv` | -|`cusparseChybmv` |`hipsparseChybmv` | -|`cusparseZhybmv` |`hipsparseZhybmv` | -|`cusparseShybsv_analysis` | | -|`cusparseDhybsv_analysis` | | -|`cusparseChybsv_analysis` | | -|`cusparseZhybsv_analysis` | | -|`cusparseShybsv_solve` | | -|`cusparseDhybsv_solve` | | -|`cusparseChybsv_solve` | | -|`cusparseZhybsv_solve` | | - -## **5. cuSPARSE Level 3 Function Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseScsrmm` |`hipsparseScsrmm` | -|`cusparseDcsrmm` |`hipsparseDcsrmm` | -|`cusparseCcsrmm` |`hipsparseCcsrmm` | -|`cusparseZcsrmm` |`hipsparseZcsrmm` | -|`cusparseScsrmm2` |`hipsparseScsrmm2` | -|`cusparseDcsrmm2` |`hipsparseDcsrmm2` | -|`cusparseCcsrmm2` |`hipsparseCcsrmm2` | -|`cusparseZcsrmm2` |`hipsparseZcsrmm2` | -|`cusparseScsrsm_analysis` | | -|`cusparseDcsrsm_analysis` | | -|`cusparseCcsrsm_analysis` | | -|`cusparseZcsrsm_analysis` | | -|`cusparseScsrsm_solve` | | -|`cusparseDcsrsm_solve` | | -|`cusparseCcsrsm_solve` | | -|`cusparseZcsrsm_solve` | | -|`cusparseScsrsm2_bufferSizeExt` |`hipsparseScsrsm2_bufferSizeExt` | 9.2 | -|`cusparseDcsrsm2_bufferSizeExt` |`hipsparseDcsrsm2_bufferSizeExt` | 9.2 | -|`cusparseCcsrsm2_bufferSizeExt` |`hipsparseCcsrsm2_bufferSizeExt` | 9.2 | -|`cusparseZcsrsm2_bufferSizeExt` |`hipsparseZcsrsm2_bufferSizeExt` | 9.2 | -|`cusparseScsrsm2_analysis` |`hipsparseScsrsm2_analysis` | 9.2 | -|`cusparseDcsrsm2_analysis` |`hipsparseDcsrsm2_analysis` | 9.2 | -|`cusparseCcsrsm2_analysis` |`hipsparseCcsrsm2_analysis` | 9.2 | -|`cusparseZcsrsm2_analysis` |`hipsparseZcsrsm2_analysis` | 9.2 | -|`cusparseScsrsm2_solve` |`hipsparseScsrsm2_solve` | 9.2 | -|`cusparseDcsrsm2_solve` |`hipsparseDcsrsm2_solve` | 9.2 | -|`cusparseCcsrsm2_solve` |`hipsparseCcsrsm2_solve` | 9.2 | -|`cusparseZcsrsm2_solve` |`hipsparseZcsrsm2_solve` | 9.2 | -|`cusparseXcsrsm2_zeroPivot` |`hipsparseXcsrsm2_zeroPivot` | 9.2 | -|`cusparseSbsrmm` | | -|`cusparseDbsrmm` | | -|`cusparseCbsrmm` | | -|`cusparseZbsrmm` | | -|`cusparseSbsrsm2_bufferSize` | | -|`cusparseSbsrsm2_bufferSizeExt` | | -|`cusparseDbsrsm2_bufferSize` | | -|`cusparseDbsrsm2_bufferSizeExt` | | -|`cusparseCbsrsm2_bufferSize` | | -|`cusparseCbsrsm2_bufferSizeExt` | | -|`cusparseZbsrsm2_bufferSize` | | -|`cusparseZbsrsm2_bufferSizeExt` | | -|`cusparseSbsrsm2_analysis` | | -|`cusparseDbsrsm2_analysis` | | -|`cusparseCbsrsm2_analysis` | | -|`cusparseZbsrsm2_analysis` | | -|`cusparseSbsrsm2_solve` | | -|`cusparseDbsrsm2_solve` | | -|`cusparseCbsrsm2_solve` | | -|`cusparseZbsrsm2_solve` | | -|`cusparseXbsrsm2_zeroPivot` | | -|`cusparseSgemmi` | | 8.0 | -|`cusparseDgemmi` | | 8.0 | -|`cusparseCgemmi` | | 8.0 | -|`cusparseZgemmi` | | 8.0 | - -## **6. cuSPARSE Extra Function Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseXcsrgeamNnz` |`hipsparseXcsrgeamNnz` | -|`cusparseScsrgeam` |`hipsparseScsrgeam` | -|`cusparseDcsrgeam` |`hipsparseDcsrgeam` | -|`cusparseCcsrgeam` |`hipsparseCcsrgeam` | -|`cusparseZcsrgeam` |`hipsparseZcsrgeam` | -|`cusparseXcsrgeam2Nnz` |`hipsparseXcsrgeam2Nnz` | 9.2 | -|`cusparseScsrgeam2` |`hipsparseScsrgeam2` | 9.2 | -|`cusparseDcsrgeam2` |`hipsparseDcsrgeam2` | 9.2 | -|`cusparseCcsrgeam2` |`hipsparseCcsrgeam2` | 9.2 | -|`cusparseZcsrgeam2` |`hipsparseZcsrgeam2` | 9.2 | -|`cusparseScsrgeam2_bufferSizeExt` |`hipsparseScsrgeam2_bufferSizeExt` | 9.2 | -|`cusparseDcsrgeam2_bufferSizeExt` |`hipsparseDcsrgeam2_bufferSizeExt` | 9.2 | -|`cusparseCcsrgeam2_bufferSizeExt` |`hipsparseCcsrgeam2_bufferSizeExt` | 9.2 | -|`cusparseZcsrgeam2_bufferSizeExt` |`hipsparseZcsrgeam2_bufferSizeExt` | 9.2 | -|`cusparseXcsrgemmNnz` |`hipsparseXcsrgemmNnz` | -|`cusparseScsrgemm` |`hipsparseScsrgemm` | -|`cusparseDcsrgemm` |`hipsparseDcsrgemm` | -|`cusparseCcsrgemm` |`hipsparseCcsrgemm` | -|`cusparseZcsrgemm` |`hipsparseZcsrgemm` | -|`cusparseXcsrgemm2Nnz` |`hipsparseXcsrgemm2Nnz` | -|`cusparseScsrgemm2` |`hipsparseScsrgemm2` | -|`cusparseDcsrgemm2` |`hipsparseDcsrgemm2` | -|`cusparseCcsrgemm2` |`hipsparseCcsrgemm2` | -|`cusparseZcsrgemm2` |`hipsparseZcsrgemm2` | -|`cusparseScsrgemm2_bufferSizeExt` |`hipsparseScsrgemm2_bufferSizeExt` | -|`cusparseDcsrgemm2_bufferSizeExt` |`hipsparseDcsrgemm2_bufferSizeExt` | -|`cusparseCcsrgemm2_bufferSizeExt` |`hipsparseCcsrgemm2_bufferSizeExt` | -|`cusparseZcsrgemm2_bufferSizeExt` |`hipsparseZcsrgemm2_bufferSizeExt` | - -## **7. cuSPARSE Preconditioners Reference** - -## ***7.1. Incomplete Cholesky Factorization: level 0*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseScsric0` | | -|`cusparseDcsric0` | | -|`cusparseCcsric0` | | -|`cusparseZcsric0` | | -|`cusparseScsric02_bufferSize` | | -|`cusparseScsric02_bufferSizeExt` | | -|`cusparseDcsric02_bufferSize` | | -|`cusparseDcsric02_bufferSizeExt` | | -|`cusparseCcsric02_bufferSize` | | -|`cusparseCcsric02_bufferSizeExt` | | -|`cusparseZcsric02_bufferSize` | | -|`cusparseZcsric02_bufferSizeExt` | | -|`cusparseScsric02_analysis` | | -|`cusparseDcsric02_analysis` | | -|`cusparseCcsric02_analysis` | | -|`cusparseZcsric02_analysis` | | -|`cusparseScsric02` | | -|`cusparseDcsric02` | | -|`cusparseCcsric02` | | -|`cusparseZcsric02` | | -|`cusparseXcsric02_zeroPivot` | | -|`cusparseSbsric02_bufferSize` | | -|`cusparseSbsric02_bufferSizeExt` | | -|`cusparseDbsric02_bufferSize` | | -|`cusparseDbsric02_bufferSizeExt` | | -|`cusparseCbsric02_bufferSize` | | -|`cusparseCbsric02_bufferSizeExt` | | -|`cusparseZbsric02_bufferSize` | | -|`cusparseZbsric02_bufferSizeExt` | | -|`cusparseSbsric02_analysis` | | -|`cusparseDbsric02_analysis` | | -|`cusparseCbsric02_analysis` | | -|`cusparseZbsric02_analysis` | | -|`cusparseSbsric02` | | -|`cusparseDbsric02` | | -|`cusparseCbsric02` | | -|`cusparseZbsric02` | | -|`cusparseXbsric02_zeroPivot` | | - -## ***7.2. Incomplete LU Factorization: level 0*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseScsrilu0` | | -|`cusparseDcsrilu0` | | -|`cusparseCcsrilu0` | | -|`cusparseZcsrilu0` | | -|`cusparseCsrilu0Ex` | | 8.0 | -|`cusparseScsrilu02_numericBoost` | | -|`cusparseDcsrilu02_numericBoost` | | -|`cusparseCcsrilu02_numericBoost` | | -|`cusparseZcsrilu02_numericBoost` | | -|`cusparseXcsrilu02_zeroPivot` |`hipsparseXcsrilu02_zeroPivot` | -|`cusparseScsrilu02_bufferSize` |`hipsparseScsrilu02_bufferSize` | -|`cusparseScsrilu02_bufferSizeExt` |`hipsparseScsrilu02_bufferSizeExt` | -|`cusparseDcsrilu02_bufferSize` |`hipsparseDcsrilu02_bufferSize` | -|`cusparseDcsrilu02_bufferSizeExt` |`hipsparseDcsrilu02_bufferSizeExt` | -|`cusparseCcsrilu02_bufferSize` |`hipsparseCcsrilu02_bufferSize` | -|`cusparseCcsrilu02_bufferSizeExt` |`hipsparseCcsrilu02_bufferSizeExt` | -|`cusparseZcsrilu02_bufferSize` |`hipsparseZcsrilu02_bufferSize` | -|`cusparseZcsrilu02_bufferSizeExt` |`hipsparseZcsrilu02_bufferSizeExt` | -|`cusparseScsrilu02_analysis` |`hipsparseScsrilu02_analysis` | -|`cusparseDcsrilu02_analysis` |`hipsparseDcsrilu02_analysis` | -|`cusparseCcsrilu02_analysis` |`hipsparseCcsrilu02_analysis` | -|`cusparseZcsrilu02_analysis` |`hipsparseZcsrilu02_analysis` | -|`cusparseScsrilu02` |`hipsparseScsrilu02` | -|`cusparseDcsrilu02` |`hipsparseDcsrilu02` | -|`cusparseCcsrilu02` |`hipsparseCcsrilu02` | -|`cusparseZcsrilu02` |`hipsparseZcsrilu02` | -|`cusparseXbsric02_zeroPivot` |`hipsparseXcsrilu02_zeroPivot` | -|`cusparseSbsrilu02_numericBoost` | | -|`cusparseDbsrilu02_numericBoost` | | -|`cusparseCbsrilu02_numericBoost` | | -|`cusparseZbsrilu02_numericBoost` | | -|`cusparseSbsrilu02_bufferSize` | | -|`cusparseSbsrilu02_bufferSizeExt` | | -|`cusparseDbsrilu02_bufferSize` | | -|`cusparseDbsrilu02_bufferSizeExt` | | -|`cusparseCbsrilu02_bufferSize` | | -|`cusparseCbsrilu02_bufferSizeExt` | | -|`cusparseZbsrilu02_bufferSize` | | -|`cusparseZbsrilu02_bufferSizeExt` | | -|`cusparseSbsrilu02_analysis` | | -|`cusparseDbsrilu02_analysis` | | -|`cusparseCbsrilu02_analysis` | | -|`cusparseZbsrilu02_analysis` | | -|`cusparseSbsrilu02` | | -|`cusparseDbsrilu02` | | -|`cusparseCbsrilu02` | | -|`cusparseZbsrilu02` | | -|`cusparseXbsrilu02_zeroPivot` | | - -## ***7.3. Tridiagonal Solve*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSgtsv` | | -|`cusparseDgtsv` | | -|`cusparseCgtsv` | | -|`cusparseZgtsv` | | -|`cusparseSgtsv_nopivot` | | -|`cusparseDgtsv_nopivot` | | -|`cusparseCgtsv_nopivot` | | -|`cusparseZgtsv_nopivot` | | -|`cusparseSgtsv2_bufferSizeExt` | | 9.0 | -|`cusparseDgtsv2_bufferSizeExt` | | 9.0 | -|`cusparseCgtsv2_bufferSizeExt` | | 9.0 | -|`cusparseZgtsv2_bufferSizeExt` | | 9.0 | -|`cusparseSgtsv2` | | 9.0 | -|`cusparseDgtsv2` | | 9.0 | -|`cusparseCgtsv2` | | 9.0 | -|`cusparseZgtsv2` | | 9.0 | -|`cusparseSgtsv2_nopivot_bufferSizeExt` | | 9.0 | -|`cusparseDgtsv2_nopivot_bufferSizeExt` | | 9.0 | -|`cusparseCgtsv2_nopivot_bufferSizeExt` | | 9.0 | -|`cusparseZgtsv2_nopivot_bufferSizeExt` | | 9.0 | -|`cusparseSgtsv2_nopivot` | | 9.0 | -|`cusparseDgtsv2_nopivot` | | 9.0 | -|`cusparseCgtsv2_nopivot` | | 9.0 | -|`cusparseZgtsv2_nopivot` | | 9.0 | - -## ***7.4. Batched Tridiagonal Solve*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSgtsvStridedBatch` | | -|`cusparseDgtsvStridedBatch` | | -|`cusparseCgtsvStridedBatch` | | -|`cusparseZgtsvStridedBatch` | | -|`cusparseSgtsv2StridedBatch_bufferSizeExt` | | 9.0 | -|`cusparseDgtsv2StridedBatch_bufferSizeExt` | | 9.0 | -|`cusparseCgtsv2StridedBatch_bufferSizeExt` | | 9.0 | -|`cusparseZgtsv2StridedBatch_bufferSizeExt` | | 9.0 | -|`cusparseSgtsv2StridedBatch` | | 9.0 | -|`cusparseDgtsv2StridedBatch` | | 9.0 | -|`cusparseCgtsv2StridedBatch` | | 9.0 | -|`cusparseZgtsv2StridedBatch` | | 9.0 | -|`cusparseSgtsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseDgtsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseCgtsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseZgtsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseSgtsvInterleavedBatch` | | 9.2 | -|`cusparseDgtsvInterleavedBatch` | | 9.2 | -|`cusparseCgtsvInterleavedBatch` | | 9.2 | -|`cusparseZgtsvInterleavedBatch` | | 9.2 | - -## ***7.5. Batched Pentadiagonal Solve*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSgpsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseDgpsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseCgpsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseZgpsvInterleavedBatch_bufferSizeExt` | | 9.2 | -|`cusparseSgpsvInterleavedBatch` | | 9.2 | -|`cusparseDgpsvInterleavedBatch` | | 9.2 | -|`cusparseCgpsvInterleavedBatch` | | 9.2 | -|`cusparseZgpsvInterleavedBatch` | | 9.2 | - -## **8. cuSPARSE Matrix Reorderings Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseScsrcolor` | | -|`cusparseDcsrcolor` | | -|`cusparseCcsrcolor` | | -|`cusparseZcsrcolor` | | - -## **9. cuSPARSE Format Conversion Reference** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSbsr2csr` | | -|`cusparseDbsr2csr` | | -|`cusparseCbsr2csr` | | -|`cusparseZbsr2csr` | | -|`cusparseSgebsr2gebsc_bufferSize` | | -|`cusparseSgebsr2gebsc_bufferSizeExt` | | -|`cusparseDgebsr2gebsc_bufferSize` | | -|`cusparseDgebsr2gebsc_bufferSizeExt` | | -|`cusparseCgebsr2gebsc_bufferSize` | | -|`cusparseCgebsr2gebsc_bufferSizeExt` | | -|`cusparseZgebsr2gebsc_bufferSize` | | -|`cusparseZgebsr2gebsc_bufferSizeExt` | | -|`cusparseSgebsr2gebsc` | | -|`cusparseDgebsr2gebsc` | | -|`cusparseCgebsr2gebsc` | | -|`cusparseZgebsr2gebsc` | | -|`cusparseSgebsr2gebsr_bufferSize` | | -|`cusparseSgebsr2gebsr_bufferSizeExt` | | -|`cusparseDgebsr2gebsr_bufferSize` | | -|`cusparseDgebsr2gebsr_bufferSizeExt` | | -|`cusparseCgebsr2gebsr_bufferSize` | | -|`cusparseCgebsr2gebsr_bufferSizeExt` | | -|`cusparseZgebsr2gebsr_bufferSize` | | -|`cusparseZgebsr2gebsr_bufferSizeExt` | | -|`cusparseXgebsr2gebsrNnz` | | -|`cusparseSgebsr2gebsr` | | -|`cusparseDgebsr2gebsr` | | -|`cusparseCgebsr2gebsr` | | -|`cusparseZgebsr2gebsr` | | -|`cusparseXgebsr2csr` | | -|`cusparseSgebsr2csr` | | -|`cusparseDgebsr2csr` | | -|`cusparseCgebsr2csr` | | -|`cusparseZgebsr2csr` | | -|`cusparseScsr2gebsr_bufferSize` | | -|`cusparseScsr2gebsr_bufferSizeExt` | | -|`cusparseDcsr2gebsr_bufferSize` | | -|`cusparseDcsr2gebsr_bufferSizeExt` | | -|`cusparseCcsr2gebsr_bufferSize` | | -|`cusparseCcsr2gebsr_bufferSizeExt` | | -|`cusparseZcsr2gebsr_bufferSize` | | -|`cusparseZcsr2gebsr_bufferSizeExt` | | -|`cusparseXcsr2gebsrNnz` | | -|`cusparseScsr2gebsr` | | -|`cusparseDcsr2gebsr` | | -|`cusparseCcsr2gebsr` | | -|`cusparseZcsr2gebsr` | | -|`cusparseXcoo2csr` |`hipsparseXcoo2csr` | -|`cusparseScsc2dense` | | -|`cusparseDcsc2dense` | | -|`cusparseCcsc2dense` | | -|`cusparseZcsc2dense` | | -|`cusparseScsc2hyb` | | -|`cusparseDcsc2hyb` | | -|`cusparseCcsc2hyb` | | -|`cusparseZcsc2hyb` | | -|`cusparseXcsr2bsrNnz` | | -|`cusparseScsr2bsr` | | -|`cusparseDcsr2bsr` | | -|`cusparseCcsr2bsr` | | -|`cusparseZcsr2bsr` | | -|`cusparseXcsr2coo` |`hipsparseXcsr2coo` | -|`cusparseScsr2csc` |`hipsparseScsr2csc` | -|`cusparseDcsr2csc` |`hipsparseDcsr2csc` | -|`cusparseCcsr2csc` |`hipsparseCcsr2csc` | -|`cusparseZcsr2csc` |`hipsparseZcsr2csc` | -|`cusparseCsr2cscEx` | | 8.0 | -|`cusparseCsr2cscEx2` | | 10.1 | -|`cusparseCsr2cscEx2_bufferSize` | | 10.1 | -|`cusparseScsr2dense` | | -|`cusparseDcsr2dense` | | -|`cusparseCcsr2dense` | | -|`cusparseZcsr2dense` | | -|`cusparseScsr2csr_compress` | | 8.0 | -|`cusparseDcsr2csr_compress` | | 8.0 | -|`cusparseCcsr2csr_compress` | | 8.0 | -|`cusparseZcsr2csr_compress` | | 8.0 | -|`cusparseScsr2hyb` |`hipsparseScsr2hyb` | -|`cusparseDcsr2hyb` |`hipsparseDcsr2hyb` | -|`cusparseCcsr2hyb` |`hipsparseCcsr2hyb` | -|`cusparseZcsr2hyb` |`hipsparseZcsr2hyb` | -|`cusparseSdense2csc` | | -|`cusparseDdense2csc` | | -|`cusparseCdense2csc` | | -|`cusparseZdense2csc` | | -|`cusparseSdense2csr` | | -|`cusparseDdense2csr` | | -|`cusparseCdense2csr` | | -|`cusparseZdense2csr` | | -|`cusparseSdense2hyb` | | -|`cusparseDdense2hyb` | | -|`cusparseCdense2hyb` | | -|`cusparseZdense2hyb` | | -|`cusparseShyb2csc` | | -|`cusparseDhyb2csc` | | -|`cusparseChyb2csc` | | -|`cusparseZhyb2csc` | | -|`cusparseShyb2csr` | | -|`cusparseDhyb2csr` | | -|`cusparseChyb2csr` | | -|`cusparseZhyb2csr` | | -|`cusparseShyb2dense` | | -|`cusparseDhyb2dense` | | -|`cusparseChyb2dense` | | -|`cusparseZhyb2dense` | | -|`cusparseSnnz` |`cusparseSnnz` | -|`cusparseDnnz` |`cusparseDnnz` | -|`cusparseCnnz` |`cusparseCnnz` | -|`cusparseZnnz` |`cusparseZnnz` | -|`cusparseCreateIdentityPermutation` |`hipsparseCreateIdentityPermutation` | -|`cusparseXcoosort_bufferSizeExt` |`hipsparseXcoosort_bufferSizeExt` | -|`cusparseXcoosortByRow` |`hipsparseXcoosortByRow` | -|`cusparseXcoosortByColumn` |`hipsparseXcoosortByColumn` | -|`cusparseXcsrsort_bufferSizeExt` |`hipsparseXcsrsort_bufferSizeExt` | -|`cusparseXcsrsort` |`hipsparseXcsrsort` | -|`cusparseXcscsort_bufferSizeExt` |`hipsparseXcscsort_bufferSizeExt` | -|`cusparseXcscsort` |`hipsparseXcscsort` | -|`cusparseCreateCsru2csrInfo` | | -|`cusparseDestroyCsru2csrInfo` | | -|`cusparseScsru2csr_bufferSizeExt` | | -|`cusparseDcsru2csr_bufferSizeExt` | | -|`cusparseCcsru2csr_bufferSizeExt` | | -|`cusparseZcsru2csr_bufferSizeExt` | | -|`cusparseScsru2csr` | | -|`cusparseDcsru2csr` | | -|`cusparseCcsru2csr` | | -|`cusparseZcsru2csr` | | -|`cusparseScsr2csru` | | -|`cusparseDcsr2csru` | | -|`cusparseCcsr2csru` | | -|`cusparseZcsr2csru` | | -|`cusparseHpruneDense2csr` | | 9.0 | -|`cusparseSpruneDense2csr` | | 9.0 | -|`cusparseDpruneDense2csr` | | 9.0 | -|`cusparseHpruneDense2csr_bufferSizeExt` | | 9.0 | -|`cusparseSpruneDense2csr_bufferSizeExt` | | 9.0 | -|`cusparseDpruneDense2csr_bufferSizeExt` | | 9.0 | -|`cusparseHpruneDense2csrNnz` | | 9.0 | -|`cusparseSpruneDense2csrNnz` | | 9.0 | -|`cusparseDpruneDense2csrNnz` | | 9.0 | -|`cusparseHpruneCsr2csr` | | 9.0 | -|`cusparseSpruneCsr2csr` | | 9.0 | -|`cusparseDpruneCsr2csr` | | 9.0 | -|`cusparseHpruneCsr2csr_bufferSizeExt` | | 9.0 | -|`cusparseSpruneCsr2csr_bufferSizeExt` | | 9.0 | -|`cusparseDpruneCsr2csr_bufferSizeExt` | | 9.0 | -|`cusparseHpruneCsr2csrNnz` | | 9.0 | -|`cusparseSpruneCsr2csrNnz` | | 9.0 | -|`cusparseDpruneCsr2csrNnz` | | 9.0 | -|`cusparseHpruneDense2csrByPercentage` | | 9.0 | -|`cusparseSpruneDense2csrByPercentage` | | 9.0 | -|`cusparseDpruneDense2csrByPercentage` | | 9.0 | -|`cusparseHpruneDense2csrByPercentage_bufferSizeExt` | | 9.0 | -|`cusparseSpruneDense2csrByPercentage_bufferSizeExt` | | 9.0 | -|`cusparseDpruneDense2csrByPercentage_bufferSizeExt` | | 9.0 | -|`cusparseHpruneDense2csrNnzByPercentage` | | 9.0 | -|`cusparseSpruneDense2csrNnzByPercentage` | | 9.0 | -|`cusparseDpruneDense2csrNnzByPercentage` | | 9.0 | -|`cusparseHpruneCsr2csrByPercentage` | | 9.0 | -|`cusparseSpruneCsr2csrByPercentage` | | 9.0 | -|`cusparseDpruneCsr2csrByPercentage` | | 9.0 | -|`cusparseHpruneCsr2csrByPercentage_bufferSizeExt` | | 9.0 | -|`cusparseSpruneCsr2csrByPercentage_bufferSizeExt` | | 9.0 | -|`cusparseDpruneCsr2csrByPercentage_bufferSizeExt` | | 9.0 | -|`cusparseHpruneCsr2csrNnzByPercentage` | | 9.0 | -|`cusparseSpruneCsr2csrNnzByPercentage` | | 9.0 | -|`cusparseDpruneCsr2csrNnzByPercentage` | | 9.0 | -|`cusparseSnnz_compress` |`hipsparseSnnz_compress` | 8.0 | -|`cusparseDnnz_compress` |`hipsparseDnnz_compress` | 8.0 | -|`cusparseCnnz_compress` |`hipsparseCnnz_compress` | 8.0 | -|`cusparseZnnz_compress` |`hipsparseZnnz_compress` | 8.0 | - -## **10. cuSPARSE Generic API Reference** - -## ***10.1. Generic Sparse API helper functions*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseCreateCoo` | | 10.1 | -|`cusparseCreateCooAoS` | | 10.1 | -|`cusparseCreateCsr` | | 10.1 | -|`cusparseDestroySpMat` | | 10.1 | -|`cusparseCooGet` | | 10.1 | -|`cusparseCooAoSGet` | | 10.1 | -|`cusparseCsrGet` | | 10.1 | -|`cusparseSpMatGetFormat` | | 10.1 | -|`cusparseSpMatGetIndexBase` | | 10.1 | -|`cusparseSpMatGetValues` | | 10.1 | -|`cusparseSpMatSetValues` | | 10.1 | -|`cusparseSpMatGetStridedBatch` | | 10.1 | -|`cusparseSpMatSetStridedBatch` | | 10.1 | -|`cusparseSpMatGetNumBatches` | | 10.1 | -|`cusparseSpMatSetNumBatches` | | 10.1 | -|`cusparseCreateSpVec` | | 10.1 | -|`cusparseDestroySpVec` | | 10.1 | -|`cusparseSpVecGet` | | 10.1 | -|`cusparseSpVecGetIndexBase` | | 10.1 | -|`cusparseSpVecGetValues` | | 10.1 | -|`cusparseSpVecSetValues` | | 10.1 | - -## ***10.2. Generic Dense API helper functions*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseCreateDnMat` | | 10.1 | -|`cusparseDestroyDnMat` | | 10.1 | -|`cusparseDnMatGet` | | 10.1 | -|`cusparseDnMatGetValues` | | 10.1 | -|`cusparseDnMatSetValues` | | 10.1 | -|`cusparseDnMatSetStridedBatch` | | 10.1 | -|`cusparseDnMatGetStridedBatch` | | 10.1 | -|`cusparseCreateDnVec` | | 10.1 | -|`cusparseDestroyDnVec` | | 10.1 | -|`cusparseDnVecGet` | | 10.1 | -|`cusparseDnVecGetValues` | | 10.1 | -|`cusparseDnVecSetValues` | | 10.1 | - -## ***10.3. Generic SpMM API functions*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSpMM` | | 10.1 | -|`cusparseSpMM_bufferSize` | | 10.1 | - -## ***10.4. Generic SpVV API functions [Undocumented]*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSpVV` | | 10.1 | -|`cusparseSpVV_bufferSize` | | 10.1 | - -## ***10.5. Generic SpMV API functions [Undocumented]*** - -| **CUDA** | **HIP** |**CUDA version\***| -|-----------------------------------------------------------|-------------------------------------------------|:----------------:| -|`cusparseSpMV` | | 10.1 | -|`cusparseSpMV_bufferSize` | | 10.1 | - -\* CUDA version, in which API has appeared and (optional) last version before abandoning it; no value in case of earlier versions < 7.5.