Reverse-engineering how biological neural circuits process information is key to understanding human brain function, developing effective therapies for psychiatric and neurological disease, and designing powerful new computer architectures that can replicate the formidable information processing capabilities of biological brains. To achieve this goal, we must focus on a model organism capable of complex behavioral and information processing tasks whose brain structure is within reach of current computational technology and whose neural activity can be experimentally accessed.
The fruit fly Drosophila melanogaster is capable of a range of complex nonreactive behaviors driven by multiple sensory modalities. Remarkably, these behaviors are governed by a brain comprising only ~ 105 neurons! An extensive toolbox of powerful genetic manipulation techniques developed through years of fruit fly research enables the visualization of the fly's neural circuitry and analysis of how its structure relates to the fly's behavior. This toolbox has enabled researchers to characterize the fly's sensory mechanisms and shed light on the structure of its brain connectivity map, or connectome. Recent work has revealed that the fly's connectome comprises 40 unique modular subdivisions called local processing units (LPUs). Almost all of these modules have been found to correspond to anatomical regions of the fly brain associated with specific functional subsystems such as sensation and locomotion. LPUs can therefore be regarded as functional building blocks of the fly brain.
The computational tractability and genetic accessibility of the fly brain have acquired increased importance in light of ongoing advances in parallel computing and electrophysiological techniques. Graphics Processing Units (GPUs) are a powerful and affordable commodity parallel computing technology whose steady improvement promises the computational power needed to test increasingly realistic neural circuit models of the scale of the fly brain. While the fly's tiny size has made the recording of neural activity from its brain challenging, innovative technologies developed at the Bionet Group and elsewhere have made it possible to contemplate the obtaining of simultaneous recording from multiple neurons in the fly brain. Neuroscientists therefore have an unprecedented opportunity to leverage these developments to build powerful new models of the fly brain that are informed by hitherto inaccessible knowledge regarding its structure and function.
The Neurokernel project aims to build an open software platform that can scalably leverage the power of multiple GPUs to emulate the entire fly brain. A key feature of the platform is its support for integrating models of LPUs into models of entire functional subsystems. Neurokernel defines a mandatory module interface for the communication of neuron state data between LPU model implementations. Connectivity patterns between any two LPUs are expressed independently both of other inter-LPU connectivity patterns and the internal connectivity of the LPUs themselves. Enforced LPU interoperability and the partitioning of the fly connectome into connections responsible for distributing data between processing modules and connections that are part of those modules enables individual LPU models or connectivity patterns to be improved or replaced without modification of other parts of a brain emulation. This design facilitates the collaborative development of whole-brain emulations by enabling the immediate interconnection of independently developed LPU models with compatible interfaces. Neurokernel's support for LPU model integration also enables exploration of brain functions that cannot be exclusively attributed to individual LPUs or brain subsystems.
A major goal of Neurokernel is to enable fly brain models to be scaled up in computational complexity without necessitating their reimplementation. To this end, Neurokernel will provide APIs that expose the components required to implement and interconnect LPU models while abstracting away the underlying GPU-dependent code that implements them; this will also enable Neurokernel-based emulations to benefit from future improvements in GPU technology. Neurokernel will also provide a GPU resource management infrastructure that will enable brain emulations to take advantage of multiple GPUs depending upon their availability.
Building an accurate emulation of the fly brain is an interdisciplinary effort that requires data, algorithms, and insight from (but not limited to) the fields of neuroscience, computer science, and systems engineering. Researchers interested in working towards this goal are invited to join the Neurokernel project. The platform software is developed in Python (a powerful, high-level language that enjoys wide popularity in the computational neuroscience community) and CUDA (NVIDIA's C language extension for GPU programming). All design specifications, documentation, and code are open-source and publicly hosted on GitHub.