CARLsim  6.1.0
CARLsim: a GPU-accelerated SNN simulator
Overview

CARLsim 6.1

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, CARLsim 6, builds on the efficiency and scalability of releases 4 and 5. 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.

New features include:

All software is available on GitHub. The project is managed by CARL, the Cognitive Anteater Robotics Laboratory of the departments Cognitive Sciences and Computer Science, University of California, Irvine.

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). CARLsim_v3.1 supported CUDA 7, 9-parameter Izhikevich, Runge-Kutta integration method (Beyeler et. al., 2014) and intergrated ECJ from George Mason University. CARLsim_v4.0 allowed to run SNNs on multiple GPU cards and/or multiple CPU cores (Chou, Kashyap, et. al, 2018). CARLsim_v5.0 integrateed PyCARL from Drexel University (Balaji et. al., 2020).

CARLsim was originally written by Jayram Moorkanikara Nageswaran and Micah Richert. The code is now being maintained and extended by Lars Niedermeier, 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).

References

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:

  • Niedermeier, L. and Krichmar, J.L. (2023). Experience-Dependent Axonal Plasticity in Large-Scale Spiking Neural Network Simulations. (To appear in IJCNN 2023) (CARLsim_6.1)
  • Niedermeier, L., Chen, K., Xing, J., Das, A., Kopsick, J., Scott, E., Sutton, N., Weber, K., Dutt, N., and Krichmar, J.L. (2022). CARLsim6: An Open Source Library for Large-Scale, Biologically Detailed Spiking Neural Network Simulation. (To appear in WCCI IJCNN 2022) (CARLsim_6.0)
  • 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) (CARLsim_v5.0)
  • Chou, T.-S.*, Kashyap, H.J.*, Xing, J., Listopad, S., Rounds, E., Beyeler, M., Dutt, N., and Krichmar, J.L. (2018). CARLsim4: An Open Source Library for Large Scale, Biologically Detailed Spiking Neural Network Simulation using Heterogeneous Clusters. Paper presented at: International Joint Conference on Neural Networks (Rio de Janeiro, Brazil). (equal contribution) (CARLsim_v4.0)
  • 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)