multiple signals to a single POINT_PROCESS and thread safety of a POINTER.

General issues of interest both for network and
individual cell parallelization.

Moderator: hines

Post Reply
Posts: 43
Joined: Thu May 23, 2019 8:02 am
Location: Warsaw, Poland

multiple signals to a single POINT_PROCESS and thread safety of a POINTER.

Post by ziemek »


I have a STDP-like POINT_PROCESS which I want to modulate with additional Dopamine stimulation (another POINT_PROCESS). I created a dummy da.mod POINT_PROCESS which only receives weight which is read by the STDP-like POINT_PROCESS (through POINTER). Then the weight on the dummy da.mod is zero-out.

However POINTERs are not thread safe. I only pass the weight in a single step so maybe there is a way to ensure those 2 POINT_PROCESSes run on the same Thread? Or is there any other way to pass multiple signals (with different timing) to the single POINT_PROCESS and remain it thread safe?
Site Admin
Posts: 5889
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine

Re: multiple signals to a single POINT_PROCESS and thread safety of a POINTER.

Post by ted »

How about approching the problem in a way that completely eliminates the need for pointers? The strategy depends on whether dopaminergic modulation of plasticity is stream-specific (selectively affects individual synapses) or not stream-specific (e.g. mediated by an intracellular second messenger that can affect multiple synapses that are attached to a particular compartment).

If dopaminergic modulation is not stream-specific, the second messenger can be treated as if it were an ionic species called damsg. damsg would be perturbed by a point process mechanism called DASyn that WRITEs idamsg, and the concentration of damsg would be calculated by a damsg-accumulation mechanism that READs idamsg and WRITEs damsgi. Then any synaptic mechanism that is modulated by dopamine can discover the local concentration by READing damsgi.

Stream-specific modulation of plasticity can be implemented by modifying the NET_RECEIVE block of your hebbian or non-hebbian synaptic mechanism so that it can take appropriate action depending on whether an input event is from a "normal" presynaptic neuron or from a dopaminergic neuron. The trick is to exploit the sign of the synaptic weight. During model setup, assign positive weights to connections that are not dopaminergic, and negative weights to dopaminergic connections. Then the NET_RECEIVE block can check for w < 0 to determine whether an event is from a dopaminergic or non-dopaminergic source.

This brief discussion only introduces strategies and omits important implementational details. To provide more specific guidance, I'll need to know more about what you intend and what you have already done.
Post Reply