NEURON Changelog

What's new in NEURON 7.3

Jun 10, 2014
  • hoc: PtrVector is a new hoc class that implements fast scatter/gather from a Vector to other hoc variables.
  • NEURON+Python:
  • The NEURON+Python help system has been much expanded so that the same information used to generate the Programmer's Reference is immediately available from within a live NEURON session.
  • Python can compare and hash hoc objects, Sections, and Segments. This makes it easy to determine if two different names refer to the same thing.
  • Vector.as_numpy() returns a numpy array that shares the Vector's data. This saves time and space by allowing the Vector's data to be used as a numpy array without first having to be duplicated in a numpy array.
  • ModelView works with Python cells.
  • The Graph, Shape, and PlotShape .menu_action("name", pycall) and Shape.menu_tool(pycall) all work from Python.
  • PlotShape(sectionlist) now works in Python; previously it worked only in HOC
  • In Python, NetCon.record(action) works where action is a Python callable or tuple of (callable, (args)).
  • Network models and parallel simulations:
  • NEURON now offers the Random123 pseudorandom sequence generator, which uses 4 integers to define the random sequence. This is an excellent random number generator for parallel problems, even better than MCellRan4.
  • NMODL's FOR_NETCONS now works for ARTIFICIAL_CELLs. Its principal utility is for implementing spike-timing-dependent synaptic plasticity.
  • ParallelContext.spike_record(-1, spiketimevec, gidvec) records the output for all spike sources in a model that have a gid.
  • ParallelContext.timeout(seconds) sets the timeout that specifies when to abort a simulation that is getting bogged down.
  • Inter-host communication can now use the ParallelContext.py_alltoall() to send distinct arbitrary Python objects to all the other ranks.
  • New internal features that improve setup performance for very large parallel network models.
  • NrnFILEWrap is used to avoid huge numbers of replicated reads of hoc files when there are more than 100K processes.
  • A special multisend method with two-phase spike exchange and efficient setup is used for the BlueGene/P
  • NEURON Installers:
  • Configuration of compilation and installation of NEURON has been updated for current hardware and OSes i.e. MSWin 7, 8, OS X lion, latest Ubuntu etc.
  • A single OS X version of NEURON works for lion and mountain lion, regardless of whether OpenMPI and/or Python has been installed.
  • The NEURON module in /lib/python is automatically installed with setup.py.

New in NEURON 7.1 (Jan 20, 2010)

  • A few new features have been added, such as:
  • A Python Section can be given a name and/or and owner when it is constructed. For example, in a Cell class the constructor can make sections as in soma = h.Section(self, name = 'soma'). The name and object owner is used to construct a section name within NEURON for h.secname(), h.topology(), etc. The Object owner is returned (wrapped in a hoc PythonObject) for h.section_owner(), pc.gid2cell(gid), and various cvode and netcon accessor functions.
  • Cvode.f(t, yvec, ydotvec) returns the dy/dt values given t and y. At present this requires that the global variable time step is active (not ida) and only one thread. The size of yvec must equal the number of states. ydotvec will be resized to that value.
  • File names may now have arbitrary sizes. The old limit (without macro substitution) was 256 characters.
  • However, this is principally a bug fix release, and many of the changes are updates to configure files in order to solve installation problems on recent PCs and Macs. There is no need to update to 7.1 if you are currently using NEURON 7.0 and not experiencing any problems.

New in NEURON 6.2 (Nov 14, 2008)

  • As of today, the multicore version (which is currently version 7.0) has become the svn trunk and thus is now the main development thread. If all goes well, from this date forward the single thread version 6.2 will only be maintained for bug fixes. This announcement has immediate import for those users who get the alpha version or the latest development code from the Subversion repository. It also means that, in the not too distant future, users will be able to harness the full computing power of their hardware for executing simulations, regardless of whether NEURON is executing on a single core or a multicore machine.