PetaVision  Alpha
PV::LCALIFLayer Class Reference
Inheritance diagram for PV::LCALIFLayer:
PV::LIFGap PV::LIF PV::HyPerLayer PV::BaseLayer PV::BaseObject PV::CheckpointerDataInterface PV::Observer

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

 LCALIFLayer (const char *name, HyPerCol *hc)
virtual bool activityIsSpiking () override
virtual double addGpuTimers ()
void addRecvConn (BaseConnection *conn)
virtual int allocateDataStructures () override
int callUpdateState (double simTime, double dt)
void clearProgressFlags ()
virtual int communicateInitInfo (CommunicateInitInfoMessage const *message) override
void copyAllActivityFromDevice ()
void copyAllGSynFromDevice ()
void copyAllGSynToDevice ()
void copyAllVFromDevice ()
int findFlag (int numMatrixCol, int numMatrixRow)
float * getActivity ()
float * getChannel (ChannelType ch)
virtual float getChannelTimeConst (enum ChannelType channel_type) override
PVLayergetCLayer ()
virtual pvconductance_t * getConductance (ChannelType ch)
bool getDataStructuresAllocatedFlag ()
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 ()
const float * getGapStrength ()
bool getHasReceived ()
bool getHasUpdated ()
bool getInitialValuesSetFlag ()
bool getInitInfoCommunicatedFlag ()
const float * getIntegratedSpikeCount ()
char const * getKeyword () const
double getLastUpdateTime ()
const float * getLayerData (int delay=0)
PVLayerLoc const * getLayerLoc () const
virtual LIF_paramsgetLIFParams ()
float getMaxRate ()
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 ()
int getPhase ()
LayerProbegetProbe (int n)
PublishergetPublisher ()
bool getRecvGpu ()
bool getSparseFlag ()
float getTargetRate ()
virtual double getTimeScale (int batchIdx)
bool getUpdatedDeviceActivityFlag ()
bool getUpdatedDeviceDatastoreFlag ()
bool getUpdatedDeviceGSynFlag ()
bool getUpdateGpu ()
float * getV ()
const float * getVadpt ()
float getValueBC ()
const float * getVattained ()
const float * getVmeminf ()
float * getVth ()
int getXScale ()
int getYScale ()
int increaseDelayLevels (int neededDelay)
virtual int insertProbe (LayerProbe *probe)
int ioParams (enum ParamsIOFlag ioFlag)
bool isAllInputReady ()
bool isExchangeFinished (int delay=0)
bool isExtended ()
bool isUsingGPU () 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)
int outputProbeParams ()
virtual int outputState (double timef)
virtual int publish (Communicator *comm, double simTime)
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 int respond (std::shared_ptr< BaseMessage const > message) override
virtual int respondLayerAdvanceDataStore (LayerAdvanceDataStoreMessage const *message)
virtual int respondLayerCheckNotANumber (LayerCheckNotANumberMessage const *message)
virtual int respondLayerCopyFromGpu (LayerCopyFromGpuMessage const *message)
virtual int respondLayerOutputState (LayerOutputStateMessage const *message)
virtual int respondLayerPublish (LayerPublishMessage const *message)
virtual int respondLayerRecvSynapticInput (LayerRecvSynapticInputMessage const *message)
virtual int respondLayerUpdateState (LayerUpdateStateMessage const *message)
virtual int setActivity () override
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)
virtual int updateActiveIndices ()
virtual int updateAllActiveIndices ()
virtual int updateState (double timef, double dt) override
bool useMirrorBCs ()
virtual int waitOnPublish (Communicator *comm)
virtual int writeActivity (double timed)
virtual int writeActivitySparse (double timed)

Static Public Member Functions

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

Data Fields


Protected Member Functions

void addPublisher ()
virtual int allocateActivity ()
template<typename T >
int allocateBuffer (T **buf, int bufsize, const char *bufname)
int allocateBuffers () override
virtual int allocateClayerBuffers ()
virtual int allocateConductances (int num_channels) override
int allocateCube ()
virtual int allocateDeviceBuffers ()
int allocateExtendedBuffer (float **buf, const char *bufname)
virtual int allocateGSyn ()
virtual int allocatePrevActivity ()
int allocateRestrictedBuffer (float **buf, const char *bufname)
virtual int allocateUpdateKernel ()
virtual int 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 int cleanup ()
virtual int 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, const char *kernel_name)
int initialize (const char *name, HyPerCol *hc)
virtual int initializeActivity ()
virtual int initializeState () overridefinal
virtual int initializeV ()
virtual void ioParam_deltaGIB (enum ParamsIOFlag ioFlag)
virtual void ioParam_deltaVth (enum ParamsIOFlag ioFlag)
virtual void ioParam_method (enum ParamsIOFlag ioFlag)
virtual void ioParam_noiseAmpE (enum ParamsIOFlag ioFlag)
virtual void ioParam_noiseAmpI (enum ParamsIOFlag ioFlag)
virtual void ioParam_noiseAmpIB (enum ParamsIOFlag ioFlag)
virtual void ioParam_noiseFreqE (enum ParamsIOFlag ioFlag)
virtual void ioParam_noiseFreqI (enum ParamsIOFlag ioFlag)
virtual void ioParam_noiseFreqIB (enum ParamsIOFlag ioFlag)
virtual void ioParam_normalizeInput (enum ParamsIOFlag ioFlag)
virtual void ioParam_targetRate (enum ParamsIOFlag ioFlag)
virtual void ioParam_tau (enum ParamsIOFlag ioFlag)
virtual void ioParam_tauE (enum ParamsIOFlag ioFlag)
virtual void ioParam_tauI (enum ParamsIOFlag ioFlag)
virtual void ioParam_tauIB (enum ParamsIOFlag ioFlag)
virtual void ioParam_tauTHR (enum ParamsIOFlag ioFlag)
virtual void ioParam_tauVth (enum ParamsIOFlag ioFlag)
virtual void ioParam_Vexc (enum ParamsIOFlag ioFlag)
virtual void ioParam_Vinh (enum ParamsIOFlag ioFlag)
virtual void ioParam_VinhB (enum ParamsIOFlag ioFlag)
virtual void ioParam_Vrest (enum ParamsIOFlag ioFlag)
virtual void ioParam_Vscale (enum ParamsIOFlag ioFlag)
virtual void ioParam_VthRest (enum ParamsIOFlag ioFlag)
virtual int ioParamsFillGroup (enum ParamsIOFlag ioFlag) override
virtual bool needReset (double timed, double dt)
int openOutputStateFile (Checkpointer *checkpointer)
virtual int prepareCheckpointWrite ()
virtual int processCheckpointRead () override
virtual int read_integratedSpikeCountFromCheckpoint (Checkpointer *checkpointer)
virtual int readActivityFromCheckpoint (Checkpointer *checkpointer)
virtual int readDelaysFromCheckpoint (Checkpointer *checkpointer)
virtual int readG_EFromCheckpoint (Checkpointer *checkpointer)
virtual int readG_IBFromCheckpoint (Checkpointer *checkpointer)
virtual int readG_IFromCheckpoint (Checkpointer *checkpointer)
virtual int readGapStrengthFromCheckpoint (Checkpointer *checkpointer)
virtual int readRandStateFromCheckpoint (Checkpointer *checkpointer)
virtual int readStateFromCheckpoint (Checkpointer *checkpointer) override
virtual int readVadptFromCheckpoint (Checkpointer *checkpointer)
virtual int readVFromCheckpoint (Checkpointer *checkpointer)
virtual int readVthFromCheckpoint (Checkpointer *checkpointer)
virtual int registerData (Checkpointer *checkpointer) override
virtual int resetStateOnTrigger ()
int respondAllocateData (AllocateDataMessage const *message)
int respondCleanup (CleanupMessage const *message)
int respondCommunicateInitInfo (CommunicateInitInfoMessage const *message)
int respondCopyInitialStateToGPUMessage (CopyInitialStateToGPUMessage const *message)
int respondInitializeState (InitializeStateMessage const *message)
int respondPrepareCheckpointWrite (PrepareCheckpointWriteMessage const *message)
int respondProcessCheckpointRead (ProcessCheckpointReadMessage const *message)
int respondReadStateFromCheckpoint (ReadStateFromCheckpointMessage< Checkpointer > const *message)
int respondRegisterData (RegisterDataMessage< Checkpointer > const *message)
virtual int runUpdateKernel ()
void setDataStructuresAllocatedFlag ()
virtual int setDescription ()
virtual int setInitialValues ()
void setInitialValuesSetFlag ()
void setInitInfoCommunicatedFlag ()
int setLayerLoc (PVLayerLoc *layerLoc, float nxScale, float nyScale, int nf, int numBatches)
int setName (char const *name)
int setParent (HyPerCol *hc)
void updateNBands (int numCalls)
virtual int 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
float * excitatoryNoise
pvconductance_t * G_E
pvconductance_t * G_I
pvconductance_t * G_IB
float * G_Norm
PVCuda::CudaTimer * gpu_recvsyn_timer
PVCuda::CudaTimer * gpu_update_timer
float ** GSyn
float * GSynExcEffective
float * GSynInhEffective
float * inhibitoryNoise
float * inhibNoiseB
bool initializeFromCheckpointFlag = true
double initialWriteTime
char * initVTypeString = nullptr
float * integratedSpikeCount
PVCuda::CudaKernel * krUpdate
LIF_params lParams
int * marginIndices
float maxRate
bool mDataStructuresAllocatedFlag = false
char method
char * methodString
bool mHasReceived = false
bool mHasUpdated = false
bool mInitialValuesSetFlag = false
bool mInitInfoCommunicatedFlag = false
BaseInitVmInitVObject = nullptr
bool mirrorBCflag
double mLastTriggerTime
double mLastUpdateTime
bool mNeedToPublish = true
CheckpointableFileStreammOutputStateStream = nullptr
bool mUsingGPUFlag = false
char * name = nullptr
bool normalizeInputFlag
int numChannels
int numDelayLevels
int numFeatures
int numMargin
int numProbes
int numSynchronizedMarginWidthLayers
float nxScale
float nyScale
HyPerColparent = nullptr
int phase
LayerProbe ** probes
Publisherpublisher = nullptr
std::vector< BaseConnection * > recvConns
bool recvGpu
unsigned int rngSeedBase
bool sparseLayer
HyPerLayer ** synchronizedMarginWidthLayers
float targetRateHz
float tauTHR
float ** thread_gSyn
char * triggerBehavior
TriggerBehaviorType triggerBehaviorType
bool triggerFlag
char * triggerLayerName
double triggerOffset
char * triggerResetLayerName
bool updatedDeviceActivity
bool updatedDeviceDatastore
bool updatedDeviceGSyn
bool updateGpu
float * Vadpt
float valueBC
float * Vattained
float * Vmeminf
float Vscale
float * Vth
int writeActivityCalls
int writeActivitySparseCalls
double writeStep
double writeTime
int xmargin
int ymargin

Private Member Functions

int initialize_base ()

Detailed Description

Definition at line 17 of file LCALIFLayer.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 1224 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateDeviceBuffers ( )

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

Definition at line 1085 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateExtendedBuffer ( float **  buf,
const char *  bufname 

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

Definition at line 340 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateRestrictedBuffer ( float **  buf,
const char *  bufname 

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

Definition at line 336 of file HyPerLayer.cpp.

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

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 264 of file HyPerLayer.cpp.

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

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 262 of file HyPerLayer.cpp.

bool PV::BaseObject::getDataStructuresAllocatedFlag ( )

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

Definition at line 65 of file BaseObject.hpp.

double PV::HyPerLayer::getDeltaTriggerTime ( )

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 1673 of file HyPerLayer.cpp.

double PV::HyPerLayer::getDeltaUpdateTime ( )

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

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

Definition at line 1664 of file HyPerLayer.cpp.

bool PV::BaseObject::getInitialValuesSetFlag ( )

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

Definition at line 71 of file BaseObject.hpp.

bool PV::BaseObject::getInitInfoCommunicatedFlag ( )

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

Definition at line 58 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 1563 of file HyPerLayer.cpp.

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

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 130 of file HyPerLayer.cpp.

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

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 705 of file HyPerLayer.cpp.

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

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, and PV::CloneVLayer.

Definition at line 715 of file HyPerLayer.cpp.

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

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

Must be 2^n or 1/2^n

Definition at line 673 of file HyPerLayer.cpp.

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

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

Must be 2^n or 1/2^n

Definition at line 677 of file HyPerLayer.cpp.

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

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 803 of file HyPerLayer.cpp.

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

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 753 of file HyPerLayer.cpp.

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

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

Defaults to 0

Definition at line 790 of file HyPerLayer.cpp.

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

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 854 of file HyPerLayer.cpp.

int PV::LCALIFLayer::ioParamsFillGroup ( enum ParamsIOFlag  ioFlag)

The function that calls all ioParam functions

Reimplemented from PV::LIF.

Definition at line 110 of file LCALIFLayer.cpp.

bool PV::HyPerLayer::isAllInputReady ( )

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 1911 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 1909 of file HyPerLayer.cpp.

bool PV::BaseObject::isUsingGPU ( ) const

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 79 of file BaseObject.hpp.

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

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

Definition at line 1705 of file HyPerLayer.cpp.

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

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.

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

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

Definition at line 1682 of file HyPerLayer.cpp.

int PV::HyPerLayer::resetStateOnTrigger ( )

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 1756 of file HyPerLayer.cpp.

void PV::BaseObject::setDataStructuresAllocatedFlag ( )

This method sets mDataStructuresAllocatedFlag to true.

Definition at line 111 of file BaseObject.hpp.

void PV::BaseObject::setInitialValuesSetFlag ( )

This method sets the flag returned by getInitialValuesSetFlag to true.

Definition at line 116 of file BaseObject.hpp.

void PV::BaseObject::setInitInfoCommunicatedFlag ( )

This method sets mInitInfoCommunicatedFlag to true.

Definition at line 106 of file BaseObject.hpp.

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