/* Function to perform forward pooling */ public void PoolingForward(PoolingDescriptor poolingDesc, double alpha, TensorDescriptor srcDesc, CudaDeviceVariable <double> srcData, double beta, TensorDescriptor destDesc, CudaDeviceVariable <double> destData ) { res = CudaDNNNativeMethods.cudnnPoolingForward(_handle, poolingDesc.Desc, ref alpha, srcDesc.Desc, srcData.DevicePointer, ref beta, destDesc.Desc, destData.DevicePointer); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnPoolingForward", res)); if (res != cudnnStatus.Success) { throw new CudaDNNException(res); } }
/* Function to perform forward pooling */ public void PoolingForward(PoolingDescriptor poolingDesc, double alpha, TensorDescriptor srcDesc, CudaDeviceVariable<double> srcData, double beta, TensorDescriptor destDesc, CudaDeviceVariable<double> destData ) { res = CudaDNNNativeMethods.cudnnPoolingForward(_handle, poolingDesc.Desc, ref alpha, srcDesc.Desc, srcData.DevicePointer, ref beta, destDesc.Desc, destData.DevicePointer); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cudnnPoolingForward", res)); if (res != cudnnStatus.Success) throw new CudaDNNException(res); }