From aed2affda23d9d42c59019efeb79c8d729e021ea Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Thu, 16 May 2019 16:36:23 +0300 Subject: [PATCH] [HIPIFY][cuDNN] Add cudnnGetFilter4dDescriptor support + Update cudnn_convolution_forward test accordingly --- docs/markdown/CUDNN_API_supported_by_HIP.md | 2 +- hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp | 2 +- .../libraries/cuDNN/cudnn_convolution_forward.cu | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/markdown/CUDNN_API_supported_by_HIP.md b/docs/markdown/CUDNN_API_supported_by_HIP.md index 43e7ca419e..2a3fa1a67a 100644 --- a/docs/markdown/CUDNN_API_supported_by_HIP.md +++ b/docs/markdown/CUDNN_API_supported_by_HIP.md @@ -293,7 +293,7 @@ |`cudnnScaleTensor` |`hipdnnScaleTensor` | |`cudnnCreateFilterDescriptor` |`hipdnnCreateFilterDescriptor` | |`cudnnSetFilter4dDescriptor` |`hipdnnSetFilter4dDescriptor` | -|`cudnnGetFilter4dDescriptor` | | +|`cudnnGetFilter4dDescriptor` |`hipdnnGetFilter4dDescriptor` | |`cudnnSetFilterNdDescriptor` |`hipdnnSetFilterNdDescriptor` | |`cudnnGetFilterNdDescriptor` |`hipdnnGetFilterNdDescriptor` | |`cudnnDestroyFilterDescriptor` |`hipdnnDestroyFilterDescriptor` | diff --git a/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp b/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp index 85e138a8fd..a52c392b72 100644 --- a/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp +++ b/hipify-clang/src/CUDA2HIP_DNN_API_functions.cpp @@ -76,7 +76,7 @@ const std::map CUDA_DNN_FUNCTION_MAP{ // cuDNN Filter functions {"cudnnCreateFilterDescriptor", {"hipdnnCreateFilterDescriptor", "", CONV_LIB_FUNC, API_DNN}}, {"cudnnSetFilter4dDescriptor", {"hipdnnSetFilter4dDescriptor", "", CONV_LIB_FUNC, API_DNN}}, - {"cudnnGetFilter4dDescriptor", {"hipdnnGetFilter4dDescriptor", "", CONV_LIB_FUNC, API_DNN, HIP_UNSUPPORTED}}, + {"cudnnGetFilter4dDescriptor", {"hipdnnGetFilter4dDescriptor", "", CONV_LIB_FUNC, API_DNN}}, {"cudnnSetFilterNdDescriptor", {"hipdnnSetFilterNdDescriptor", "", CONV_LIB_FUNC, API_DNN}}, {"cudnnGetFilterNdDescriptor", {"hipdnnGetFilterNdDescriptor", "", CONV_LIB_FUNC, API_DNN}}, {"cudnnDestroyFilterDescriptor", {"hipdnnDestroyFilterDescriptor", "", CONV_LIB_FUNC, API_DNN}}, diff --git a/tests/hipify-clang/unit_tests/libraries/cuDNN/cudnn_convolution_forward.cu b/tests/hipify-clang/unit_tests/libraries/cuDNN/cudnn_convolution_forward.cu index 6aae90e403..5a2a993d54 100644 --- a/tests/hipify-clang/unit_tests/libraries/cuDNN/cudnn_convolution_forward.cu +++ b/tests/hipify-clang/unit_tests/libraries/cuDNN/cudnn_convolution_forward.cu @@ -176,6 +176,19 @@ int main() { out_desc, CUDNN_TENSOR_NCHW, CUDNN_DATA_FLOAT, out_n, out_c, out_h, out_w)); + + cudnnDataType_t *dataType = nullptr; + cudnnTensorFormat_t *tensorFormat = nullptr; + int *p_filt_k = nullptr; + int *p_filt_c = nullptr; + int *p_filt_h = nullptr; + int *p_filt_w = nullptr; + + // CHECK: CUDNN_CALL(hipdnnGetFilter4dDescriptor( + CUDNN_CALL(cudnnGetFilter4dDescriptor( + filt_desc, dataType, tensorFormat, + p_filt_k, p_filt_c, p_filt_h, p_filt_w)); + float *out_data; // CHECK: CUDA_CALL(hipMalloc( CUDA_CALL(cudaMalloc(