19 #if defined(_HAS_CUDA_) 27 void pooling(Tensor<T> *x, Tensor<T> *out);
30 void pooling_grad(Tensor<T> *x, Tensor<T> *y, Tensor<T> *grad, Tensor<T> *out);
33 #if defined(_HAS_CUDA_) 35 struct cudnn_pooling_settings_t {
36 cudnnPoolingDescriptor_t poolingDesc;
40 void pooling_device(Tensor<T> *x, Tensor<T> *out, cudnn_pooling_settings_t settings);
43 void pooling_grad_device(Tensor<T> *x, Tensor<T> *y, Tensor<T> *grad, Tensor<T> *out, cudnn_pooling_settings_t settings);