colored-CARL-Logo

 


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 using multiple off-the-shelf GPUs and x86 CPUs. The simulator provides a PyNN-like programming interface in 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 earlier releases 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.

Release 6.0 highlights:

  • CUDA 11 support
  • CMake build system
  • Neuromodulatory features
  • Integration of Python LEAP.

News: CARLsim is also available at Neuroscience Gateway

  • CARLsim 6.0
    October 2022
    Niedermeier, L., Chen, K., Xing, J., Das, A., Kopsick, J., Scott, E., Sutton, N., Weber, K., Dutt, N., and Krichmar, J.L. (2022). CARLsim 6: An Open Source Library for Large-Scale, Biologically Detailed Spiking Neural Network Simulation. 2022 International Joint Conference on Neural Networks (IJCNN)
    Latest release: 5.0.0 07/15/22.
  • CARLsim 6.0
    • CARLsim 5.0
      July 2020
      Now PyNN compatibile. Neuron monitor for observing the voltage and current traces of individual neurons. Docker images for Windows users and computer cluster users. Saving and loading simulations. Improved installation for the Evolutionary Computations in Java (ECJ) interface (coming soon).
      Latest release: 5.0.0 07/19/20.
    • CARLsim 4.0
      July 2018
      Support Hybrid mode, which allows a SNN to run on multiple GPU cards and/or multiple CPU cores. Increase maximum number of neurons, synapse, and groups in a SNN. Leaky integrate-and-Fire neuron. Neuron monitor. Re-organized kernel code. Performance benchmark. CMake installation. Improved documentation. Bugfixes.
      Latest release: 4.0.0 07/24/18.
    • CARLsim 3.1
      November 2015
      9-parameter Izhikevich model. Compartmental model. CPU-only mode. 4th-order Runge-Kutta with user-specified integration step. Bugfixes.
    • CARLsim 3.0 no longer supported. See newer versions on our GitHub site.
      February 2015
      New user interface. Platform compatibility (Linux, Windows, and Mac OS X). Shared library build. Support for CUDA6 and CUDA7. E-STDP, I-STDP, DA-STDP. Plugin for Evolutionary Computations in Java (ECJ). Improved SpikeMonitor, ConnectionMonitor, and GroupMonitor. 3D Topography. Current injection. On-line weight tuning. MATLAB Offline Analysis Toolbox. MATLAB Visual Stimulus Toolbox. Regression suite. User Guide. Tutorial. Improved documentation. Bugfixes.
      Latest release: 3.1.2 11/9/2016.
    • CARLsim 2.2 no longer supported. See newer versions on our GitHub site.
      February 2014
      Homeostatic synaptic scaling. Parameter tuning interface (PTI) library (automated parameter tuning of SNNs using evolutionary algorithms). CUDA5 support. Bugfixes.
      Latest release: 2.2.0 2/5/14.
    • CARLsim 2.1 no longer supported. See newer versions on our GitHub site.
      July 2013
      Cortical model of pattern motion selectivity (V1, MT, LIP). Improved GPU memory management. Bugfixes.
      Latest release: 2.1.3 10/31/13.
    • CARLsim 2.0 no longer supported. See newer versions on our GitHub site.
      September 2011
      COBA mode. STDP. STP. Cortical model of color selectivity (color opponency). Cortical model of motion selectivity (V1, MT) and orientation selectivity (V1, V4).
    • CARLsim 1.0 no longer supported. See newer versions on our GitHub site.
      2009
      Initial release. CUBA mode. Demonstration of GPU speedup.

    For best usability and support we recommend downloading the latest version.

    Installation

    Detailed installation instructions can be found on our GitHub page.

    Since version 3.1, CARLsim comes with the following requirements:

    • (optional) CUDA Toolkit 5.0 or higher (we have tested upto version 9.2). For platform-specific CUDA installation instructions, please navigate to the NVIDIA CUDA Zone. This is only required if you want to run CARLsim in GPU_MODE. Make sure to install the CUDA samples, too, as CARLsim relies on the file helper_cuda.h.
    • (optional) A GPU with compute capability 2.0 or higher. To find the compute capability of your device please refer to the CUDA article on Wikipedia. This is only required if you want to run CARLsim in GPU_MODE.
    • (optional) MATLAB R2014a or higher. This is only required if you want to use the Offline Analysis Toolbox (OAT).
    • (For Windows only) Microsoft Visual Studio 2012 or higher.
    As of CARLsim 3.1 it is no longer necessary to have the CUDA framework installed. However, CARLsim development will continue to focus on implementations for heterogeneous CPU-GPU clusters.

    The current release has been tested on the following platforms: Windows 7, 10; Ubuntu 16.04; Mac OS X 10.11

    Documentation

    CARLsim 4 comes with extensive Documentation, which includes a User Guide and several helpful tutorials. Bug reports and contributions are accepted through GitHub Issues and Pull requests, respectively.

    CARLsim 3 tutorials and user guide are available at here. If you would like to contribute to CARLsim 3, please check our CONTRIBUTING.md.

    Background

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

    • Chou, T.-S.*, Kashyap, H.J.*, Xing, J., Listopad, S., Rounds, E., Beyeler, M., Dutt, N., and Krichmar, J.L. (2018). CARLsim 4: 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) (Finalist for the best student paper award.) [pdf]
    • Beyeler, M.*, Carlson, K.D.*, Chou, T.-S.*, Dutt, N., and Krichmar, J.L. (2015). A User-Friendly and Highly Optimized Library for the Creation of Neurobiologically Detailed Spiking Neural Networks. Paper presented at: International Joint Conference on Neural Networks (Killarney, Ireland). (*equal contribution) (CARLsim v3.0) [pdf]
    • 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) [pdf]
    • 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) [pdf]
    • 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) [pdf]
    • 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) [ScienceDirect-pdf]

    last updated 4 March 2017

 
 
 

 

Carl