Skip to content Skip to navigation

An open-source realtime computational platform

TitleAn open-source realtime computational platform
Publication TypeConference Paper
Year of Publication2018
AuthorsMehrotra P*, Dasgupta S*, Robertson S, Nuyujukian P
Conference NameLanguages, Compilers, and Tools for Embedded Systems (LCTES)
Date Published06/2018
Conference LocationPhiladelphia, Pennsylvania

Systems neuroscience studies involving in-vivo models often require realtime data processing. In these studies, many events must be monitored and processed quickly, including behavior of the subject (e.g., movement of a limb) or features of neural data (e.g., a neuron transmitting an action potential). Unfortunately, most realtime platforms are proprietary, require specific architectures, or are limited to low-level programming languages. Here we present a hardware-independent, open-source realtime computation platform that supports high-level programming. The resulting platform, LiCoRICE, can process on order 1010 bits/sec of network data at 1 ms ticks with 18.2 μs jitter. It connects to various inputs and outputs (e.g., DIO, Ethernet, database logging, and analog line in/out) and minimizes reliance on custom device drivers by leveraging peripheral support via the Linux kernel. Its modular architecture supports model-based design for rapid prototyping with C and Python/Cython and can perform numerical operations via BLAS/LAPACK-optimized NumPy that is statically compiled via Numba’s pycc. LiCoRICE is not only suitable for systems neuroscience research, but also for applications requiring closed-loop realtime data processing from robotics and control systems to interactive applications and quantitative financial trading.