Fireflies: New Software for Interactively Exploring Dynamical Systems Using GPU Computing

In non-linear systems, where explicit analytic solutions usually can't be found, visualisation is a powerful approach which can give insights into the dynamical behaviour of models; it is also crucial for teaching this area of mathematics. In this paper we present new software, Fireflies, which exploits the power of graphical processing unit (GPU) computing to produce spectacular interactive visualisations of arbitrary systems of ordinary differential equations. In contrast to typical phase portraits, Fireflies draws the current position of trajectories (projected onto 2D or 3D space) as single points of light, which move as the system is simulated. Due to the massively parallel nature of GPU hardware, Fireflies is able to simulate millions of trajectories in parallel (even on standard desktop computer hardware), producing "swarms" of particles that move around the screen in real-time according to the equations of the system. Particles that move forwards in time reveal stable attractors (e.g. fixed points and limit cycles), while the option of integrating another group of trajectories backwards in time can reveal unstable objects (repellers). Fireflies allows the user to change the parameters of the system as it is running, in order to see the effect that they have on the dynamics and to observe bifurcations. We demonstrate the capabilities of the software with three examples: a two-dimensional "mean field" model of neuronal activity, the classical Lorenz system, and a 15-dimensional model of three interacting biologically realistic neurons.

[1]  Willy Govaerts,et al.  MATCONT: A MATLAB package for numerical bifurcation analysis of ODEs , 2003, TOMS.

[2]  Peter Brown,et al.  Oscillations in the Basal Ganglia: The good, the bad, and the unexpected , 2005 .

[3]  J. Cowan,et al.  Excitatory and inhibitory interactions in localized populations of model neurons. , 1972, Biophysical journal.

[4]  Mark J. Harris Fast fluid dynamics simulation on the GPU , 2005, SIGGRAPH Courses.

[5]  Mario Mulansky,et al.  Odeint - Solving ordinary differential equations in C++ , 2011, ArXiv.

[6]  Bard Ermentrout,et al.  Simulating, analyzing, and animating dynamical systems - a guide to XPPAUT for researchers and students , 2002, Software, environments, tools.

[7]  A. Hodgkin,et al.  A quantitative description of membrane current and its application to conduction and excitation in nerve , 1952, The Journal of physiology.

[8]  Romain Brette,et al.  Simulating spiking neural networks on GPU , 2012, Network.

[9]  D. Willshaw,et al.  Subthalamic–pallidal interactions are critical in determining normal and abnormal functioning of the basal ganglia , 2002, Proceedings of the Royal Society of London. Series B: Biological Sciences.

[10]  B. Kendall Nonlinear Dynamics and Chaos , 2001 .

[11]  R. Bogacz,et al.  Improved conditions for the generation of beta oscillations in the subthalamic nucleus-globus pallidus network , 2012, BMC Neuroscience.

[12]  U. Hofmann,et al.  An Interactive Channel Model of the Basal Ganglia: Bifurcation Analysis Under Healthy and Parkinsonian Conditions , 2013, Journal of mathematical neuroscience.

[13]  S. Strogatz,et al.  Synchronization of pulse-coupled biological oscillators , 1990 .

[14]  E. Lorenz Deterministic nonperiodic flow , 1963 .

[15]  Nicolas Pinto,et al.  PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation , 2009, Parallel Comput..

[16]  Gaël Varoquaux,et al.  The NumPy Array: A Structure for Efficient Numerical Computation , 2011, Computing in Science & Engineering.