CARLsim  5.0.0
CARLsim: a GPU-accelerated SNN simulator


CARLsim is an efficient, easy-to-use, GPU-accelerated library for simulating large-scale spiking neural network (SNN) models with a high degree of biological detail. CARLsim allows execution of networks of Izhikevich spiking neurons with realistic synaptic dynamics on both generic x86 CPUs and standard off-the-shelf GPUs. The simulator provides a PyNN-like programming interface (C/C++), which allows for details and parameters to be specified at the synapse, neuron, and network level.

The present release, CARLsim5, builds on the efficiency and scalability of earlier releases (Nageswaran et al., 2009; Richert et al., 2011). The functionality of the simulator has been greatly expanded by the addition of a number of features that enable and simplify the creation, tuning, and simulation of complex networks with spatial structure.

All software is available on the CARL Website.

New features include:

The simulator was first introduced in 2009 (now referred to as CARLsim_v1.0), where it demonstrated near real-time performance for 100,000 spiking neurons on a single NVIDIA GTX 280 (Nageswaran et al., 2009). CARLsim_v2.0 added basic support for synaptic conductances, spike-timing dependent plasticity (STDP), and short-term plasticity (STP) (Richert et al., 2011). The present release, CARLsim5, greatly expands the functionality of the simulator by adding a number of features that enable and simplify the creation, tuning, and simulation of complex networks with spatial structure.

CARLsim was originally written by Jayram Moorkanikara Nageswaran and Micah Richert. The code is now being maintained and extended by Hirak Kashyap, Jinwei Xing and Kexin Chen. For a full list of contributors, see file AUTHORS.

Getting Started

The best place to get started is Chapter 1: Getting Started of the User Guide, which will walk you through the installation procedure. Chapter 2: Basic Concepts will explain the basic concepts of CARLsim.

For a more example-driven approach, please refer to our Tutorials (e.g., Tutorial 1: Basic Concepts).


For the most up-to-date information, software packages, and announcements, please refer to the CARL Website or join the CARLsim Release Info mailing list.

The simulator—along with its various releases, computational studies, and sample code—has previously been published in the following studies:

  • Balaji, A., Adiraju, P., Kashyap, H. J., Das, A., Krichmar, J. L., Dutt, N. D., & Catthoor, F. (2020). PyCARL: A PyNN Interface for Hardware-Software Co-Simulation of Spiking Neural Network. arXiv preprint arXiv:2003.09696. (To appear in IJCNN 2020)
  • Chou, T. S., Kashyap, H. J., Xing, J., Listopad, S., Rounds, E. L., Beyeler, M., ... & Krichmar, J. L. (2018, July). CARLsim 4: An open source library for large scale, biologically detailed spiking neural network simulation using heterogeneous clusters. In 2018 International Joint Conference on Neural Networks (IJCNN) (pp. 1-8). IEEE.
  • Beyeler*, M., Carlson*, K.D., Chou*, T.S., Dutt, N., and Krichmar, J.L. (2014). CARLsim3: A user-friendly and highly optimized library for the creation of neurobiologically detailed spiking neural networks. IEEE International Joint Conference on Neural Networks. (*co-first authors)
  • Carlson, K.D., Nageswaran, J.M., Dutt, N., and Krichmar, J.L. (2014). An efficient automated parameter tuning framework for spiking neural networks. Frontiers in Neuroscience 8(10). (CARLsim_v2.2)
  • Beyeler, M., Richert, M., Dutt, N.D., and Krichmar, J.L. (2014). Efficient spiking neural network model of pattern motion selectivity in visual cortex. Neuroinformatics. (CARLsim_v2.1)
  • Richert, M., Nageswaran, J.M., Dutt, N., and Krichmar, J.L. (2011). An efficient simulation environment for modeling large-scale cortical processing. Frontiers in Neuroinformatics 5, 1-15. (CARLsim_v2.0)
  • Nageswaran, J.M., Dutt, N., Krichmar, J.L., Nicolau, A., and Veidenbaum, A.V. (2009). A configurable simulation environment for the efficient simulation of large-scale spiking neural networks on graphics processors. Neural Networks 22, 791-800. (CARLsim_v1.0)