8 #ifndef CUDATRANSPOSEPOOLINGDELIVERKERNEL_HPP_ 9 #define CUDATRANSPOSEPOOLINGDELIVERKERNEL_HPP_ 11 #include <cudakernels/CudaPoolingDeliverKernel.hpp> 26 cudnnPoolingMode_t poolingMode,
28 CudaBuffer *dataStoreBuffer,
29 CudaBuffer *gSynBuffer,
30 CudaBuffer *origConnDataStoreBuffer,
31 CudaBuffer *origConnGSynBuffer,
35 virtual int do_run()
override;
40 int patchSizePostPerspective);
41 int calcManyScale(
int preRestricted,
int postRestricted);
42 int calcStride(
int preRestricted,
int postRestricted);
48 int mBorderExcessX = 0;
49 int mBorderExcessY = 0;
50 cudnnPoolingMode_t mPoolingMode = CUDNN_POOLING_MAX;
51 float mMultiplier = 1.0f;
52 cudnnPoolingDescriptor_t mPoolingDescriptor =
nullptr;
53 cudnnTensorDescriptor_t mDataStoreDescriptor =
nullptr;
54 float *mDataStore =
nullptr;
55 CudaBuffer *mCudnnDataStore =
nullptr;
57 cudnnTensorDescriptor_t mGSynDescriptor =
nullptr;
58 float *mGSyn =
nullptr;
59 CudaBuffer *mCudnnGSyn =
nullptr;
63 int mOrigConnBorderExcessX = 0;
64 int mOrigConnBorderExcessY = 0;
66 cudnnTensorDescriptor_t mOrigConnDataStoreDescriptor =
nullptr;
67 float *mOrigConnDataStore =
nullptr;
68 CudaBuffer *mCudnnOrigConnDataStore =
nullptr;
70 cudnnTensorDescriptor_t mOrigConnGSynDescriptor =
nullptr;
71 float *mOrigConnGSyn =
nullptr;
72 CudaBuffer *mCudnnOrigConnGSyn =
nullptr;