Sandia News

Neural Mini-Apps: Lighter, Faster Diagnostic Tests for Neuromorphic Computing


How can advanced science and engineering redesign hardware and software for supercomputers, satellites, drones and ground sensors to do more with less energy? World-leading research at Sandia looks to the brain — a remarkably energy-efficient computer compared to conventional computing systems — for inspiration. 

But while research has shown neuromorphic, or brain-inspired, computing can save energy, scientists need new tools to understand whether it can outperform conventional computing because traditional measures don’t always apply. 

Sandia is addressing this challenge with a suite of Neural Mini-Apps developed to enable researchers to understand, predict — and ultimately improve — the performance of neuromorphic computing technologies. 

Figure 1: The Neural Random Walk mini-app, developed at Sandia, can produce this heat diffusion map on a neuromorphic computer while allowing researchers to probe how well their system worked. (Image courtesy of Craig Vineyard)
Figure 1: The Neural Random Walk mini-app, developed at Sandia, can produce this heat diffusion map on a neuromorphic computer while allowing researchers to probe how well their system worked. (Image courtesy of Craig Vineyard)

Mini-Apps are simple programs that stand in for more complex computations. Neural Mini-Apps are similar to mini-apps that have successfully advanced conventional HPC research over the past decade but have been tailored for neuromorphic research. The new apps run different tasks, operate on different hardware and sometimes diagnose different kinds of problems. 

Each of Sandia’s initial three programs is a task commonly run on neuromorphic systems and has been expressly developed to make it easy for researchers to collect data about what is happening in each part of the system and predict how small-scale technologies will perform in a larger system.

These are: 

Figure 2: The Neural Graph Analysis mini-app, developed at Sandia, can identify shortest paths on a neuromorphic computer while allowing researchers to probe how well their system worked. (Imagecourtesy of Craig Vineyard)
Figure 2: The Neural Graph Analysis mini-app, developed at Sandia, can identify shortest paths on a neuromorphic computer while allowing researchers to probe how well their system worked. (Image
courtesy of Craig Vineyard)
  • Neuromorphic Random Walk. This mini-app performs the same calculation many times with random inputs, the same way meteorologists model a storm’s possible trajectories. Research has shown that small neuromorphic computers are especially efficient at this task. 
  • Neural Sparse Coding. Sparse coding is a way of modeling data. It breaks a data set into small pieces, simplifies each piece and reconstructs the set, reducing the complexity of computations. 
  • Neural Graph Analysis. Graphs represent relationships in data. They show how things are or are not connected. Graph analysis examines graphs to determine properties about them. If you think of a map as a graph, a property of the graph could be the shortest path between two points. 
Figure 3: Sandia developed Fugu, logo pictured here, as a software tool for building neuromorphic computing applications. (Image courtesy of Craig Vineyard)
Figure 3: Sandia developed Fugu, logo pictured here, as a software tool for building neuromorphic computing applications. (Image courtesy of Craig Vineyard)

Sandia also created a companion app-building tool called Fugu. With Fugu, the worldwide neuromorphic research community will be able to create, customize and exchange neural applications, including mini-apps, advancing the frontiers of the technology. 

Inside Fugu, apps are built out of so-called bricks, pre-designed neural circuits that configure artificial neurons to interact in certain ways. App designers arrange bricks to build complex operations from simpler ones. Sandia designed these bricks to be compatible with several common neuromorphic architectures.