BrainPy, a flexible, integrative, efficient, and extensible framework for general-purpose brain dynamics programming

被引:9
|
作者
Wang, Chaoming [1 ,2 ]
Zhang, Tianqiu [1 ]
Chen, Xiaoyu [1 ]
He, Sichao [3 ]
Li, Shangyang [1 ]
Wu, Si [1 ,2 ]
机构
[1] Peking Univ, Peking Tsinghua Ctr Life Sci, IDG McGovern Inst Brain Res, Sch Psychol & Cognit Sci,Beijing Key Lab Behav &, Beijing, Peoples R China
[2] Guangdong Inst Intelligence Sci & Technol, Zhuhai 519115, Guangdong, Peoples R China
[3] Beijing Jiaotong Univ, Beijing, Peoples R China
来源
ELIFE | 2023年 / 12卷
关键词
brain simulation; brain simulator; brain modeling; just-in-time compilation; computational neuroscience; spiking neural networks; None; SPIKING NEURAL-NETWORKS; CODE GENERATION; SIMULATION; MODEL; COMPUTATION; PATTERNS; HISTORY; NEURONS; CHAOS;
D O I
10.7554/eLife.86365
中图分类号
Q [生物科学];
学科分类号
07 ; 0710 ; 09 ;
摘要
Elucidating the intricate neural mechanisms underlying brain functions requires integrative brain dynamics modeling. To facilitate this process, it is crucial to develop a general-purpose programming framework that allows users to freely define neural models across multiple scales, efficiently simulate, train, and analyze model dynamics, and conveniently incorporate new modeling approaches. In response to this need, we present BrainPy. BrainPy leverages the advanced just-in-time (JIT) compilation capabilities of JAX and XLA to provide a powerful infrastructure tailored for brain dynamics programming. It offers an integrated platform for building, simulating, training, and analyzing brain dynamics models. Models defined in BrainPy can be JIT compiled into binary instructions for various devices, including Central Processing Unit, Graphics Processing Unit, and Tensor Processing Unit, which ensures high-running performance comparable to native C or CUDA. Additionally, BrainPy features an extensible architecture that allows for easy expansion of new infrastructure, utilities, and machine-learning approaches. This flexibility enables researchers to incorporate cutting-edge techniques and adapt the framework to their specific needs.
引用
收藏
页数:52
相关论文
共 50 条
  • [1] Subsystem design guidelines for extensible general-purpose software
    Grefen, Paul
    Wieringa, Roel
    International Software Architecture Workshop, Proceedings, ISAW, 1998, : 49 - 52
  • [2] Stream programming on general-purpose processors
    Gummaraju, J
    Rosenblum, M
    MICRO-38: Proceedings of the 38th Annual IEEE/ACM International Symposiumn on Microarchitecture, 2005, : 343 - 354
  • [3] EMERALD - A GENERAL-PURPOSE PROGRAMMING LANGUAGE
    RAJ, RK
    TEMPERO, E
    LEVY, HM
    BLACK, AP
    HUTCHINSON, NC
    JUL, E
    SOFTWARE-PRACTICE & EXPERIENCE, 1991, 21 (01): : 91 - 118
  • [4] General-purpose digital ticket framework
    Fujimura, K
    Nakajima, Y
    PROCEEDINGS OF THE 3RD USENIX WORKSHOP ON ELECTRONIC COMMERCE, 1998, : 177 - 186
  • [5] A General-Purpose Framework for Genetic Improvement
    Marino, Francesco
    Squillero, Giovanni
    Tonda, Alberto
    PARALLEL PROBLEM SOLVING FROM NATURE - PPSN XIV, 2016, 9921 : 345 - 352
  • [6] Bioinspired framework for general-purpose learning
    de Toledo, SA
    Barreiro, JM
    FOUNDATIONS AND TOOLS FOR NEURAL MODELING, PROCEEDINGS, VOL I, 1999, 1606 : 507 - 516
  • [7] A GENERAL-PURPOSE FRAMEWORK FOR CAD ALGORITHMS
    RUBIN, SM
    IEEE COMMUNICATIONS MAGAZINE, 1991, 29 (05) : 56 - 62
  • [8] FDup: a framework for general-purpose and efficient entity deduplication of record collections
    De Bonis, Michele
    Manghi, Paolo
    Atzori, Claudio
    PEERJ COMPUTER SCIENCE, 2022, 8
  • [9] FDup: a framework for general-purpose and efficient entity deduplication of record collections
    De Bonis M.
    Manghi P.
    Atzori C.
    PeerJ Computer Science, 2022, 8
  • [10] DECISION TABLES FOR GENERAL-PURPOSE SCIENTIFIC PROGRAMMING
    LEW, A
    SOFTWARE-PRACTICE & EXPERIENCE, 1983, 13 (02): : 181 - 188