8 #ifndef CUDAPOOLINGDELIVERKERNEL_HPP_ 9 #define CUDAPOOLINGDELIVERKERNEL_HPP_ 11 #include "arch/cuda/CudaKernel.hpp" 12 #include "include/PVLayerLoc.h" 22 cudnnPoolingMode_t poolingMode;
24 void *poolingDescriptor;
25 void *dataStoreDescriptor;
39 cudnnPoolingMode_t poolingMode,
41 CudaBuffer *inputBuffer,
42 CudaBuffer *outputBuffer,
44 static int calcStride(
int preRestricted,
int postRestricted);
47 virtual int do_run()
override;
52 int patchSizePostPerspective);
53 int calcManyScale(
int preRestricted,
int postRestricted);
58 int mBorderExcessX = 0;
59 int mBorderExcessY = 0;
60 cudnnPoolingMode_t mPoolingMode = CUDNN_POOLING_MAX;
61 float mMultiplier = 1.0f;
62 cudnnPoolingDescriptor_t mPoolingDescriptor =
nullptr;
63 cudnnTensorDescriptor_t mDataStoreDescriptor =
nullptr;
64 float *mDataStore =
nullptr;
65 CudaBuffer *mCudnnDataStore =
nullptr;
67 cudnnTensorDescriptor_t mGSynDescriptor =
nullptr;
68 float *mGSyn =
nullptr;
69 CudaBuffer *mCudnnGSyn =
nullptr;