Hi guys:
I am new to MXNet and trying to add support for quantized_depthwise_convolution by calling cuDNN. According to cuDNN documentation, I should be able to do so by setting GroupCount > 1 using cudnnSetConvolutionGroupCount().
Here’s what I have done:
https://github.com/JingrenChen/incubator-mxnet/commit/88094f949d6897bf7159c85929a62b9b3bcd144e
And I got CUDNN_STATUS_NOT_SUPPORTED error:
python test_quantized_depthwise_conv.py
[12:07:04] src/operator/nn/./cudnn/./cudnn_algoreg-inl.h:107: Running performance tests to find the best convolution algorithm, this can take a while... (setting env variable MXNET_CUDNN_AUTOTUNE_DEFAULT to 0 to disable)
Traceback (most recent call last):
File "test_quantized_depthwise_conv.py", line 75, in <module>
pad=(0, 0), stride=(1, 1), layout='NCHW', repeats=20, num_group=64)
File "test_quantized_depthwise_conv.py", line 61, in benchmark_convolution
grad_req='null', typ='forward') * 1000
File "/root/workspace/incubator-mxnet/python/mxnet/test_utils.py", line 1193, in check_speed
output.wait_to_read()
File "/root/workspace/incubator-mxnet/python/mxnet/ndarray/ndarray.py", line 1720, in wait_to_read
check_call(_LIB.MXNDArrayWaitToRead(self.handle))
File "/root/workspace/incubator-mxnet/python/mxnet/base.py", line 210, in check_call
raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: [12:07:04] src/operator/quantization/quantized_conv.cu:251: Check failed: e == CUDNN_STATUS_SUCCESS (9 vs. 0) cuDNN: CUDNN_STATUS_NOT_SUPPORTED
Here’s my environment:
OS: ubuntu 16.04
GPU: TitanXp
CUDA: 9.0
cuDNN: 7.1.3
It’s my first time using cuDNN and I have no idea what I’m doing wrong…
Any comment would be appreciated!