CARLsim is an efficient, easy-to-use, GPU-accelerated software framework for simulating large-scale spiking neural network (SNN) models with a high degree of biological detail.
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 in C/C++, which allows for details and parameters to be specified at the synapse, neuron, and network level.
The present release, CARLsim 3, 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. New features include:
If you use CARLsim 3 in a scholarly publication, please cite as follows:
Beyeler, M., Carlson, K.D., Chou, T.-S., Dutt, N., Krichmar, J.L. (2015). CARLsim 3: A user-friendly and highly optimized library for the creation of neurobiologically detailed spiking neural networks. Proceedings of the International Joint Conference on Neural Networks, doi:10.1109/IJCNN.2015.7280424
Or use the following bibtex:
@inproceedings{CARLsim3,
author = {M. Beyeler and K. D. Carlson and T.-S. Chou and N. Dutt and J. L. Krichmar},
booktitle = {2015 International Joint Conference on Neural Networks (IJCNN)},
title = {{CARL}sim 3: {A} user-friendly and highly optimized library for the creation of neurobiologically detailed spiking neural networks},
year = {2015},
pages = {1-8},
doi = {10.1109/IJCNN.2015.7280424},
url = {http://dx.doi.org/10.1109/IJCNN.2015.7280424},
ISSN = {2161-4393},
month = {July}
}
Detailed instructions for installing the latest stable release of CARLsim on Mac OS X / Linux / Windows can be found in our User Guide.
In brief (OS X/Linux):
Fork CARLsim 3 by clicking on the Fork
box
in the top-right corner.
Clone the repo, where YourUsername
is your actual GitHub user name:
$ git clone --recursive https://github.com/YourUsername/CARLsim3
$ cd CARLsim3
Note the --recursive
option: It will make sure Google Test gets installed.
Choose between stable release and latest development version:
stable
branch:
$ git checkout stable
master
).Consider your options: You can choose the installation directory and whether you want GPU support.
Installation directory: By default, the CARLsim library lives in /usr/local/lib
, and CARLsim
include files live in /usr/local/include/carlsim
.
You can overwrite these by exporting an evironment variable called CARLSIM3_INSTALL_DIR
:
$ export CARLSIM3_INSTALL_DIR=/path/to/your/preferred/dir
GPU support: By default, CARLsim comes with CUDA support. Obviously, this requires CUDA to be installed
first. If you want to run CARLsim without GPU support, you need to export an environment variable
called CARLSIM3_NO_CUDA
and set it to 1
:
$ export CARLSIM3_NO_CUDA=1
Make and install:
$ make -j4
$ sudo -E make install
Note the -E
flag, which will cause sudo
to remember any environment variables you set above
(such as CARLSIM3_INSTALL_DIR
and CARLSIM3_NO_CUDA
).
In order to make sure the installation was successful, you can run the regression suite:
$ make test
$ ./carlsim/test/carlsim_tests
Start your own project! The "Hello World" project is a goot starting point for this. Make sure it runs:
$ cd projects/hello_world
$ make
$ ./hello_world
On Windows 7/10: Simply download the code and open/run the "Hello World" project file
projects\hello_world\hello_world.vcxproj
.
CARLsim 3.1 comes with the following requirements:
GPU_MODE
. Make sure to install the
CUDA samples, too, as CARLsim relies on the file helper_cuda.h.GPU_MODE
.As of CARLsim 3.1 it is no longer necessary to have the CUDA framework installed. However, CARLsim development will continue to focus on the GPU implementation.
The current release has been tested on the following platforms: