添加paddle在cudnn v6环境下cudnn convolution对double类型的支持
Created by: ccx0912
在测试paddle的在nvidia tesla P4上运行时,为了尽可能的发挥Pascal架构的优势,需要使用到cudnn v6和cuda 8.0。检查cudnn v5与v6的区别,发现在paddle/cuda/src/hl_cuda_cudnn.cc
文件中使用的cudnn函数,只有函数cudnnSetConvolution2dDescriptor
有所修改,cudnn v6后cudnn convolution可以支持double类型,所以函数的输入需要添加一个变量cudnnDataType_t
变量来指定计算的数据类型,当前的PR #949 中也仅修改了这个函数,而对于cudnn v6中的其他特征并未考虑,如
- 对更多的数据类型的支持(如
CUDNN_DATA_INT8
等); - 新添加的函数(如
cudnnReduceTensor
等); - 原来enum中添加的新成员;
- 原来结构体中添加的新变量等。