PetaVision  Alpha
PostsynapticPerspectiveStochasticDelivery.hpp
1 /*
2  * PostsynapticPerspectiveStochasticDelivery.hpp
3  *
4  * Created on: Aug 24, 2017
5  * Author: Pete Schultz
6  */
7 
8 #ifndef POSTSYNAPTICPERSPECTIVESTOCHASTICDELIVERY_HPP_
9 #define POSTSYNAPTICPERSPECTIVESTOCHASTICDELIVERY_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:
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 int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
60 
61  virtual void setObjectType() 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  Random *mRandState = nullptr;
73 
74 }; // end class PostsynapticPerspectiveStochasticDelivery
75 
76 } // end namespace PV
77 
78 #endif // POSTSYNAPTICPERSPECTIVESTOCHASTICDELIVERY_HPP_
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
virtual void ioParam_receiveGpu(enum ParamsIOFlag ioFlag) override
receiveGpu: PostsynapticPerspectiveStochasticDelivery always sets receiveGpu to false. The receiveGpu=true case is handled by the PostsynapticPerspectiveGPUDelivery class.