Skip to Main Content

Another popular and open-source simulator for SNNs is NEST, focusing on the dynamics, size, and structure of neural network. It is suitable for large networks of spiking neurons (Gewaltig et al. 2007). CARLsim is a user-friendly and GPU-accelerated SNN library written in C++ that supports CPU-GPU co-execution (Beyeler et al., 2015). Version 4 of CARLsim has been improved to simulate large-scale SNN models in with real-time constraints (Chou et al. 2018). Table 4,0 shows the features of the most SNNs simulation software.

Table 4:

Features of the Best-Known SNN Software.

SimulatorOpen SourceGPUSimulationProgramming LanguageFeatures
BindsNET Yes Yes Clock-driven C++ (Python package) • BindsNET can be connected to different hardware (e.g., FPGA, ASIC), to execute the simulations. 
     • Provide an interface with the OpenAI gym library for training SNNs on reinforcement learning environment. 
     • Suitable for application in the domain of machine learning. 
     • A Torchvision data set has integrated into the library for computer vision tasks. 
Nengo Yes Yes Clock-driven C++ (Python package) • Focuses on high-level behaviors of spiking neural networks. 
     • Supports multithreaded execution on CPUs. 
     • Has simulation back ends, such as NengoFPGA, Nengo Loihi, Nengo SpiNNaker, and Nengo OpenCL. 
     • Nengo's libraries are designed to help with deep learning, adaptive control, and cognitive modeling. 
NeMo Yes Yes Clock-driven C++ • Supports multithreaded execution on CPU 
     • Good candidate for applications in machine learning. 
     • Can to simulate different neuron models and hardware configurations. 
     • Can run on CUDA-enabled GPUs. 
Brian2GeNN Yes Yes Clock-driven C++ (Python package) • Supports all major operating system. 
     • Takes advantage of both GeNN and Brain2, which allow users to run their Brian 2 scripts on NVIDIA GPU accelerators without any further necessary programming. 
     • Using the Brian2GeNN library enhances performance by tens to hundreds of times faster 
SimulatorOpen SourceGPUSimulationProgramming LanguageFeatures
BindsNET Yes Yes Clock-driven C++ (Python package) • BindsNET can be connected to different hardware (e.g., FPGA, ASIC), to execute the simulations. 
     • Provide an interface with the OpenAI gym library for training SNNs on reinforcement learning environment. 
     • Suitable for application in the domain of machine learning. 
     • A Torchvision data set has integrated into the library for computer vision tasks. 
Nengo Yes Yes Clock-driven C++ (Python package) • Focuses on high-level behaviors of spiking neural networks. 
     • Supports multithreaded execution on CPUs. 
     • Has simulation back ends, such as NengoFPGA, Nengo Loihi, Nengo SpiNNaker, and Nengo OpenCL. 
     • Nengo's libraries are designed to help with deep learning, adaptive control, and cognitive modeling. 
NeMo Yes Yes Clock-driven C++ • Supports multithreaded execution on CPU 
     • Good candidate for applications in machine learning. 
     • Can to simulate different neuron models and hardware configurations. 
     • Can run on CUDA-enabled GPUs. 
Brian2GeNN Yes Yes Clock-driven C++ (Python package) • Supports all major operating system. 
     • Takes advantage of both GeNN and Brain2, which allow users to run their Brian 2 scripts on NVIDIA GPU accelerators without any further necessary programming. 
     • Using the Brian2GeNN library enhances performance by tens to hundreds of times faster 
Table 4:

Continued.

SimulatorOpen SourceGPUSimulationProgramming LanguageFeatures
NEST Yes No Hybrid C++ (Python package) • Fast and memory efficient with minimal dependencies. 
     • Best suited for models that focus on the dynamics, size, and structure of neural systems. 
     • Can take advantage of multicore computer in a local network to increase the available memory or to speedup the simulation. 
CARLsim Yes Yes Clock-driven C++ (Python package) • Balances between flexibility and performance by providing optimized CUDA/C++ implementations of a large number of biologically plausible model features. 
     • Provides an easy-to-use programming interface 
     • Provides an integrated automatic parameter tuning interface for spiking neural networks. 
     • Allows users to add a new feature with minimal effort. 
     • Finds open parameters of an SNN that best fit a given response behavior. 
SimulatorOpen SourceGPUSimulationProgramming LanguageFeatures
NEST Yes No Hybrid C++ (Python package) • Fast and memory efficient with minimal dependencies. 
     • Best suited for models that focus on the dynamics, size, and structure of neural systems. 
     • Can take advantage of multicore computer in a local network to increase the available memory or to speedup the simulation. 
CARLsim Yes Yes Clock-driven C++ (Python package) • Balances between flexibility and performance by providing optimized CUDA/C++ implementations of a large number of biologically plausible model features. 
     • Provides an easy-to-use programming interface 
     • Provides an integrated automatic parameter tuning interface for spiking neural networks. 
     • Allows users to add a new feature with minimal effort. 
     • Finds open parameters of an SNN that best fit a given response behavior. 

Close Modal

or Create an Account

Close Modal
Close Modal