Skip to content

Commit

Permalink
Merge pull request ROCm#1529 from emankov/HIPIFY
Browse files Browse the repository at this point in the history
[HIPIFY][DNN] cuDNN 9.2.0 is the latest supported version
  • Loading branch information
emankov authored Jun 8, 2024
2 parents d7d0f07 + 35020ef commit 1c050e2
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 12 deletions.
3 changes: 3 additions & 0 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -10512,6 +10512,7 @@ sub warnUnsupportedFunctions {
"CUDNN_TENSOR_OP_MATH_ALLOW_CONVERSION",
"CUDNN_STATUS_VERSION_MISMATCH",
"CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH",
"CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED",
"CUDNN_STATUS_SPECIFIC_ERROR",
"CUDNN_STATUS_SERIALIZATION_VERSION_MISMATCH",
"CUDNN_STATUS_RUNTIME_IN_PROGRESS",
Expand Down Expand Up @@ -11069,6 +11070,8 @@ sub warnUnsupportedFunctions {
"CUDNN_ATTR_ENGINEHEUR_RESULTS",
"CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH",
"CUDNN_ATTR_ENGINEHEUR_MODE",
"CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE",
"CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED",
"CUDNN_ATTR_ENGINECFG_KNOB_CHOICES",
"CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO",
"CUDNN_ATTR_ENGINECFG_ENGINE",
Expand Down
22 changes: 11 additions & 11 deletions docs/hipify-clang.rst
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ LLVM >= 10.0.0

.. code-block:: shell
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.1.1
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.2.0
5. Install `CUB <https://github.com/nvidia/cub>`_ belonging to the version corresponding to the CUDA version:

Expand Down Expand Up @@ -634,8 +634,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 - 18.1.6, CUDA 7.0 - 12.3.2, cuDNN 5.1.10 - 9.1.1
* Ubuntu 22-23: LLVM 13.0.0 - 18.1.6, CUDA 7.0 - 12.3.2, cuDNN 8.0.5 - 9.1.1
* Ubuntu 20-21: LLVM 9.0.0 - 18.1.6, CUDA 7.0 - 12.3.2, cuDNN 5.1.10 - 9.2.0
* Ubuntu 22-23: LLVM 13.0.0 - 18.1.6, CUDA 7.0 - 12.3.2, cuDNN 8.0.5 - 9.2.0

Minimum build system requirements for the above configurations:

Expand All @@ -655,7 +655,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/18.1.6/dist \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.3.2 \
-DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.1.1 \
-DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.2.0 \
-DCUDA_CUB_ROOT_DIR=/usr/local/cub-2.1.0 \
-DLLVM_EXTERNAL_LIT=/usr/llvm/18.1.6/build/bin/llvm-lit \
../hipify
Expand Down Expand Up @@ -694,7 +694,7 @@ The corresponding successful output is:
-- Initial CUDA to configure:
-- - CUDA Toolkit path : /usr/local/cuda-12.3.2
-- - CUDA Samples path : OFF
-- - cuDNN path : /usr/local/cudnn-9.1.1
-- - cuDNN path : /usr/local/cudnn-9.2.0
-- - CUB path : /usr/local/cub-2.1.0
-- Found CUDAToolkit: /usr/local/cuda-12.3.2/targets/x86_64-linux/include (found version "12.3.107")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
Expand All @@ -703,7 +703,7 @@ The corresponding successful output is:
-- Found CUDA config:
-- - CUDA Toolkit path : /usr/local/cuda-12.3.2
-- - CUDA Samples path : OFF
-- - cuDNN path : /usr/local/cudnn-9.1.1
-- - cuDNN path : /usr/local/cudnn-9.2.0
-- - CUB path : /usr/local/cub-2.1.0
-- Configuring done (0.5s)
-- Generating done (0.0s)
Expand Down Expand Up @@ -816,13 +816,13 @@ Tested configurations:
- ``3.11.4``
* - ``17.0.1`` :sup:`6` - ``18.1.6`` :sup:`7`
- ``7.0 - 12.3.2``
- ``8.0.5 - 9.1.1``
- ``8.0.5 - 9.2.0``
- ``2019.16.11.35, 2022.17.9.6``
- ``3.29.3``
- ``3.12.3``
* - ``19.0.0git``
- ``7.0 - 12.4.1``
- ``8.0.5 - 9.1.1``
- ``8.0.5 - 9.2.0``
- ``2019.16.11.35, 2022.17.9.6``
- ``3.29.3``
- ``3.12.3``
Expand Down Expand Up @@ -853,7 +853,7 @@ Building with testing support using ``Visual Studio 17 2022`` on ``Windows 11``:
-DCMAKE_PREFIX_PATH=D:/LLVM/18.1.6/dist \
-DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3" \
-DCUDA_SDK_ROOT_DIR="C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.3" \
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.1.1 \
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.2.0 \
-DCUDA_CUB_ROOT_DIR=D:/CUDA/CUB/cub-2.1.0 \
-DLLVM_EXTERNAL_LIT=D:/LLVM/18.1.6/build/Release/bin/llvm-lit.py \
../hipify
Expand Down Expand Up @@ -891,13 +891,13 @@ The corresponding successful output is:
-- Initial CUDA to configure:
-- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3
-- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.3
-- - cuDNN path : D:/CUDA/cuDNN/9.1.1
-- - cuDNN path : D:/CUDA/cuDNN/9.2.0
-- - CUB path : D:/CUDA/CUB/cub-2.1.0
-- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3/include (found version "12.3.107")
-- Found CUDA config:
-- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3
-- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.3
-- - cuDNN path : D:/CUDA/cuDNN/9.1.1
-- - cuDNN path : D:/CUDA/cuDNN/9.2.0
-- - CUB path : D:/CUDA/CUB/cub-2.1.0
-- Configuring done (1.4s)
-- Generating done (0.1s)
Expand Down
3 changes: 3 additions & 0 deletions docs/tables/CUDNN_API_supported_by_HIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
|`CUDNN_ATTR_ENGINECFG_ENGINE`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_KNOB_CHOICES`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED`|9.2.0| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE`|9.2.0| | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_MODE`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_RESULTS`|8.0.1| | | | | | | | | |
Expand Down Expand Up @@ -687,6 +689,7 @@
|`CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`|6.0.0|9.0.0| | |`HIPDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`| | | | | |
|`CUDNN_STATUS_SERIALIZATION_VERSION_MISMATCH`|9.0.0| | | | | | | | | |
|`CUDNN_STATUS_SPECIFIC_ERROR`|9.0.0| | | | | | | | | |
|`CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED`|9.2.0| | | | | | | | | |
|`CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH`|9.0.0| | | | | | | | | |
|`CUDNN_STATUS_SUCCESS`|1.0.0| | | |`HIPDNN_STATUS_SUCCESS`| | | | | |
|`CUDNN_STATUS_VERSION_MISMATCH`|8.0.1|9.0.0| | | | | | | | |
Expand Down
3 changes: 3 additions & 0 deletions docs/tables/CUDNN_API_supported_by_HIP_and_MIOPEN.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
|`CUDNN_ATTR_ENGINECFG_ENGINE`|8.0.1| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO`|8.0.1| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_KNOB_CHOICES`|8.0.1| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED`|9.2.0| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE`|9.2.0| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_MODE`|8.0.1| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH`|8.0.1| | | | | | | | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_RESULTS`|8.0.1| | | | | | | | | | | | | | | |
Expand Down Expand Up @@ -687,6 +689,7 @@
|`CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`|6.0.0|9.0.0| | |`HIPDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`| | | | | | | | | | | |
|`CUDNN_STATUS_SERIALIZATION_VERSION_MISMATCH`|9.0.0| | | | | | | | | | | | | | | |
|`CUDNN_STATUS_SPECIFIC_ERROR`|9.0.0| | | | | | | | | | | | | | | |
|`CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED`|9.2.0| | | | | | | | | | | | | | | |
|`CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH`|9.0.0| | | | | | | | | | | | | | | |
|`CUDNN_STATUS_SUCCESS`|1.0.0| | | |`HIPDNN_STATUS_SUCCESS`| | | | | |`miopenStatusSuccess`| | | | | |
|`CUDNN_STATUS_VERSION_MISMATCH`|8.0.1|9.0.0| | | | | | | | | | | | | | |
Expand Down
3 changes: 3 additions & 0 deletions docs/tables/CUDNN_API_supported_by_MIOPEN.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
|`CUDNN_ATTR_ENGINECFG_ENGINE`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_KNOB_CHOICES`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED`|9.2.0| | | | | | | | | |
|`CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE`|9.2.0| | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_MODE`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH`|8.0.1| | | | | | | | | |
|`CUDNN_ATTR_ENGINEHEUR_RESULTS`|8.0.1| | | | | | | | | |
Expand Down Expand Up @@ -687,6 +689,7 @@
|`CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING`|6.0.0|9.0.0| | | | | | | | |
|`CUDNN_STATUS_SERIALIZATION_VERSION_MISMATCH`|9.0.0| | | | | | | | | |
|`CUDNN_STATUS_SPECIFIC_ERROR`|9.0.0| | | | | | | | | |
|`CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED`|9.2.0| | | | | | | | | |
|`CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH`|9.0.0| | | | | | | | | |
|`CUDNN_STATUS_SUCCESS`|1.0.0| | | |`miopenStatusSuccess`| | | | | |
|`CUDNN_STATUS_VERSION_MISMATCH`|8.0.1|9.0.0| | | | | | | | |
Expand Down
6 changes: 6 additions & 0 deletions src/CUDA2HIP_DNN_API_types.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ const std::map<llvm::StringRef, hipCounter> CUDA_DNN_TYPE_NAME_MAP {
{"CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING", {"HIPDNN_STATUS_RUNTIME_PREREQUISITE_MISSING", "", CONV_NUMERIC_LITERAL, API_DNN, 1, ROC_UNSUPPORTED | CUDA_DEPRECATED}},
{"CUDNN_STATUS_RUNTIME_IN_PROGRESS", {"HIPDNN_STATUS_RUNTIME_IN_PROGRESS", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}},
{"CUDNN_STATUS_RUNTIME_FP_OVERFLOW", {"HIPDNN_STATUS_RUNTIME_FP_OVERFLOW", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}},
{"CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED", {"HIPDNN_STATUS_SUBLIBRARY_LOADING_FAILED", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}},
{"CUDNN_STATUS_VERSION_MISMATCH", {"HIPDNN_STATUS_VERSION_MISMATCH", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED | CUDA_DEPRECATED}},
{"CUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH", {"HIPDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}},
{"CUDNN_STATUS_SERIALIZATION_VERSION_MISMATCH", {"HIPDNN_STATUS_SERIALIZATION_VERSION_MISMATCH", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}},
Expand Down Expand Up @@ -463,6 +464,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_DNN_TYPE_NAME_MAP {
{"CUDNN_ATTR_ENGINECFG_ENGINE", {"HIPDNN_ATTR_ENGINECFG_ENGINE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 300
{"CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO", {"HIPDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 301
{"CUDNN_ATTR_ENGINECFG_KNOB_CHOICES", {"HIPDNN_ATTR_ENGINECFG_KNOB_CHOICES", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 302
{"CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE", {"HIPDNN_ATTR_ENGINECFG_WORKSPACE_SIZE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 303
{"CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED", {"HIPDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 304
{"CUDNN_ATTR_EXECUTION_PLAN_HANDLE", {"HIPDNN_ATTR_EXECUTION_PLAN_HANDLE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 400
{"CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG", {"HIPDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 401
{"CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE", {"HIPDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE", "", CONV_NUMERIC_LITERAL, API_DNN, 1, UNSUPPORTED}}, // 402
Expand Down Expand Up @@ -1761,6 +1764,9 @@ const std::map<llvm::StringRef, cudaAPIversions> CUDA_DNN_TYPE_NAME_VER_MAP {
{"CUDNN_STATUS_SPECIFIC_ERROR", {CUDNN_900, CUDA_0, CUDA_0 }},
{"CUDNN_POINTWISE_ATAN2", {CUDNN_910, CUDA_0, CUDA_0 }},
{"CUDNN_NUMERICAL_NOTE_STRICT_NAN_PROP", {CUDNN_910, CUDA_0, CUDA_0 }},
{"CUDNN_STATUS_SUBLIBRARY_LOADING_FAILED", {CUDNN_920, CUDA_0, CUDA_0 }},
{"CUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE", {CUDNN_920, CUDA_0, CUDA_0 }},
{"CUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED", {CUDNN_920, CUDA_0, CUDA_0 }},
};

const std::map<llvm::StringRef, hipAPIversions> HIP_DNN_TYPE_NAME_VER_MAP {
Expand Down
1 change: 1 addition & 0 deletions src/Statistics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,7 @@ std::string Statistics::getCudaVersion(const cudaVersions &ver) {
case CUDNN_897: return "8.9.7";
case CUDNN_900: return "9.0.0";
case CUDNN_910: return "9.1.0";
case CUDNN_920: return "9.2.0";
}
return "";
}
Expand Down
3 changes: 2 additions & 1 deletion src/Statistics.h
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,8 @@ enum cudaVersions {
CUDNN_897 = 897,
CUDNN_900 = 900,
CUDNN_910 = 910,
CUDNN_LATEST = CUDNN_910,
CUDNN_920 = 920,
CUDNN_LATEST = CUDNN_920,
};

enum hipVersions {
Expand Down

0 comments on commit 1c050e2

Please sign in to comment.