PetaVision  Alpha
PV::HyPerLayer Class Reference
Inheritance diagram for PV::HyPerLayer:
PV::BaseLayer PV::BaseObject PV::CheckpointerDataInterface PV::Observer PV::ANNLayer PV::BinningLayer PV::CloneVLayer PV::ConstantLayer PV::FilenameParsingGroundTruthLayer PV::InputLayer PV::InputRegionLayer PV::LIF PV::PoolingIndexLayer PV::Retina PV::Segmentify PV::SegmentLayer

HyPerLayer Parameters

List of parameters needed from the HyPerLayer class

virtual void ioParam_dataType (enum ParamsIOFlag ioFlag)
 
virtual void ioParam_updateGpu (enum ParamsIOFlag ioFlag)
 updateGpu: When compiled using CUDA or OpenCL GPU acceleration, this flag tells whether this layer's updateState method should use the GPU. If PetaVision was compiled without GPU acceleration, it is an error to set this flag to true.
 
virtual void ioParam_nxScale (enum ParamsIOFlag ioFlag)
 nxScale: Defines the relationship between the x column size and the layer size. More...
 
virtual void ioParam_nyScale (enum ParamsIOFlag ioFlag)
 nyScale: Defines the relationship between the y column size and the layer size. More...
 
virtual void ioParam_nf (enum ParamsIOFlag ioFlag)
 nf: Defines how many features this layer has
 
virtual void ioParam_phase (enum ParamsIOFlag ioFlag)
 phase: Defines the ordering in which each layer is updated
 
virtual void ioParam_mirrorBCflag (enum ParamsIOFlag ioFlag)
 mirrorBCflag: If set to true, the margin will mirror the data
 
virtual void ioParam_valueBC (enum ParamsIOFlag ioFlag)
 valueBC: If mirrorBC is set to true, Uses the specified value for the margin area
 
virtual void ioParam_initializeFromCheckpointFlag (enum ParamsIOFlag ioFlag)
 initializeFromCheckpointFlag: If set to true, initialize using checkpoint direcgtory set in HyPerCol. More...
 
virtual void ioParam_InitVType (enum ParamsIOFlag ioFlag)
 initVType: Specifies how to initialize the V buffer. More...
 
virtual void ioParam_triggerFlag (enum ParamsIOFlag ioFlag)
 triggerFlag: (Deprecated) Specifies if this layer is being triggered More...
 
virtual void ioParam_triggerLayerName (enum ParamsIOFlag ioFlag)
 triggerLayerName: Specifies the name of the layer that this layer triggers off of. If set to NULL or the empty string, the layer does not trigger but updates its state on every timestep.
 
virtual void ioParam_triggerOffset (enum ParamsIOFlag ioFlag)
 triggerOffset: If triggerLayer is set, triggers <triggerOffset> timesteps before target trigger More...
 
virtual void ioParam_triggerBehavior (enum ParamsIOFlag ioFlag)
 triggerBehavior: If triggerLayerName is set, this parameter specifies how the trigger is handled. More...
 
virtual void ioParam_triggerResetLayerName (enum ParamsIOFlag ioFlag)
 triggerResetLayerName: If triggerLayerName is set, this parameter specifies the layer to use for updating the state when the trigger happens. If set to NULL or the empty string, use triggerLayerName.
 
virtual void ioParam_writeStep (enum ParamsIOFlag ioFlag)
 writeStep: Specifies how often to output a pvp file for this layer More...
 
virtual void ioParam_initialWriteTime (enum ParamsIOFlag ioFlag)
 initialWriteTime: Specifies the first timestep to start outputing pvp files
 
virtual void ioParam_sparseLayer (enum ParamsIOFlag ioFlag)
 sparseLayer: Specifies if the layer should be considered sparese for optimization and output
 
virtual void ioParam_writeSparseValues (enum ParamsIOFlag ioFlag)
 writeSparseValues: No longer used.
 

Public Member Functions

 HyPerLayer (const char *name, HyPerCol *hc)
 
virtual bool activityIsSpiking ()
 
virtual double addGpuTimers ()
 
void addRecvConn (BaseConnection *conn)
 
Response::Status callUpdateState (double simTime, double dt)
 
void clearProgressFlags ()
 
void copyAllActivityFromDevice ()
 
void copyAllGSynFromDevice ()
 
void copyAllGSynToDevice ()
 
void copyAllVFromDevice ()
 
float * getActivity ()
 
float * getChannel (ChannelType ch)
 
virtual float getChannelTimeConst (enum ChannelType channel_type)
 
PVLayergetCLayer ()
 
bool getDataStructuresAllocatedFlag () const
 
PVDataType getDataType ()
 
virtual double getDeltaTriggerTime ()
 
virtual double getDeltaUpdateTime ()
 
std::string const & getDescription () const
 
char const * getDescription_c () const
 
PVCuda::CudaBuffer * getDeviceActiveIndices ()
 
PVCuda::CudaBuffer * getDeviceActivity ()
 
PVCuda::CudaBuffer * getDeviceDatastore ()
 
PVCuda::CudaBuffer * getDeviceGSyn ()
 
PVCuda::CudaBuffer * getDeviceNumActive ()
 
PVCuda::CudaBuffer * getDeviceV ()
 
bool getInitialValuesSetFlag () const
 
bool getInitInfoCommunicatedFlag () const
 
double getLastUpdateTime ()
 
const float * getLayerData (int delay=0)
 
PVLayerLoc const * getLayerLoc () const
 
MPIBlock const * getMPIBlock ()
 
char const * getName () const
 
double getNextUpdateTime ()
 
int getNumChannels ()
 
int getNumDelayLevels ()
 
int getNumExtended ()
 
int getNumExtendedAllBatches ()
 
int getNumGlobalExtended ()
 
int getNumGlobalNeurons ()
 
int getNumNeurons ()
 
int getNumNeuronsAllBatches ()
 
int getNumProbes ()
 
std::string const & getObjectType () const
 
int getPhase ()
 
LayerProbegetProbe (int n)
 
PublishergetPublisher ()
 
bool getSparseFlag ()
 
virtual double getTimeScale (int batchIdx)
 
bool getUpdatedDeviceActivityFlag ()
 
bool getUpdatedDeviceDatastoreFlag ()
 
bool getUpdatedDeviceGSynFlag ()
 
float * getV ()
 
float getValueBC ()
 
int getXScale ()
 
int getYScale ()
 
int increaseDelayLevels (int neededDelay)
 
virtual int insertProbe (LayerProbe *probe)
 
void ioParams (enum ParamsIOFlag ioFlag, bool printHeader, bool printFooter)
 
bool isExchangeFinished (int delay=0)
 
bool isExtended ()
 
bool isUsingGPU () const
 
char const * lookupKeyword () const
 
int mirrorInteriorToBorder (PVLayerCube *cube, PVLayerCube *borderCube)
 
virtual int mirrorToEast (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToNorth (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToNorthEast (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToNorthWest (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToSouth (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToSouthEast (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToSouthWest (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToWest (PVLayerCube *dest, PVLayerCube *src)
 
virtual bool needUpdate (double simTime, double dt)
 
Response::Status outputProbeParams ()
 
virtual Response::Status outputState (double timef)
 
virtual int publish (Communicator *comm, double simTime)
 
void readParams ()
 
virtual int recvAllSynapticInput ()
 
virtual int requireChannel (int channelNeeded, int *numChannelsResult)
 
virtual int requireMarginWidth (int marginWidthNeeded, int *marginWidthResult, char axis)
 
int resetBuffer (float *buf, int numItems)
 
virtual int resetGSynBuffers (double timef, double dt)
 
virtual Response::Status respond (std::shared_ptr< BaseMessage const > message) override
 
Response::Status respondLayerAdvanceDataStore (std::shared_ptr< LayerAdvanceDataStoreMessage const > message)
 
Response::Status respondLayerCheckNotANumber (std::shared_ptr< LayerCheckNotANumberMessage const > message)
 
Response::Status respondLayerClearProgressFlags (std::shared_ptr< LayerClearProgressFlagsMessage const > message)
 
Response::Status respondLayerCopyFromGpu (std::shared_ptr< LayerCopyFromGpuMessage const > message)
 
Response::Status respondLayerOutputState (std::shared_ptr< LayerOutputStateMessage const > message)
 
Response::Status respondLayerProbeWriteParams (std::shared_ptr< LayerProbeWriteParamsMessage const > message)
 
Response::Status respondLayerPublish (std::shared_ptr< LayerPublishMessage const > message)
 
Response::Status respondLayerRecvSynapticInput (std::shared_ptr< LayerRecvSynapticInputMessage const > message)
 
Response::Status respondLayerSetMaxPhase (std::shared_ptr< LayerSetMaxPhaseMessage const > message)
 
Response::Status respondLayerUpdateState (std::shared_ptr< LayerUpdateStateMessage const > message)
 
Response::Status respondLayerWriteParams (std::shared_ptr< LayerWriteParamsMessage const > message)
 
void setAllocDeviceActiveIndices ()
 
void setAllocDeviceActivity ()
 
void setAllocDeviceDatastore ()
 
void setAllocDeviceGSyn ()
 
void setAllocDeviceV ()
 
void setUpdatedDeviceActivityFlag (bool in)
 
void setUpdatedDeviceDatastoreFlag (bool in)
 
void setUpdatedDeviceGSynFlag (bool in)
 
virtual void syncGpu ()
 
void synchronizeMarginWidth (HyPerLayer *layer)
 
void updateActiveIndices ()
 
virtual void updateAllActiveIndices ()
 
bool useMirrorBCs ()
 
virtual int waitOnPublish (Communicator *comm)
 
virtual int writeActivity (double timed)
 
virtual int writeActivitySparse (double timed)
 
void writeParams ()
 

Static Public Member Functions

static bool localDimensionsEqual (PVLayerLoc const *loc1, PVLayerLoc const *loc2)
 

Data Fields

PVLayerclayer
 

Protected Member Functions

void addPublisher ()
 
virtual void allocateActivity ()
 
template<typename T >
void allocateBuffer (T **buf, int bufsize, const char *bufname)
 
virtual void allocateBuffers ()
 
virtual int allocateClayerBuffers ()
 
virtual Response::Status allocateDataStructures () override
 
virtual int allocateDeviceBuffers ()
 
void allocateExtendedBuffer (float **buf, const char *bufname)
 
virtual void allocateGSyn ()
 
virtual void allocatePrevActivity ()
 
void allocateRestrictedBuffer (float **buf, const char *bufname)
 
virtual int allocateUpdateKernel ()
 
virtual void allocateV ()
 
void calcNumExtended ()
 
void checkpointPvpActivityFloat (Checkpointer *checkpointer, char const *bufferName, float *pvpBuffer, bool extended)
 
void checkpointRandState (Checkpointer *checkpointer, char const *bufferName, Random *randState, bool extendedFlag)
 
virtual Response::Status cleanup ()
 
virtual Response::Status communicateInitInfo (std::shared_ptr< CommunicateInitInfoMessage const > message) override
 
virtual Response::Status copyInitialStateToGPU () override
 
template<typename T >
int freeBuffer (T **buf)
 
void freeChannels ()
 
int freeClayer ()
 
int freeExtendedBuffer (float **buf)
 
int freeRestrictedBuffer (float **buf)
 
virtual int initClayer ()
 
int initialize (const char *name, HyPerCol *hc)
 
virtual void initializeActivity ()
 
virtual Response::Status initializeState () override
 
virtual void initializeV ()
 
virtual int ioParamsFillGroup (enum ParamsIOFlag ioFlag) override
 
bool isAllInputReady ()
 
virtual bool needReset (double timed, double dt)
 
int openOutputStateFile (Checkpointer *checkpointer)
 
virtual Response::Status prepareCheckpointWrite ()
 
virtual Response::Status processCheckpointRead () override
 
virtual void readActivityFromCheckpoint (Checkpointer *checkpointer)
 
virtual void readDelaysFromCheckpoint (Checkpointer *checkpointer)
 
virtual Response::Status readStateFromCheckpoint (Checkpointer *checkpointer) override
 
virtual void readVFromCheckpoint (Checkpointer *checkpointer)
 
virtual Response::Status registerData (Checkpointer *checkpointer) override
 
virtual void resetStateOnTrigger ()
 
Response::Status respondAllocateData (std::shared_ptr< AllocateDataMessage const > message)
 
Response::Status respondCleanup (std::shared_ptr< CleanupMessage const > message)
 
Response::Status respondCommunicateInitInfo (std::shared_ptr< CommunicateInitInfoMessage const > message)
 
Response::Status respondCopyInitialStateToGPU (std::shared_ptr< CopyInitialStateToGPUMessage const > message)
 
Response::Status respondInitializeState (std::shared_ptr< InitializeStateMessage const > message)
 
Response::Status respondPrepareCheckpointWrite (std::shared_ptr< PrepareCheckpointWriteMessage const > message)
 
Response::Status respondProcessCheckpointRead (std::shared_ptr< ProcessCheckpointReadMessage const > message)
 
Response::Status respondReadStateFromCheckpoint (std::shared_ptr< ReadStateFromCheckpointMessage< Checkpointer > const > message)
 
Response::Status respondRegisterData (std::shared_ptr< RegisterDataMessage< Checkpointer > const > message)
 
Response::Status respondSetCudaDevice (std::shared_ptr< SetCudaDeviceMessage const > message)
 
virtual int runUpdateKernel ()
 
virtual int setActivity ()
 
virtual Response::Status setCudaDevice (std::shared_ptr< SetCudaDeviceMessage const > message)
 
void setDataStructuresAllocatedFlag ()
 
void setDescription ()
 
void setInitialValuesSetFlag ()
 
void setInitInfoCommunicatedFlag ()
 
int setLayerLoc (PVLayerLoc *layerLoc, float nxScale, float nyScale, int nf, int numBatches)
 
virtual Response::Status setMaxPhase (int *maxPhase)
 
int setName (char const *name)
 
virtual void setObjectType ()
 
int setParent (HyPerCol *hc)
 
void updateNBands (int numCalls)
 
virtual Response::Status updateState (double timef, double dt)
 
virtual Response::Status updateStateGpu (double timef, double dt)
 

Static Protected Member Functions

static int equalizeMargins (HyPerLayer *layer1, HyPerLayer *layer2)
 

Protected Attributes

bool allocDeviceActiveIndices
 
bool allocDeviceActivity
 
bool allocDeviceDatastore
 
bool allocDeviceGSyn
 
bool allocDeviceV
 
PVCuda::CudaBuffer * d_ActiveIndices
 
PVCuda::CudaBuffer * d_Activity
 
PVCuda::CudaBuffer * d_Datastore
 
PVCuda::CudaBuffer * d_GSyn
 
PVCuda::CudaBuffer * d_numActive
 
PVCuda::CudaBuffer * d_V
 
PVDataType dataType
 
char * dataTypeString
 
std::string description
 
PVCuda::CudaTimer * gpu_recvsyn_timer
 
PVCuda::CudaTimer * gpu_update_timer
 
float ** GSyn
 
bool initializeFromCheckpointFlag = true
 
double initialWriteTime
 
char * initVTypeString = nullptr
 
Timerio_timer
 
PVCuda::CudaKernel * krUpdate
 
int * marginIndices
 
PVCuda::CudaDevice * mCudaDevice = nullptr
 
bool mDataStructuresAllocatedFlag = false
 
bool mHasReceived = false
 
bool mHasUpdated = false
 
bool mInitialValuesSetFlag = false
 
bool mInitInfoCommunicatedFlag = false
 
BaseInitVmInitVObject = nullptr
 
bool mirrorBCflag
 
double mLastTriggerTime
 
double mLastUpdateTime
 
bool mNeedToPublish = true
 
std::string mObjectType
 
CheckpointableFileStreammOutputStateStream = nullptr
 
bool mRecvGpu
 
bool mUpdateGpu
 
bool mUsingGPUFlag = false
 
char * name = nullptr
 
int numChannels
 
int numDelayLevels
 
int numFeatures
 
int numMargin
 
int numProbes
 
int numSynchronizedMarginWidthLayers
 
float nxScale
 
float nyScale
 
HyPerColparent = nullptr
 
int phase
 
LayerProbe ** probes
 
Timerpublish_timer
 
Publisherpublisher = nullptr
 
std::vector< BaseConnection * > recvConns
 
Timerrecvsyn_timer
 
unsigned int rngSeedBase
 
bool sparseLayer
 
HyPerLayer ** synchronizedMarginWidthLayers
 
float ** thread_gSyn
 
Timertimescale_timer
 
char * triggerBehavior
 
TriggerBehaviorType triggerBehaviorType
 
bool triggerFlag
 
HyPerLayertriggerLayer
 
char * triggerLayerName
 
double triggerOffset
 
HyPerLayertriggerResetLayer
 
char * triggerResetLayerName
 
Timerupdate_timer
 
bool updatedDeviceActivity
 
bool updatedDeviceDatastore
 
bool updatedDeviceGSyn
 
float valueBC
 
int writeActivityCalls
 
int writeActivitySparseCalls
 
double writeStep
 
double writeTime
 
int xmargin
 
int ymargin
 

Private Member Functions

int initialize_base ()
 

Detailed Description

Definition at line 64 of file HyPerLayer.hpp.

Member Function Documentation

void PV::HyPerLayer::addRecvConn ( BaseConnection conn)

Adds the given connection to the vector of connections to receive input from. The connection's post-synaptic layer must be the layer for which this member function is called.

Definition at line 1235 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateDeviceBuffers ( )
protectedvirtual

Allocate GPU buffers. This must be called after PVLayer data have been allocated.

Definition at line 1090 of file HyPerLayer.cpp.

void PV::HyPerLayer::allocateExtendedBuffer ( float **  buf,
const char *  bufname 
)
protected

Allocates an extended buffer (that is, buffer's length is getNumExtendedAllBatches()).

Definition at line 329 of file HyPerLayer.cpp.

void PV::HyPerLayer::allocateRestrictedBuffer ( float **  buf,
const char *  bufname 
)
protected

Allocates a restricted buffer (that is, buffer's length is getNumNeuronsAllBatches()).

Definition at line 325 of file HyPerLayer.cpp.

int PV::HyPerLayer::freeExtendedBuffer ( float **  buf)
protected

Frees a buffer created by allocateRestrictedBuffer(). Note that there is no checking whether the buffer was created by allocateExtendedBuffer(), or any other allocateBuffer()-related method.

Definition at line 256 of file HyPerLayer.cpp.

int PV::HyPerLayer::freeRestrictedBuffer ( float **  buf)
protected

Frees a buffer created by allocateRestrictedBuffer(). Note that there is no checking whether the buffer was created by allocateRestrictedBuffer(), or any other allocateBuffer()-related method.

Definition at line 254 of file HyPerLayer.cpp.

bool PV::BaseObject::getDataStructuresAllocatedFlag ( ) const
inlineinherited

Get-method for mDataStructuresAllocatedFlag, which is false on initialization and then becomes true once setDataStructuresAllocatedFlag() is called.

Definition at line 102 of file BaseObject.hpp.

double PV::HyPerLayer::getDeltaTriggerTime ( )
virtual

A function to return the interval between triggering times. A negative value means that the layer never triggers (either there is no triggerLayer or the triggerLayer never updates).

Definition at line 1686 of file HyPerLayer.cpp.

double PV::HyPerLayer::getDeltaUpdateTime ( )
virtual

A function to return the interval between times when updateState is needed.

Reimplemented in PV::InputLayer, PV::ISTALayer, and PV::HyPerLCALayer.

Definition at line 1677 of file HyPerLayer.cpp.

bool PV::BaseObject::getInitialValuesSetFlag ( ) const
inlineinherited

Get-method for mInitialValuesSetFlag, which is false on initialization and then becomes true once setInitialValuesSetFlag() is called.

Definition at line 108 of file BaseObject.hpp.

bool PV::BaseObject::getInitInfoCommunicatedFlag ( ) const
inlineinherited

Get-method for mInitInfoCommunicatedFlag, which is false on initialization and then becomes true once setInitInfoCommunicatedFlag() is called.

Definition at line 95 of file BaseObject.hpp.

const float * PV::HyPerLayer::getLayerData ( int  delay = 0)

Returns the activity data for the layer. This data is in the extended space (with margins).

Definition at line 1573 of file HyPerLayer.cpp.

int PV::HyPerLayer::initialize ( const char *  name,
HyPerCol hc 
)
protected

Classes derived from HyPerLayer should call HyPerLayer::initialize themselves to take advantage of virtual methods. Note that the HyPerLayer constructor does not call initialize. This way, HyPerLayer::initialize can call virtual methods and the derived class's method will be the one that gets called.

Definition at line 129 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_initializeFromCheckpointFlag ( enum ParamsIOFlag  ioFlag)
protectedvirtual

initializeFromCheckpointFlag: If set to true, initialize using checkpoint direcgtory set in HyPerCol.

Checkpoint read directory must be set in HyPerCol to initialize from checkpoint.

Definition at line 671 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_InitVType ( enum ParamsIOFlag  ioFlag)
protectedvirtual

initVType: Specifies how to initialize the V buffer.

Possible choices include

Further parameters are needed depending on initialization type.

Reimplemented in PV::InputLayer, PV::Retina, PV::InputRegionLayer, and PV::CloneVLayer.

Definition at line 681 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_nxScale ( enum ParamsIOFlag  ioFlag)
protectedvirtual

nxScale: Defines the relationship between the x column size and the layer size.

Must be 2^n or 1/2^n

Definition at line 639 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_nyScale ( enum ParamsIOFlag  ioFlag)
protectedvirtual

nyScale: Defines the relationship between the y column size and the layer size.

Must be 2^n or 1/2^n

Definition at line 643 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_triggerBehavior ( enum ParamsIOFlag  ioFlag)
protectedvirtual

triggerBehavior: If triggerLayerName is set, this parameter specifies how the trigger is handled.

The possible values of triggerBehavior are:

  • "updateOnlyOnTrigger": updateState is called (computing activity buffer from GSyn) only on triggering timesteps. On other timesteps the layer's state remains unchanged.
  • "resetStateOnTrigger": On timesteps where the trigger occurs, the membrane potential is copied from the layer specified in triggerResetLayerName and setActivity is called. On nontriggering timesteps, updateState is called. For backward compatibility, this parameter defaults to updateOnlyOnTrigger.

Definition at line 774 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_triggerFlag ( enum ParamsIOFlag  ioFlag)
protectedvirtual

triggerFlag: (Deprecated) Specifies if this layer is being triggered

Defaults to false. This flag is deprecated. To turn triggering off, set triggerLayer to NULL or the empty string. It is an error to set this flag to false and triggerLayer to a nonempty string.

Definition at line 724 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_triggerOffset ( enum ParamsIOFlag  ioFlag)
protectedvirtual

triggerOffset: If triggerLayer is set, triggers <triggerOffset> timesteps before target trigger

Defaults to 0

Definition at line 761 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_writeStep ( enum ParamsIOFlag  ioFlag)
protectedvirtual

writeStep: Specifies how often to output a pvp file for this layer

Defaults to every timestep. -1 specifies not to write at all.

Definition at line 825 of file HyPerLayer.cpp.

void PV::BaseObject::ioParams ( enum ParamsIOFlag  ioFlag,
bool  printHeader,
bool  printFooter 
)
inherited

Method for reading or writing the params from group in the parent HyPerCol's parameters. The group from params is selected using the name of the connection.

If ioFlag is set to write, the printHeader and printFooter flags control whether a header and footer for the parameter group is produces. These flags are set to true for layers, connections, and probes; and set to false for weight initializers and normalizers. If ioFlag is set to read, the printHeader and printFooter flags are ignored.

Note that ioParams is not virtual. To add parameters in a derived class, override ioParamFillGroup.

Definition at line 74 of file BaseObject.cpp.

bool PV::HyPerLayer::isAllInputReady ( )
protected

Returns true if each layer that delivers input to this layer has finished its MPI exchange for its delay; false if any of them has not.

Definition at line 1923 of file HyPerLayer.cpp.

bool PV::HyPerLayer::isExchangeFinished ( int  delay = 0)

Returns true if the MPI exchange for the specified delay has finished; false if it is still in process.

Definition at line 1921 of file HyPerLayer.cpp.

bool PV::BaseObject::isUsingGPU ( ) const
inlineinherited

Returns true if the object requires the GPU; false otherwise. HyPerCol will not initialize the GPU unless one of the objects in its hierarchy returns true

Definition at line 116 of file BaseObject.hpp.

char const * PV::BaseObject::lookupKeyword ( ) const
inherited

Look up the keyword of the params group with the same name as the object.

Definition at line 42 of file BaseObject.cpp.

bool PV::HyPerLayer::needReset ( double  timed,
double  dt 
)
protectedvirtual

Returns true if the trigger behavior is resetStateOnTrigger and the layer was triggered.

Definition at line 1718 of file HyPerLayer.cpp.

bool PV::HyPerLayer::needUpdate ( double  simTime,
double  dt 
)
virtual

A virtual function to determine if callUpdateState method needs to be called Default behavior is dependent on the triggering method. If there is no triggering, always returns true. If there is triggering and the trigger behavior is updateOnlyOnTrigger, returns true only when there is a triggering event. If there is triggering and the trigger behavior is resetStateOnTrigger, returns true only when there is not a trigger event.

Parameters
timeThe current timestep of the run
dtThe current non-adaptive dt of the run
Returns
Returns if the update needs to happen

Reimplemented in PV::InputRegionLayer, PV::FilenameParsingGroundTruthLayer, and PV::ConstantLayer.

Definition at line 1695 of file HyPerLayer.cpp.

void PV::BaseObject::readParams ( )
inlineinherited

A method that reads the parameters for the group whose name matches the name of the object. It, along with writeParams(), is a wrapper around ioParams, so that readParams and writeParams automatically run through the same parameters in the same order.

Definition at line 62 of file BaseObject.hpp.

void PV::HyPerLayer::resetStateOnTrigger ( )
protectedvirtual

Called instead of updateState when triggerBehavior is "resetStateOnTrigger" and a triggering event occurs. Copies the membrane potential V from triggerResetLayer and then calls setActivity to update A.

Definition at line 1769 of file HyPerLayer.cpp.

void PV::BaseObject::setDataStructuresAllocatedFlag ( )
inlineprotectedinherited

This method sets mDataStructuresAllocatedFlag to true.

Definition at line 175 of file BaseObject.hpp.

void PV::BaseObject::setInitialValuesSetFlag ( )
inlineprotectedinherited

This method sets the flag returned by getInitialValuesSetFlag to true.

Definition at line 180 of file BaseObject.hpp.

void PV::BaseObject::setInitInfoCommunicatedFlag ( )
inlineprotectedinherited

This method sets mInitInfoCommunicatedFlag to true.

Definition at line 170 of file BaseObject.hpp.

void PV::BaseObject::writeParams ( )
inlineinherited

A method that writes the parameters for the group whose name matches the name of the object. It, along with readParams(), is a wrapper around ioParams, so that readParams and writeParams automatically run through the same parameters in the same order.

Definition at line 69 of file BaseObject.hpp.


The documentation for this class was generated from the following files: