class CodeGenerator::CUDA::PresynapticUpdateStrategy::PostSpan¶
Overview¶
Postsynaptic parallelism. More…
#include <presynapticUpdateStrategy.h> class PostSpan: public CodeGenerator::CUDA::PresynapticUpdateStrategy::Base { public: // methods virtual size_t getNumThreads(const SynapseGroupInternal& sg) const; virtual bool isCompatible(const SynapseGroupInternal& sg) const; virtual bool shouldAccumulateInRegister(const SynapseGroupInternal& sg, const Backend& backend) const; virtual bool shouldAccumulateInSharedMemory(const SynapseGroupInternal& sg, const Backend& backend) const; virtual void genCode( CodeStream& os, const ModelSpecInternal& model, const SynapseGroupInternal& sg, const Substitutions& popSubs, const Backend& backend, bool trueSpike, BackendBase::SynapseGroupHandler wumThreshHandler, BackendBase::SynapseGroupHandler wumSimHandler ) const; };
Inherited Members¶
public: // methods virtual size_t getNumThreads(const SynapseGroupInternal& sg) const = 0; virtual bool isCompatible(const SynapseGroupInternal& sg) const = 0; virtual bool shouldAccumulateInRegister(const SynapseGroupInternal& sg, const Backend& backend) const = 0; virtual bool shouldAccumulateInSharedMemory(const SynapseGroupInternal& sg, const Backend& backend) const = 0; virtual void genCode( CodeStream& os, const ModelSpecInternal& model, const SynapseGroupInternal& sg, const Substitutions& popSubs, const Backend& backend, bool trueSpike, BackendBase::SynapseGroupHandler wumThreshHandler, BackendBase::SynapseGroupHandler wumSimHandler ) const = 0;
Detailed Documentation¶
Postsynaptic parallelism.
Methods¶
virtual size_t getNumThreads(const SynapseGroupInternal& sg) const
Get the number of threads that presynaptic updates should be parallelised across.
virtual bool isCompatible(const SynapseGroupInternal& sg) const
Is this presynaptic update strategy compatible with a given synapse group?
virtual bool shouldAccumulateInRegister(const SynapseGroupInternal& sg, const Backend& backend) const
Are input currents emitted by this presynaptic update accumulated into a register?
virtual bool shouldAccumulateInSharedMemory(const SynapseGroupInternal& sg, const Backend& backend) const
Are input currents emitted by this presynaptic update accumulated into a shared memory array?
virtual void genCode( CodeStream& os, const ModelSpecInternal& model, const SynapseGroupInternal& sg, const Substitutions& popSubs, const Backend& backend, bool trueSpike, BackendBase::SynapseGroupHandler wumThreshHandler, BackendBase::SynapseGroupHandler wumSimHandler ) const
Generate presynaptic update code.