• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

CyNEST:一种基于 Cython 的可维护的 NEST 模拟器接口。

CyNEST: a maintainable Cython-based interface for the NEST simulator.

机构信息

Simulation Laboratory Neuroscience - Bernstein Facility for Simulation and Database Technology, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich Research Center Jülich, Germany ; Faculty of Biology, Albert-Ludwig University of Freiburg Freiburg im Breisgau, Germany.

Simulation Laboratory Neuroscience - Bernstein Facility for Simulation and Database Technology, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich Research Center Jülich, Germany ; Institute for Advanced Simulation (IAS-6), Theoretical Neuroscience and Institute of Neuroscience and Medicine (INM-6), Computational and Systems Neuroscience, Jülich Research Center and JARA Jülich, Germany ; Institute of Cognitive Neuroscience, Faculty of Psychology, Ruhr-University Bochum Bochum, Germany.

出版信息

Front Neuroinform. 2014 Mar 14;8:23. doi: 10.3389/fninf.2014.00023. eCollection 2014.

DOI:10.3389/fninf.2014.00023
PMID:24672470
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC3953856/
Abstract

NEST is a simulator for large-scale networks of spiking point neuron models (Gewaltig and Diesmann, 2007). Originally, simulations were controlled via the Simulation Language Interpreter (SLI), a built-in scripting facility implementing a language derived from PostScript (Adobe Systems, Inc., 1999). The introduction of PyNEST (Eppler et al., 2008), the Python interface for NEST, enabled users to control simulations using Python. As the majority of NEST users found PyNEST easier to use and to combine with other applications, it immediately displaced SLI as the default NEST interface. However, developing and maintaining PyNEST has become increasingly difficult over time. This is partly because adding new features requires writing low-level C++ code intermixed with calls to the Python/C API, which is unrewarding. Moreover, the Python/C API evolves with each new version of Python, which results in a proliferation of version-dependent code branches. In this contribution we present the re-implementation of PyNEST in the Cython language, a superset of Python that additionally supports the declaration of C/C++ types for variables and class attributes, and provides a convenient foreign function interface (FFI) for invoking C/C++ routines (Behnel et al., 2011). Code generation via Cython allows the production of smaller and more maintainable bindings, including increased compatibility with all supported Python releases without additional burden for NEST developers. Furthermore, this novel approach opens up the possibility to support alternative implementations of the Python language at no cost given a functional Cython back-end for the corresponding implementation, and also enables cross-compilation of Python bindings for embedded systems and supercomputers alike.

摘要

NEST 是一个用于大规模尖峰神经元模型网络的模拟器(Gewaltig 和 Diesmann,2007)。最初,通过 Simulation Language Interpreter(SLI)来控制模拟,这是一种内置的脚本设施,实现了一种源自 PostScript(Adobe Systems,Inc.,1999)的语言。PyNEST(Eppler 等人,2008)的引入,即 NEST 的 Python 接口,使用户能够使用 Python 来控制模拟。由于大多数 NEST 用户发现 PyNEST 更易于使用并且可以与其他应用程序结合使用,因此它立即取代了 SLI 成为默认的 NEST 接口。然而,随着时间的推移,开发和维护 PyNEST 变得越来越困难。这部分是因为添加新功能需要编写低级 C++代码,并与 Python/C API 进行混合调用,这是没有回报的。此外,Python/C API 随着每个新的 Python 版本而不断发展,这导致了版本相关的代码分支的大量增加。在本贡献中,我们展示了 PyNEST 在 Cython 语言中的重新实现,Cython 是 Python 的超集,它还支持为变量和类属性声明 C/C++类型,并提供了一个方便的外部函数接口(FFI)来调用 C/C++例程(Behnel 等人,2011)。通过 Cython 生成代码允许生成更小、更易于维护的绑定,包括增加对所有受支持的 Python 版本的兼容性,而无需对 NEST 开发人员造成额外负担。此外,这种新方法提供了在有相应的 Cython 后端的情况下支持替代 Python 实现而无需任何成本的可能性,并且还支持用于嵌入式系统和超级计算机的 Python 绑定的交叉编译。

https://cdn.ncbi.nlm.nih.gov/pmc/blobs/ff78/3953856/55af7753e4ad/fninf-08-00023-g0001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/ff78/3953856/55af7753e4ad/fninf-08-00023-g0001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/ff78/3953856/55af7753e4ad/fninf-08-00023-g0001.jpg

相似文献

1
CyNEST: a maintainable Cython-based interface for the NEST simulator.CyNEST:一种基于 Cython 的可维护的 NEST 模拟器接口。
Front Neuroinform. 2014 Mar 14;8:23. doi: 10.3389/fninf.2014.00023. eCollection 2014.
2
PyNEST: A Convenient Interface to the NEST Simulator.PyNEST:NEST 模拟器的便捷接口。
Front Neuroinform. 2009 Jan 29;2:12. doi: 10.3389/neuro.11.012.2008. eCollection 2008.
3
Python as a federation tool for GENESIS 3.0.Python 作为 GENESIS 3.0 的联邦工具。
PLoS One. 2012;7(1):e29018. doi: 10.1371/journal.pone.0029018. Epub 2012 Jan 20.
4
Efficient generation of connectivity in neuronal networks from simulator-independent descriptions.从与模拟器无关的描述中高效生成神经元网络的连接。
Front Neuroinform. 2014 Apr 22;8:43. doi: 10.3389/fninf.2014.00043. eCollection 2014.
5
NEVESIM: event-driven neural simulation framework with a Python interface.Nevesim:具有 Python 接口的事件驱动神经模拟框架。
Front Neuroinform. 2014 Aug 14;8:70. doi: 10.3389/fninf.2014.00070. eCollection 2014.
6
PyMOOSE: Interoperable Scripting in Python for MOOSE.PyMOOSE:MOOSE 中的可互操作 Python 脚本。
Front Neuroinform. 2008 Dec 19;2:6. doi: 10.3389/neuro.11.006.2008. eCollection 2008.
7
PyNN: A Common Interface for Neuronal Network Simulators.PyNN:神经元网络模拟器的通用接口。
Front Neuroinform. 2009 Jan 27;2:11. doi: 10.3389/neuro.11.011.2008. eCollection 2008.
8
Topographica: Building and Analyzing Map-Level Simulations from Python, C/C++, MATLAB, NEST, or NEURON Components.《拓扑图学:使用 Python、C/C++、MATLAB、NEST 或 NEURON 组件构建和分析地图级别的模拟》。
Front Neuroinform. 2009 Mar 24;3:8. doi: 10.3389/neuro.11.008.2009. eCollection 2009.
9
Brian: a simulator for spiking neural networks in python.Brian:一个用 Python 编写的用于尖峰神经网络的模拟器。
Front Neuroinform. 2008 Nov 18;2:5. doi: 10.3389/neuro.11.005.2008. eCollection 2008.
10
Python scripting in the nengo simulator.在 nengo 模拟器中使用 Python 脚本。
Front Neuroinform. 2009 Mar 24;3:7. doi: 10.3389/neuro.11.007.2009. eCollection 2009.

引用本文的文献

1
A Modular Workflow for Performance Benchmarking of Neuronal Network Simulations.一种用于神经网络模拟性能基准测试的模块化工作流程。
Front Neuroinform. 2022 May 11;16:837549. doi: 10.3389/fninf.2022.837549. eCollection 2022.
2
Routing Brain Traffic Through the Von Neumann Bottleneck: Parallel Sorting and Refactoring.通过冯·诺依曼瓶颈疏导大脑信息流:并行排序与重构
Front Neuroinform. 2022 Mar 1;15:785068. doi: 10.3389/fninf.2021.785068. eCollection 2021.
3
Evolving interpretable plasticity for spiking networks.用于脉冲神经网络的不断发展的可解释可塑性。

本文引用的文献

1
Increasing quality and managing complexity in neuroinformatics software development with continuous integration.通过持续集成提高神经信息学软件开发的质量和管理复杂性。
Front Neuroinform. 2013 Jan 3;6:31. doi: 10.3389/fninf.2012.00031. eCollection 2012.
2
STEPS: efficient simulation of stochastic reaction-diffusion models in realistic morphologies.步骤:在真实形态中对随机反应扩散模型进行高效模拟。
BMC Syst Biol. 2012 May 10;6:36. doi: 10.1186/1752-0509-6-36.
3
Meeting the memory challenges of brain-scale network simulation.应对脑尺度网络模拟的记忆挑战。
Elife. 2021 Oct 28;10:e66273. doi: 10.7554/eLife.66273.
4
Temporal constrained objects for modelling neuronal dynamics.用于模拟神经元动力学的时间约束对象。
PeerJ Comput Sci. 2018 Jul 23;4:e159. doi: 10.7717/peerj-cs.159. eCollection 2018.
5
Efficient Communication in Distributed Simulations of Spiking Neuronal Networks With Gap Junctions.具有缝隙连接的脉冲神经网络分布式模拟中的高效通信
Front Neuroinform. 2020 May 5;14:12. doi: 10.3389/fninf.2020.00012. eCollection 2020.
6
Toward Rigorous Parameterization of Underconstrained Neural Network Models Through Interactive Visualization and Steering of Connectivity Generation.通过交互式可视化和连接性生成引导对欠约束神经网络模型进行严格参数化
Front Neuroinform. 2018 Jun 1;12:32. doi: 10.3389/fninf.2018.00032. eCollection 2018.
7
Extremely Scalable Spiking Neuronal Network Simulation Code: From Laptops to Exascale Computers.极具扩展性的脉冲神经网络模拟代码:从笔记本电脑到百亿亿次计算机
Front Neuroinform. 2018 Feb 16;12:2. doi: 10.3389/fninf.2018.00002. eCollection 2018.
8
The NEST Dry-Run Mode: Efficient Dynamic Analysis of Neuronal Network Simulation Code.NEST 预演模式:神经元网络模拟代码的高效动态分析
Front Neuroinform. 2017 Jun 28;11:40. doi: 10.3389/fninf.2017.00040. eCollection 2017.
9
Constructing Neuronal Network Models in Massively Parallel Environments.在大规模并行环境中构建神经网络模型。
Front Neuroinform. 2017 May 16;11:30. doi: 10.3389/fninf.2017.00030. eCollection 2017.
10
Modeling the Cerebellar Microcircuit: New Strategies for a Long-Standing Issue.模拟小脑微电路:一个长期问题的新策略。
Front Cell Neurosci. 2016 Jul 8;10:176. doi: 10.3389/fncel.2016.00176. eCollection 2016.
Front Neuroinform. 2012 Jan 24;5:35. doi: 10.3389/fninf.2011.00035. eCollection 2011.
4
PCSIM: A Parallel Simulation Environment for Neural Circuits Fully Integrated with Python.PCSIM:一个与 Python 完全集成的神经网络电路并行仿真环境。
Front Neuroinform. 2009 May 27;3:11. doi: 10.3389/neuro.11.011.2009. eCollection 2009.
5
PyNEST: A Convenient Interface to the NEST Simulator.PyNEST:NEST 模拟器的便捷接口。
Front Neuroinform. 2009 Jan 29;2:12. doi: 10.3389/neuro.11.012.2008. eCollection 2008.
6
NEURON and Python.神经元和 Python。
Front Neuroinform. 2009 Jan 28;3:1. doi: 10.3389/neuro.11.001.2009. eCollection 2009.
7
PyMOOSE: Interoperable Scripting in Python for MOOSE.PyMOOSE:MOOSE 中的可互操作 Python 脚本。
Front Neuroinform. 2008 Dec 19;2:6. doi: 10.3389/neuro.11.006.2008. eCollection 2008.
8
Modeling sleep and wakefulness in the thalamocortical system.丘脑皮质系统中睡眠与觉醒的建模
J Neurophysiol. 2005 Mar;93(3):1671-98. doi: 10.1152/jn.00915.2004. Epub 2004 Nov 10.