diff --git a/bin/hipify-perl b/bin/hipify-perl index 7d474474..a8f43ca9 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -12798,6 +12798,7 @@ sub warnHipOnlyUnsupportedFunctions { "CUDNN_STATUS_BAD_PARAM_NOT_FINALIZED", "CUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER", "CUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES", + "CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE", "CUDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH", "CUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE", "CUDNN_SIGNAL_WAIT", @@ -13295,6 +13296,7 @@ sub warnHipOnlyUnsupportedFunctions { "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC", "CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC", "CUDNN_ATTR_OPERATIONGRAPH_OPS", + "CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY", "CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED", "CUDNN_ATTR_OPERATIONGRAPH_HANDLE", "CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT", @@ -15091,6 +15093,7 @@ sub warnRocOnlyUnsupportedFunctions { "CUDNN_STATUS_BAD_PARAM_NOT_FINALIZED", "CUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER", "CUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES", + "CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE", "CUDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH", "CUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE", "CUDNN_STATUS_ARCH_MISMATCH", @@ -15352,6 +15355,7 @@ sub warnRocOnlyUnsupportedFunctions { "CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_SEQUENCE_DESC", "CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_PAGE_TABLE_DESC", "CUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_CONTAINER_DESC", + "CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY", "CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED", "CUDNN_ATTR_KERNEL_CACHE_OPERATION_GRAPH", "CUDNN_ATTR_KERNEL_CACHE_IS_ENGINECFG_KERNEL_CACHED", diff --git a/docs/hipify-clang.rst b/docs/hipify-clang.rst index 311a11ec..41aecc78 100644 --- a/docs/hipify-clang.rst +++ b/docs/hipify-clang.rst @@ -549,7 +549,7 @@ LLVM >= 10.0.0 .. code-block:: shell - -DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.5.1 + -DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.6.0 5. [Optional] Install `CUB 1.9.8 `_ for ``CUDA < 11.0`` only; for ``CUDA >= 11.0``, the CUB shipped with CUDA will be used for testing. @@ -641,8 +641,8 @@ On Linux, the following configurations are tested: * Ubuntu 14: LLVM 4.0.0 - 7.1.0, CUDA 7.0 - 9.0, cuDNN 5.0.5 - 7.6.5 * Ubuntu 16-19: LLVM 8.0.0 - 14.0.6, CUDA 7.0 - 10.2, cuDNN 5.1.10 - 8.0.5 -* Ubuntu 20-21: LLVM 9.0.0 - 19.1.4, CUDA 7.0 - 12.6.3, cuDNN 5.1.10 - 9.5.1 -* Ubuntu 22-23: LLVM 13.0.0 - 19.1.4, CUDA 7.0 - 12.6.3, cuDNN 8.0.5 - 9.5.1 +* Ubuntu 20-21: LLVM 9.0.0 - 19.1.4, CUDA 7.0 - 12.6.3, cuDNN 5.1.10 - 9.6.0 +* Ubuntu 22-23: LLVM 13.0.0 - 19.1.4, CUDA 7.0 - 12.6.3, cuDNN 8.0.5 - 9.6.0 Minimum build system requirements for the above configurations: @@ -662,7 +662,7 @@ Here's how to build ``hipify-clang`` with testing support on ``Ubuntu 23.10.01`` -DCMAKE_INSTALL_PREFIX=../dist \ -DCMAKE_PREFIX_PATH=/usr/llvm/19.1.4/dist \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.6.3 \ - -DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.5.1 \ + -DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.6.0 \ -DLLVM_EXTERNAL_LIT=/usr/llvm/19.1.4/build/bin/llvm-lit \ ../hipify @@ -700,7 +700,7 @@ The corresponding successful output is: -- Initial CUDA to configure: -- - CUDA Toolkit path : /usr/local/cuda-12.6.3 -- - CUDA Samples path : - -- - cuDNN path : /usr/local/cudnn-9.5.1 + -- - cuDNN path : /usr/local/cudnn-9.6.0 -- - CUB path : -- Found CUDAToolkit: /usr/local/cuda-12.6.3/targets/x86_64-linux/include (found version "12.6.85") -- Performing Test CMAKE_HAVE_LIBC_PTHREAD @@ -709,7 +709,7 @@ The corresponding successful output is: -- Found CUDA config: -- - CUDA Toolkit path : /usr/local/cuda-12.6.3 -- - CUDA Samples path : OFF - -- - cuDNN path : /usr/local/cudnn-9.5.1 + -- - cuDNN path : /usr/local/cudnn-9.6.0 -- - CUB path : /usr/local/cuda-12.6.3/include/cub -- Configuring done (0.5s) -- Generating done (0.0s) @@ -822,13 +822,13 @@ Tested configurations: - ``3.11.4`` * - ``17.0.1`` :sup:`6` - ``18.1.8`` :sup:`7` - ``7.0 - 12.3.2`` - - ``8.0.5 - 9.5.1`` + - ``8.0.5 - 9.6.0`` - ``2019.16.11.42, 2022.17.11.6`` - ``3.31.0`` - ``3.13.0`` * - ``19.1.0 - 19.1.4`` - ``7.0 - 12.6.3`` - - ``8.0.5 - 9.5.1`` + - ``8.0.5 - 9.6.0`` - ``2019.16.11.42, 2022.17.11.6`` - ``3.31.0`` - ``3.13.0`` @@ -859,7 +859,7 @@ Building with testing support using ``Visual Studio 17 2022`` on ``Windows 11``: -DCMAKE_PREFIX_PATH=D:/LLVM/19.1.4/dist \ -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6" \ -DCUDA_SDK_ROOT_DIR="C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.5" \ - -DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.5.1 \ + -DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.6.0 \ -DLLVM_EXTERNAL_LIT=D:/LLVM/19.1.4/build/Release/bin/llvm-lit.py \ ../hipify @@ -896,13 +896,13 @@ The corresponding successful output is: -- Initial CUDA to configure: -- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6 -- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.5 - -- - cuDNN path : D:/CUDA/cuDNN/9.5.1 + -- - cuDNN path : D:/CUDA/cuDNN/9.6.0 -- - CUB path : -- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/include (found version "12.6.85") -- Found CUDA config: -- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6 -- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.5 - -- - cuDNN path : D:/CUDA/cuDNN/9.5.1 + -- - cuDNN path : D:/CUDA/cuDNN/9.6.0 -- - CUB path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/include/cub -- Configuring done (2.1s) -- Generating done (0.1s) diff --git a/docs/tables/CUDNN_API_supported_by_HIP.md b/docs/tables/CUDNN_API_supported_by_HIP.md index 11608bf9..45a74d51 100644 --- a/docs/tables/CUDNN_API_supported_by_HIP.md +++ b/docs/tables/CUDNN_API_supported_by_HIP.md @@ -69,6 +69,7 @@ |`CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT`|8.0.1| | | | | | | | | | |`CUDNN_ATTR_OPERATIONGRAPH_HANDLE`|8.0.1| | | | | | | | | | |`CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED`|9.4.0| | | | | | | | | | +|`CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY`|9.6.0| | | | | | | | | | |`CUDNN_ATTR_OPERATIONGRAPH_OPS`|8.0.1| | | | | | | | | | |`CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC`|8.2.0| | | | | | | | | | |`CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC`|8.2.0| | | | | | | | | | @@ -658,6 +659,7 @@ |`CUDNN_STATUS_BAD_PARAM`|1.0.0| | | |`HIPDNN_STATUS_BAD_PARAM`| | | | | | |`CUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH`|9.5.0| | | | | | | | | | +|`CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE`|9.6.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_NOT_FINALIZED`|9.0.0| | | | | | | | | | diff --git a/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md b/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md index 8b1f288e..64adaf7f 100644 --- a/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md +++ b/docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md @@ -69,6 +69,7 @@ |`CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT`|8.0.1| | | | | | | | | |`MIOPEN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT`|6.2.0| | | | | |`CUDNN_ATTR_OPERATIONGRAPH_HANDLE`|8.0.1| | | | | | | | | |`MIOPEN_ATTR_OPERATIONGRAPH_HANDLE`|6.2.0| | | | | |`CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED`|9.4.0| | | | | | | | | | | | | | | | +|`CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY`|9.6.0| | | | | | | | | | | | | | | | |`CUDNN_ATTR_OPERATIONGRAPH_OPS`|8.0.1| | | | | | | | | |`MIOPEN_ATTR_OPERATIONGRAPH_OPS`|6.2.0| | | | | |`CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC`|8.2.0| | | | | | | | | |`MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC`|6.2.0| | | | | |`CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC`|8.2.0| | | | | | | | | |`MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC`|6.2.0| | | | | @@ -658,6 +659,7 @@ |`CUDNN_STATUS_BAD_PARAM`|1.0.0| | | |`HIPDNN_STATUS_BAD_PARAM`| | | | | |`miopenStatusBadParm`|2.1.0| | | | | |`CUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE`|9.0.0| | | | | | | | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH`|9.5.0| | | | | | | | | | | | | | | | +|`CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE`|9.6.0| | | | | | | | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES`|9.0.0| | | | | | | | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER`|9.0.0| | | | | | | | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_NOT_FINALIZED`|9.0.0| | | | | | | | | | | | | | | | diff --git a/docs/tables/CUDNN_API_supported_by_MIOPEN.md b/docs/tables/CUDNN_API_supported_by_MIOPEN.md index f0a4172f..b7432d2e 100644 --- a/docs/tables/CUDNN_API_supported_by_MIOPEN.md +++ b/docs/tables/CUDNN_API_supported_by_MIOPEN.md @@ -69,6 +69,7 @@ |`CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT`|8.0.1| | | |`MIOPEN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT`|6.2.0| | | | | |`CUDNN_ATTR_OPERATIONGRAPH_HANDLE`|8.0.1| | | |`MIOPEN_ATTR_OPERATIONGRAPH_HANDLE`|6.2.0| | | | | |`CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED`|9.4.0| | | | | | | | | | +|`CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY`|9.6.0| | | | | | | | | | |`CUDNN_ATTR_OPERATIONGRAPH_OPS`|8.0.1| | | |`MIOPEN_ATTR_OPERATIONGRAPH_OPS`|6.2.0| | | | | |`CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC`|8.2.0| | | |`MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC`|6.2.0| | | | | |`CUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC`|8.2.0| | | |`MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC`|6.2.0| | | | | @@ -658,6 +659,7 @@ |`CUDNN_STATUS_BAD_PARAM`|1.0.0| | | |`miopenStatusBadParm`|2.1.0| | | | | |`CUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH`|9.5.0| | | | | | | | | | +|`CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE`|9.6.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER`|9.0.0| | | | | | | | | | |`CUDNN_STATUS_BAD_PARAM_NOT_FINALIZED`|9.0.0| | | | | | | | | | diff --git a/src/CUDA2HIP_DNN_API_types.cpp b/src/CUDA2HIP_DNN_API_types.cpp index 49fedd2d..218bbeab 100644 --- a/src/CUDA2HIP_DNN_API_types.cpp +++ b/src/CUDA2HIP_DNN_API_types.cpp @@ -70,6 +70,7 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"CUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES", {"HIPDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE", {"HIPDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH", {"HIPDNN_STATUS_BAD_PARAM_CUDA_GRAPH_MISMATCH", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, + {"CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE", {"HIPDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_STATUS_NOT_SUPPORTED_GRAPH_PATTERN", {"HIPDNN_STATUS_NOT_SUPPORTED_GRAPH_PATTERN", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_STATUS_NOT_SUPPORTED_SHAPE", {"HIPDNN_STATUS_NOT_SUPPORTED_SHAPE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, {"CUDNN_STATUS_NOT_SUPPORTED_DATA_TYPE", {"HIPDNN_STATUS_NOT_SUPPORTED_DATA_TYPE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, @@ -534,6 +535,7 @@ const std::map CUDA_DNN_TYPE_NAME_MAP { {"CUDNN_ATTR_OPERATIONGRAPH_OPS", {"HIPDNN_ATTR_OPERATIONGRAPH_OPS", "MIOPEN_ATTR_OPERATIONGRAPH_OPS", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 801 {"CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT", {"HIPDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT", "MIOPEN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 802 {"CUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED", {"HIPDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 803 + {"CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY", {"HIPDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 804 {"CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT", {"HIPDNN_ATTR_TENSOR_BYTE_ALIGNMENT", "MIOPEN_ATTR_TENSOR_BYTE_ALIGNMENT", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 900 {"CUDNN_ATTR_TENSOR_DATA_TYPE", {"HIPDNN_ATTR_TENSOR_DATA_TYPE", "MIOPEN_ATTR_TENSOR_DATA_TYPE", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 901 {"CUDNN_ATTR_TENSOR_DIMENSIONS", {"HIPDNN_ATTR_TENSOR_DIMENSIONS", "MIOPEN_ATTR_TENSOR_DIMENSIONS", CONV_NUMERIC_LITERAL, API_DNN, 1, HIP_UNSUPPORTED}}, // 902 @@ -1799,6 +1801,8 @@ const std::map CUDA_DNN_TYPE_NAME_VER_MAP { {"CUDNN_ATTR_KERNEL_CACHE_OPERATION_GRAPH", {CUDNN_950, CUDA_0, CUDA_0 }}, {"CUDNN_BEHAVIOR_NOTE_SUPPORTS_CUDA_GRAPH_NATIVE_API", {CUDNN_950, CUDA_0, CUDA_0 }}, {"CUDNN_ATTR_KERNEL_CACHE_OPERATION_GRAPH", {CUDNN_950, CUDA_0, CUDA_0 }}, + {"CUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE", {CUDNN_960, CUDA_0, CUDA_0 }}, + {"CUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY", {CUDNN_960, CUDA_0, CUDA_0 }}, }; const std::map HIP_DNN_TYPE_NAME_VER_MAP { diff --git a/src/Statistics.cpp b/src/Statistics.cpp index 31327b1a..12121a05 100644 --- a/src/Statistics.cpp +++ b/src/Statistics.cpp @@ -543,6 +543,7 @@ std::string Statistics::getCudaVersion(const cudaVersions &ver) { case CUDNN_930: return "9.3.0"; case CUDNN_940: return "9.4.0"; case CUDNN_950: return "9.5.0"; + case CUDNN_960: return "9.6.0"; case CUTENSOR_1010: return "1.0.1.0"; case CUTENSOR_1100: return "1.1.0.0"; case CUTENSOR_1200: return "1.2.0.0"; diff --git a/src/Statistics.h b/src/Statistics.h index a117b34d..bbadf4dd 100644 --- a/src/Statistics.h +++ b/src/Statistics.h @@ -299,7 +299,8 @@ enum cudaVersions { CUDNN_930 = 930, CUDNN_940 = 940, CUDNN_950 = 950, - CUDNN_LATEST = CUDNN_950, + CUDNN_960 = 960, + CUDNN_LATEST = CUDNN_960, CUTENSOR_1010 = 100010, CUTENSOR_1100 = 100100, CUTENSOR_1200 = 100200,