PetaVision  Alpha
PresynapticPerspectiveConvolveDelivery.hpp
1 /*
2  * PresynapticPerspectiveConvolveDelivery.hpp
3  *
4  * Created on: Aug 24, 2017
5  * Author: Pete Schultz
6  */
7 
8 #ifndef PRESYNAPTICPERSPECTIVECONVOLVEDELIVERY_HPP_
9 #define PRESYNAPTICPERSPECTIVECONVOLVEDELIVERY_HPP_
10 
11 #include "delivery/HyPerDelivery.hpp"
12 
13 namespace PV {
14 
20  protected:
31  virtual void ioParam_receiveGpu(enum ParamsIOFlag ioFlag) override; // End of list of BaseDelivery parameters.
33 
34  public:
35  PresynapticPerspectiveConvolveDelivery(char const *name, HyPerCol *hc);
36 
38 
50  virtual void deliver() override;
51 
52  virtual void deliverUnitInput(float *recvBuffer) override;
53 
54  protected:
56 
57  int initialize(char const *name, HyPerCol *hc);
58 
59  virtual void setObjectType() override;
60 
61  virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
62 
63  virtual Response::Status
64  communicateInitInfo(std::shared_ptr<CommunicateInitInfoMessage const> message) override;
65 
66  virtual Response::Status allocateDataStructures() override;
67 
68  void allocateThreadGSyn();
69 
70  // Data members
71  protected:
72  std::vector<std::vector<float>> mThreadGSyn;
73 }; // end class PresynapticPerspectiveConvolveDelivery
74 
75 } // end namespace PV
76 
77 #endif // PRESYNAPTICPERSPECTIVECONVOLVEDELIVERY_HPP_
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
virtual void ioParam_receiveGpu(enum ParamsIOFlag ioFlag) override
receiveGpu: PresynapticPerspectiveConvolveDelivery always sets receiveGpu to false. The receiveGpu=true case is handled by the PresynapticPerspectiveGPUDelivery class.