8 #ifndef CUDARECVPOST_HPP_ 9 #define CUDARECVPOST_HPP_ 11 #include "arch/cuda/CudaBuffer.hpp" 12 #include "arch/cuda/CudaKernel.hpp" 15 #include <builtin_types.h> 40 float preToPostScaleX;
41 float preToPostScaleY;
49 long *startSourceExtBuf;
57 void *cudnn_workspace;
59 int *patch2datalookuptable;
69 void *v_inputDescriptor;
70 void *v_filterDescriptor;
71 void *v_outputDescriptor;
72 void *v_convDescriptor;
74 size_t *workspaceSize;
110 const float preToPostScaleX,
111 const float preToPostScaleY,
115 const int numPerStride,
116 const float dt_factor,
117 const int sharedWeights,
119 CudaBuffer *startSourceExtBuf,
122 CudaBuffer *postGsyn,
124 CudaBuffer *cudnn_preData,
125 CudaBuffer *cudnn_weights,
126 CudaBuffer *cudnn_gSyn,
128 CudaBuffer *patch2datalookuptable);
131 void permuteDatastorePVToCudnn();
132 void permuteWeightsPVToCudnn();
133 void permuteGSynPVToCudnn(
int channel);
134 void permuteGSynCudnnToPV(
int channel);
137 void set_dt_factor(
float new_dt_factor) { params.dt_factor = new_dt_factor; }
141 virtual int do_run()
override;