Neural Theory & Computational Neuroscience

Theoretical neuroscience research at Sandia focuses primarily on developing theories for different biological neural circuits and understanding basic neural computation concepts that may eventually impact neural machine learning.  

Coordinate Transformations from Dragonflies to Neuromorphic Hardware

We combine fundamental neuroscience research with exploration of novel neuromorphic architectures to understand the elementary neural circuit operations that underlie essential behaviors.  This project focuses on uncovering the neural mechanisms of coordinate transformations in the dragonfly nervous system, an essential operation for successful prey interception, and translating models of these mechanisms to neuromorphic hardware. We will delineate the limitations of implementing these biologically-inspired models in neuromorphic hardware and evaluate new architectures that enable computation as efficiently and accurately as the dragonfly nervous system. Our architectural evaluation will span digital, analog, and mixed-signal approaches. This research will advance scientific understanding of nervous systems and identify specific features of biological neurons that could be vital elements of next-generation neuromorphic systems.  

Frances’ TED Talk!

Extracting Neural Computations from Exascale Simulations

The DOE ASCR CRCRNS project “Extracting Neural Computations from Exascale Simulations” is a collaborative project between Sandia and Oak Ridge that aims to (1) develop scalable tools to deploy realistic scale neural simulations onto large HPC platforms, and (2) develop reduced order modeling (ROM) techniques to analyze neural simulation outputs into a compact description of the underlying neural computations being observed.  Central to this project is the hypothesis that relevant computations of neural systems may only be observable at the extreme scales seen in biology.  In this project, we have focused our development on the HPC-ready neural simulator tool STACS (see below) which natively distributes spiking neural simulations onto heterogeneous HPC nodes that are used in Exascale systems.  Further, we are developing a suite of analysis tools to extract meaningful insights from simulation outputs, including graphical neural activity threads, or GNATs, that we believe illustrate compact causal sequences within neural population activity. 

STACS

STACS (Simulation Tool for Asynchronous Cortical Streams) is a parallel spiking neural network simulator written on top of the Charm++ parallel programming framework. It supports the large-scale simulation of user-defined neuron (vertex) and synapse (edge) dynamics models and their network connectivity structure, formulated as a graph of stochastic differential equations with time-driven computation and event-driven communication. Simulator capabilities include network generation, simulation, and serialization as well as simulation input and output. Parallel execution support includes parallel graph distribution, asynchronous communication, fault-tolerant computing through checkpointing, and system portability.

View STACS code on GitHub

Neurons to Algorithms (N2A)

Neurons to Algorithms (N2A) is a tool for modeling large-scale/complex neural systems. N2A was developed to help understand how brains work. It is able to represent diverse populations of objects with many distinct kinds of behavior (dynamics) in a single model. You specify these as sets of equations. N2A compiles these equations to run on various hardware platforms ranging from neuromorphic devices to supercomputers. The language is object-oriented, allowing you to create class hierarchies and reusable components. You can combine parts to create new models, and you can extend existing models to give them new behaviors. All this is done within the simple equation-set motif. Because of the generality of the modeling system, N2A supports other use-cases besides neuroscience. Spiking neuromorphic is simply a constrained subclass of more general neuroscience models. In particular, N2A provides a GUI builder for Fugu bricks and applications. The tool has also been used for computational social science models, such as international diplomacy or the interaction between news and behavior during COVID.

Image of n21_interface
Editing a Fugu brick (the AND function). The brick can be exported as Python module or used directly within the development environment.
Image of n2a_results
Behavioral choices of 1000 agents during COVID simulation.

View N2A code on GitHub