Skip to main content

LookUp Table acceleration for Brian2 stimulator

Project description

What is Brian?

Brian is a free, open source simulator for spiking neural networks. It is written in the Python programming language and is available on almost all platforms. We believe that a simulator should not only save the time of processors, but also the time of scientists. Brian is therefore designed to be easy to learn and use, highly flexible and easily extensible.

What is Lookup table approximation?

The lookup-table approximation is a classical method for computation acceleration in a numerical problem, known for centuries. It is extensively used in such software as NEURON and GENESIS, but I kind of miss it in Brian. This approximation is based on a straightforward algorithm: First, before simulation, one needs to precompute lookup tables for values of $m_infty(v)$, $h_infty(v)$, and so on in a full range of voltages. Usually, this range goes between the lowest possible to the highest possible voltages. The range is divided into intervals with constant steps. For example, this may be a range from −100 to 60 mV with 1 mV step. With precomputed tables, one solves differential equations using linear interpolation between table rows instead of computing exponential functions. The voltage at a current time moment of a numerical solution is used to find indices of two rows in the lookup table closest to the membrane voltage. Using these two indices, one can query values for all steady-states and time constants of gating variables and linearly interpolate between these values - like this: .. image:: images/SP-Figure1.jpg

How to install?

pip install lutbrain

An Example

See an example and explanations on the GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lut4brian-0.1.0.tar.gz (60.1 kB view details)

Uploaded Source

File details

Details for the file lut4brian-0.1.0.tar.gz.

File metadata

  • Download URL: lut4brian-0.1.0.tar.gz
  • Upload date:
  • Size: 60.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.5

File hashes

Hashes for lut4brian-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c790225373a0cff50d5f065cbbdc691c74dcc96faf7c8a15e1fff434c9883b8b
MD5 fad04f77ba479db934c45366e0a34b0c
BLAKE2b-256 400a769a469f3cf8241c5380fadc535b83ab6679e273e41371a9c1ffe0209730

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page