NEURON的BBP仿真控制应用
项目描述
Neurodamus
Neurodamus是Neuron的BBP内部开发的仿真控制应用。
Python实现提供了一个全面的Python API,用于对由BlueConfig文件定义的仿真进行微调。
描述
Neurodamus是BBP内部开发的用于设置大规模神经元仿真的大型应用程序。它传统上作为一组扩展到Neuron的.hoc和.mod文件的形式实现。仿真参数从默认的BlueConfig配置文件加载。
为了解决Hoc实现的一些限制,包括开发工作量,Neurodamus的高级层已在Python中重新实现。这种实现向用户提供了一个具有全面API的Python模块,适合精细控制仿真方面,并检查和最终适应仿真。
安装
先决条件
hdf5
libsonatareport https://github.com/BlueBrain/libsonatareport
带有MPI的neuron https://github.com/neuronsimulator/nrn
安装neurodamus
git clone https://github.com/BlueBrain/neurodamus.git
cd neurodamus
pip install .
使用mod文件构建特殊版本
mkdir mods
cp -r mod-files-from-released-circuit mods/
cp -r neurodamus-install-prefix/share/mod/* mods/
nrnivmodl -incflags '-I <include-paths-of-our-dependencies>' -loadflags '-L <libs-paths-for-linking>' mod
示例
安装后,您应该在您的路径中找到neurodamus
$ neurodamus
Usage:
neurodamus <ConfigFile> [options]
neurodamus --help
在选项中,您将找到用于调整运行行为的标志。
Neurodamus 明确依赖 MPI 库进行并行执行。因此,请根据您的平台使用“srun”或“mpiexec”来启动它。如果不这样做,可能会出现复杂的错误信息。请记住这一点。
尽管提供了 neurodamus 启动器,但对于生产运行,我们建议使用 special。这种方式已被证明可以利用优化的数学库。我们希望很快也能将这些优势应用到启动器脚本中。
srun <srun params> <your_built_special> -mpi -python $NEURODAMUS_PYTHON/init.py <neurodamus params>
完整的安装示例(包括模拟运行)可以在工作流程测试 simulation_test.yaml 中找到。
Docker 容器
或者,您可以直接启动一个 neurodamus Docker 容器,其中所有软件包都已构建。使用容器,您可以构建您的 mod 文件并运行模拟。请参阅 docker/README.md 中的说明。
构建 Docker 容器
当在存储库中创建新的标签时,如果不存在指定版本的容器,则会自动构建 Docker 容器镜像。在手动管道运行期间,也会构建容器镜像,但不会自动推送到 docker-hub;如果您想这样做,则需要手动在您创建的管道中启动作业。请注意,这是 可选的,容器镜像 始终 推送到 gitlab 仓库!
Docker 镜像将在 常规 gitlab 管道 中构建 - 如果在正确条件下触发(手动或通过 git 标签创建),容器作业将添加到此管道。
- 如果您手动运行管道,也可以设置依赖项的版本
LIBSONATAREPORT_TAG:libsonata-report 的 git 标签
LIBSONATA_TAG:libsonata 的 git 标签
NEURON_COMMIT_ID:neuron 的提交 ID
REGISTRY_IMAGE_TAG:这将成为容器版本。如果指定了其他任何一个,则必须指定。
致谢
本软件的开发得到了瑞士联邦理工学院(EPFL)的研究中心蓝脑项目资助,该项目得到了瑞士政府联邦理工学院委员会的资助。
版权 (c) 2005-2023 蓝脑项目/EPFL
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。