Comparison of Neural Network Simulators

From emergent
Revision as of 07:59, 6 November 2009 by Eppler (Talk | contribs)

Jump to: navigation, search

In 1994, Josef Skrzypek wrote a book titled "Neural Network Simulation Environments." Unfortunately, there is no modern equivalent and you couldn't sort the simulators using javascript. This is a GFDL-licensed project to document a variety of modern neural simulators along a number of useful dimensions. Given the size of such a task we need your help! If you have experience with any simulator (especially those not listed), feel a dimension is missing, would like to elaborate in a sub-article or simply want to check facts, please feel free to edit, leave a comment on the discussion page or e-mail the primary maintainer. Basically, Wikipedia's Be Bold policy applies here.

Simulators

Simulator Publications Version (as of this writing) First release Latest release Primary author License MS Windows Mac OS X Linux Other Active Community Language
Emergent (formerly PDP++ and PDP) AisaMingusOReilly07 5.0.1 1986 2009 Dr. Randy O'Reilly GNU GPL XP, 2003, Vista Intel, PPC Any, Fedora, Ubuntu Any Unix emergent-users list, Wiki C++
FANN (Fast Artificial Neural Network Library) Nissen03  2.1.0b 2004 2006 Steffen Nissen GNU LGPL Yes Yes Yes Any Unix FANN Forum C
GENESIS (the GEneral NEural SImulation System) BeemanEtAl07  2.3 1988 2007 Dr. James Bower & Dr. Dave Beeman GNU GPL Cygwin Intel, PPC Yes Any Unix SourceForge list C
NEURON (originally CABLE) Hines93
HinesCarnevale97 
HinesEtAl06 
6.2 1986 2008 Dr. Michael Hines
GNU GPL 95+ Intel, PPC Debian Any Unix NEURON Forum C, C++
Neuron-C

Smith92 

6.44
1986
2008
Dr. Robert Smith
GNU GPL


Any Unix
C,C++
SNNAP (Simulator for Neural Networks and Action Potentials) Unknown 8.1 2001 2007 Dr. John Byrne & Dr. Douglas Baxter ©, Proprietary Java Java Java Java Available but defunct Java
LENS (The light, efficient neural network simulator) Rohde99  2.63 1998 2000 Dr. Douglas Rohde Unknown Cygwin Intel, PPC Yes Any Unix No C
Catacomb2 (Components And Tools for Accessible COmputer Modeling in Biology Unknown 2.111 2001 2003 Robert Cannon GNU GPL Java Java Java Java No Java
Topographica Neural Map Simulator BednarEtAl04  0.9.4 1998 2008 Dr. James A. Bednar GNU GPL Vista, XP, NT Build from source Build from source Build from source Mailing list, boards Python/C++
(iNVT) iLab Neuromorphic Vision C++ Toolkit Unknown Unknown 2001 2005 Dr. Laurent Itti & Dr. Christof Koch GNU GPL
Must request access
Unknown Unknown Unknown Unknown iLab forums C++
NEST (NEural Simulation Tool) DiesmannEtAl95 
DiesmannGewaltig02 
GewaltigEtAl02
EpplerEtAl08 
2.0 beta 2004 2009 NEST Initiative ©, Proprietary Build from source Build from source Build from source Sun Solaris
HP Tru64
Cygwin
SGI Altix
NEST-users list Python/C++
KInNeSS - KDE Integrated NeuroSimulation Software GorchotechnikovEtAl04
GrossbergEtAl05
0.3.4 2004 2008 Dr. Anatoli Gorchetchnikov GNU GPL No No KDE 3.1 required No No C++
XNBC VibertAzmy92
VibertEtAl97
VibertEtAl01 
9.10-h 1988 2006 Dr. Jean-François VIBERT GNU GPL 9x, 2000, XP Build from source RPM (Fedora), Build from source Tru 64, Ultrix, AIX, SunOS, HPux No C++
Stuttgart Neural Network Simulator ZellEtAl91
Petron99
4.0 1991 2001 Dr. Andreas Zell Free for academic use
Open source
2000 No Not explicitly Any Unix, Sparc, DEC, IBM PC, HP 9000, SGI Indigo Defunct SNNS list C++
MATLAB Neural Network Toolbox Unknown 6.0 1998 2008 MathWorks ©, Proprietary Yes Yes Yes Solaris 64-bit No
Wolfram Mathematica Neural Networks Unknown 1.0.2 2002 2003 Wolfram Research Inc. ©, Proprietary Vista, XP, 2003, 2000, Me Intel, PPC Yes Solaris, Sparc, HP-UX, IBM Power No
Peltarion Synapse Unknown
2006 2008 Peltarion ©, Proprietary 2000, XP, Vista No No No No .NET
PCSIM: A Parallel neural Circuit SIMulator BretteEtAl07
0.5.0 2008 2008 Dr. Pecevski Dejan
Dr. Thomas Natschlager
GNU GPL Under development Build from source Build from source No Mailing list Python/C++/Java
Brian GoodmanBrette2008
1.1 2008 2009 Romain Brette
Dan Goodman
GNU GPL Yes Yes Yes Any OS supporing python and numpy Support forum Python


Simulators by feature

In principle, most simulators can mimic the functionality provided by another simulator. This table tries to reflect the feature set that the simulator intends to provide, including plugins when they are commonly used, as in the case of neuroConstruct.

Simulator Primary focus User programming style Programming interface Virtual environment Cluster computing GPU support PyNN support Point neurons 3D neurons Biological neurons Backpropagation Self Organizing Constraint Satisfaction
Emergent Networks Visual
Scripts
C++
Screenshot ax tutorial.png Rigid body physics
3D graphics
3D model file import
Full robotics support
MPI In development No Yes No Integrate and fire
Ion channels
Cross-entropy,
Feedforward (SRN),
Recurrent,
Almeida-Pineda,
Real-time continuous
Competitive Learning (hard/soft),
Hebbian (soft/hard/ZSH,
Kohonen
Boltzmann,
Binary/continuous Hopfield,
Interactive Activation and Competition,
GRAIN
FANN Networks Visual
Dozens of language bindings
Fann2 gui.png No No In development No Yes No No RPROP
iRPROP
Quickprop
Kohonen No
NEURON Neurons
Networks

Visual

Scripts (interpreted)

Scripts (compiled to DLL)

NEURON mempatch.gif No MPI No Yes No neuroConstruct Yes No, but possible No, but possible No, but possible
Neuron-C Neurons
Networks

Visual

Scripts (interpreted)

Scripts (compiled to DLL)

Neuronc.gif No MPI No Yes No
Yes No, but possible No, but possible No, but possible
GENESIS Neurons Visual
Scripts
No images provided. No PGENESIS No No Yes neuroConstruct Yes No, but possible No, but possible No, but possible
SNAAP Neurons
Networks
Unknown Snaap.gif No Parallel SNAAP No No Yes No Yes No No Hebbian
LENS Networks Unknown LENS.png No No No No Yes No No Quickprop
Feed-forward
recurrent
RBPTT/CRBPTT
Kohonen Boltzmann
Catacomb2 Neurons
Networks
Unknown No images provided. Walls
Sound sources
Food dispeners
Sensors
Robot effectors
No No No Unknown Unknown Yes Unknown Unknown Unknown
Topographica Networks, Maps Python scripts
Visual
C++
Topographica.png No In development In development No Yes No Integrate and fire No Hebbian (soft/hard/covariance/CPCA)
SOM
LISSOM
BCM
No
iNVT Network Programming INVT.png No MPI No No Yes No No No No No
KInNeSS Unknown Unknown KInNeSS.png Unknown Unknown Unknown No Unknown Unknown Unknown Unknown Unknown Unknown
SNNS Networks Visual Snns.gif No Unknown No No Yes No No Quickprop
RPROP
Backpercolation
Counterpropagation
DLVQ
BPTT
CC
PCC
RCC
TDNN
CGM
Hebbian, Kohonen, Delta Unknown
Synapse Data mining Visual Peltarion.png No Unknown Yes No Yes No No Quickprop
Normalized Hebbian
Kohonen
Competitive learning
No
XNBC Neurons
Networks
Analysis tools
Visual
Overview xnbc.gif
No
No
No
No Yes
No [Leaky] Integrate and fire
Condition. burster
Phenomenologic
Ion conductance
(14 ion currents)
Hybrid networks
No
Hebbian
No
PCSIM Large networks Python Scripts
Java
Non-graphical No MPI No No Yes No Yes No, but possible STPD, etc... No, but possible
NEST Large networks Programming
Scripts
Non-graphical No MPI No Yes Yes No Yes Unknown Unknown Unknown
Brian Neurons, networks Python scripts Non-graphical No Parallel python No No Yes Yes Integrate and fire,
Hodgkin-Huxley;
Equations are user specified
No STDP,
short-term plasticity
Unknown
TODO
  • We are also working on a survey to send out to the author of each simulator. You can help by adding new questions and clarifying existing ones.
  • Fill in all "Unknown" fields in the tables
  • Add all simulators from the paper "Simulation of networks of spiking neurons: A review of tools and strategies" by BretteEtAl07
  • How can these tables better compare spiking simulators?