pMIIND-an MPI-based population density simulation framework
© Kamps and Sichau; licensee BioMed Central Ltd. 2013
Published: 8 July 2013
MIIND  is the first publicly available implementation of population density algorithms. Like neural mass models, they model at the population level, rather than that of individual neurons, but unlike neural mass models, they consider the full neuronal state space. The central concept is a population density, a probability distribution function that represents the probability of a neuron being in a certain part of state space. Neurons will move through state space by their own intrinsic dynamics or driven by synaptic input. When individual spikes do not matter but only population averaged quantities are considered, these methods outperform direct simulations using neuron point models by a factor 10 or more, whilst (at the population level) producing identical results to simulations of spiking neurons. This is in general not true for neural mass models. Population density methods also relate closely to analytic evaluations of population dynamics.
The evolution of the density function is given by a partial differential equation (PDE). In  a generic method was presented for solving this equation efficiently, both for small synaptic efficacies (diffusion limit; the PDE becomes a Fokker-Planck equation) and for large ones (finite jumps). We demonstrated that for leaky-integrate-and-fire (LIF) neurons this method reproduces analytic results  and uses of the order of 0.2 s to model 1s simulation time of infinitely large population of spiking LIF neurons.
We now have developed this method to apply to any 1D neuron point model , not just LIF neurons and demonstrated the technique on quadratic-integrate-and-fire neurons. We are therefore in the position to model large heterogeneous networks of spiking neurons very efficiently. A potential bottleneck is MIIND's serial simulation loop.
We developed an MPI implementation of MIIND's central simulation loop starting from a fresh code base, and addressed serialization, which is now done at the level of individual cores. Central assumption in the set up is that firing rates are communicated, not individual spikes, so bandwidth requirements are low. Latency is potentially a problem, but with the use of latency hiding techniques good scalability for up to 64 cores has been achieved ondedicated clusters. The scalability was verified with a simple model of cortical waves in a hexagonal network of populations with balanced excitation-inhibition. pMIIND is available on Sourceforge, through its git repository: git://http://miind.sourceforge.net A CMake-based install procedure is provided. Since pMIIND is set up as a C++ framework, it is possible to define one's own algorithms and still take advantage of the MPI-based simulation loop.
David Sichau's contribution was supported as part of Google Summer of Code 2012. We gratefully acknowledge the support of Google and Raphael Ritz of the INCF.
- de Kamps M, Baier V, Drever J, Dietz M, Mosenlechner M, van der Velde F: The state of MIIND. Neural Networks. 2008, 21: 1164-1181. 10.1016/j.neunet.2008.07.006.View ArticlePubMedGoogle Scholar
- de Kamps M: A simple and stable numerical solution for the population density equation. Neural Comput. 2003, 15: 2129-46. 10.1162/089976603322297322.View ArticlePubMedGoogle Scholar
- de Kamps M: Modeling large populations of spiking neurons with a universal population density solver. BMC Neuroscience. 2013, 14 (Suppl 1): P90-PubMed CentralView ArticleGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.