The artificial cell takes two parameters:
1. spike frequency: used to generate a poisson sequence of spikes
2. integration speed: describes how quickly a cell is updated relative to real time. i.e.
a value of 1 means one cell operates at real time, and a value of 10 means that one
cell can be integrated 10 times faster than real time.
This type of cell would make it easy to write benchmarks that investigate strong/weak scaling of
models with user-supplied spiking rates and cell overheads.
How would you go about implementing the second feature, i.e. setting the integration speed?
I can imagine putting something like the following in a VERBATIM block in NMODL:
Code: Select all
// get starting time
start = clock();
// generate your spikes in here, so that the time taken to generate
// them is counted in the elapsed time interval
// convert dt from ms to clock ticks
ticks = CLOCKS_PER_SEC*dt*1e-3 / rate;
// wait until the number of ticks have elapsed.
while (clock()-start < ticks );