8 #ifndef TRANSPOSEPOOLINGDELIVERY_HPP_ 9 #define TRANSPOSEPOOLINGDELIVERY_HPP_ 11 #include "components/DependentPatchSize.hpp" 12 #include "components/ImpliedWeightsPair.hpp" 13 #include "delivery/BaseDelivery.hpp" 14 #include "delivery/PoolingDelivery.hpp" 15 #include "layers/PoolingIndexLayer.hpp" 17 #include "cudakernels/CudaTransposePoolingDeliverKernel.hpp" 62 virtual void deliver()
override;
69 int initialize(
char const *name,
HyPerCol *hc);
71 virtual void setObjectType()
override;
75 virtual Response::Status
76 communicateInitInfo(std::shared_ptr<CommunicateInitInfoMessage const> message)
override;
79 virtual Response::Status
80 setCudaDevice(std::shared_ptr<SetCudaDeviceMessage const> message)
override;
83 virtual Response::Status allocateDataStructures()
override;
86 void initializeDeliverKernelArgs();
89 void allocateThreadGSyn();
91 void deliverPostsynapticPerspective();
93 void deliverPresynapticPerspective();
101 PoolingDelivery::AccumulateType mAccumulateType = PoolingDelivery::UNDEFINED;
102 bool mUpdateGSynFromPostPerspective =
false;
112 #endif // PV_USE_CUDA 114 std::vector<std::vector<float>> mThreadGSyn;
120 #endif // TRANSPOSEPOOLINGDELIVERY_HPP_
virtual void ioParam_updateGSynFromPostPerspective(enum ParamsIOFlag ioFlag)
updateGSynFromPostPerspective: Specifies if the connection should push from pre or pull from post...
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
virtual bool isAllInputReady() override
virtual void ioParam_receiveGpu(enum ParamsIOFlag ioFlag) override