Hi all,
I tried 3D convolution using cuDNN v3 RC, it works fine.
However, when I used cudnnAddTensor() function to add biases to the convolution results, it returns CUDNN_STATUS_NOT_SUPPORTED.
I used CUDNN_ADD_SAME_C mode.
I want to add bias (each unit has one, 1x1x1 size) to every position of the corresponding unit. (Please see
following image)
http://i.imgur.com/SJyryYn.png
My source code looks like the following. Almost the same as the cudnn-v3 sample code, but using cudnnSetTensorNdDescriptor is different.
int biasDimA[tensorDims] = { 1, c, 1, 1, 1 };
int biasStrideA[tensorDims] = { c, 1, 1, 1, 1 };
checkCUDNN( cudnnSetTensorNdDescriptor(biasTensorDesc,
dataType, tensorDims, biasDimA, biasStrideA) );
value_type b_alpha = (value_type)1;
value_type b_beta = (value_type)1;
checkCUDNN( cudnnAddTensor(cudnnHandle, CUDNN_ADD_SAME_C,
&b_alpha, biasTensorDesc, conv.bias_device, &b_beta, dstTensorDesc, *dstData) );
Someone do you know how to solve it or do you have any ideas?
Thank you for your kind cooperation.