EAGER: Myriad: a new architecture for parallel multiscale simulation on CPU/GPU
Cornell University, Ithaca NY
Investigators
Abstract
The expansion of scientific knowledge is continually improving human understanding of the brain and other biological systems. Increasingly, however, it is becoming clear that many of the capacities of the brain arise from rich and complex interactions among its many regions. Conversely, disorders of the brain and body often arise from subtle deficits that gradually impair the coordinated function of these interacting neural and biological systems until, at last, they begin to collapse and major symptoms are expressed. Because these networks of interactions are too complex to simply intuit, scientists construct computer models so that the work of many different scientific studies can be brought together and gradually constructed into a unified understanding of the intricate systems under study. This leads to broader understandings of our complex brains and bodies that would not be possible without such quantitative models. The goal of the Myriad project is to provide a software platform for biological modeling that makes it much easier to harness the power of modern parallel-processing computer systems. A second goal is to implement a simulator that uses this platform to create detailed models of neurons and neural networks. Myriad is a compartmental simulator platform based on a shared-memory architecture and designed for computational speed based on NVIDIA GPU (CUDA) or parallel CPU execution. Its transformative potential arises from its capacity to automatically parallelize any compartmental model, including those with dense analogue interactions that presently cannot be effectively parallelized, and without requiring the end user to write special, platform-specific parallelization code. Myriad's shared-memory design eschews message-passing, and utilizes a radically granular design approach that flattens hierarchically defined cellular models and can even break up individual isometric compartments by state variable. Specifically, all models that can be represented as isometric, stateful nodes (compartments) connected by any number of arbitrary mechanisms can be simulated with a high degree of parallelism, automatically thread-scaled to the number of available threads and load-balanced with very fine granularity to maximize the utilization of available CPU or GPU cores. Programmatically, end-user models are defined in a Python-based environment and converted into fully-specified C99 code (for CPU or GPU) via code generation techniques that are enhanced by a custom abstract syntax tree (AST) translator and, for NVIDIA GPUs, a custom object specification for CUDA enabling fully on-card execution. The first applications of Myriad will be to simulate biophysically realistic computational models of neurons and networks. Importantly, however, Myriad's generic compartmental solver will be able in principle to parallelize any model framework that can be represented as stateful nodes coupled pairwise by arbitrary mechanisms. Accordingly, to extend Myriad into new scientific areas of study (e.g., gene regulatory networks, epidemiological models, host-virus interactions, ecological systems) will require development only at the higher Python-based software layer, presumably by experts in the relevant field. Finally, as present parallelization strategies are only able to accelerate sparselycoupled models, computational modeling recently has been drawn towards that subset of scientific questions capable of being addressed by these methods. The release of Myriad may reopen the full breadth of quantitative biological questions that can be effectively addressed by parallel simulation. Updates on the Myriad project can be found at http://cplab.net/myriad. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →