Skip to main content

A toolbox for biophysical network modeling on GPUs

Project description

https://raw.githubusercontent.com/amnsbr/cubnm/main/docs/_static/logo_text.png https://img.shields.io/pypi/v/cubnm https://img.shields.io/readthedocs/cubnm https://img.shields.io/badge/docker-amnsbr/cubnm-blue.svg?logo=docker https://app.codacy.com/project/badge/Grade/e1af99e878bc4dbf9525d8eb610e0026 https://img.shields.io/github/license/amnsbr/cubnm

cuBNM toolbox is designed for efficient biophysical network modeling of the brain on GPUs and CPUs.

Overview

cuBNM toolbox simulates neuronal activity of network nodes (neural mass models) which are connected through the structural connectome using GPUs/CPUs. Currently three models (rWW, rWWEx and Kuramoto) are implemented, but the modular design of the code makes it possible to include additional models in future. The simulated activity of model neurons is fed into the Balloon-Windkessel model to calculate simulated BOLD signal. Functional connectivity (FC) and functional connectivity dynamics (FCD) from the simulated BOLD signal are calculated efficiently on GPUs/CPUs and compared to FC and FCD matrices derived from empirical BOLD signals to assess similarity (goodness-of-fit) of the simulated to empirical BOLD signal.

The toolbox supports parameter optimization algorithms including grid search and evolutionary optimizers (via pymoo), such as the covariance matrix adaptation-evolution strategy (CMA-ES). Parallelization within the grid or the iterations of evolutionary optimization is done at the level of simulations (across the GPU ‘blocks’), and nodes (across each block’s ‘threads’). The models can incorporate global or regional free parameters that are fit to empirical data using the provided optimization algorithms. Regional parameters can be homogeneous or vary across nodes based on a parameterized combination of fixed maps or independent free parameters for each node or group of nodes.

GPU usage is the primary focus of the toolbox but it also supports running the simulations on single or multiple cores of CPU. CPUs will be used if no GPUs are detected or if requested by the user.

At its core the toolbox runs highly parallelized simulations using C++/CUDA, while the user interface is written in Python and allows for user control over simulation configurations:

Flowchart of the cuBNM program

Documentation

Please find the documentations on installation, usage examples and API at https://cubnm.readthedocs.io.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cubnm-0.0.3.tar.gz (4.3 MB view details)

Uploaded Source

Built Distributions

cubnm-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

cubnm-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cubnm-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cubnm-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

cubnm-0.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

cubnm-0.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file cubnm-0.0.3.tar.gz.

File metadata

  • Download URL: cubnm-0.0.3.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.5

File hashes

Hashes for cubnm-0.0.3.tar.gz
Algorithm Hash digest
SHA256 74376c440f17f07593460d21ec7ec6ea1751d99caf43a6766eff1018ed10e115
MD5 35f6afce8c7d5e3ab49d83319c515613
BLAKE2b-256 2f17085567b2ea0ee83f9accc155019b498f8583907d5f31b5610adfa83aafbe

See more details on using hashes here.

File details

Details for the file cubnm-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cubnm-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33eb5d08f96344f4933b8c70560f7a8f306f0b838914489305f265d8179cc3f2
MD5 f42df096e49c948d3c68e6207a37611f
BLAKE2b-256 0a86c36602d305f8f74c3a0561f2c0e8aadacfbd4f8b67c82a6b3f3baa3f494e

See more details on using hashes here.

File details

Details for the file cubnm-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cubnm-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd709c5ceff6aeec143bc71571b07e4aa803cda40a9776db70761ecb854431e9
MD5 c74af1b2413c35e4d163d84617ea4a23
BLAKE2b-256 17876b21b50057d72998ba8829cc7022b235cedab6732a7312f3c51c9efe531e

See more details on using hashes here.

File details

Details for the file cubnm-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cubnm-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ad8ec183585b5a67054cb9a4f2794fa8ff2071e36194c9355061a2d2031046e
MD5 bf95f705ba4dd2b9a56e192b4a7cb5eb
BLAKE2b-256 75696bdc369e472b5f660f8a94dda008a095b730685caf7d633e64091d7de7c4

See more details on using hashes here.

File details

Details for the file cubnm-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cubnm-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d39221dd6f12469ac4d9498a2a678e4e3ccff06ef9e2e6246080b1f78ce48ad8
MD5 3cc4d4d86aa4b8f7b1f94fcd1649bc6d
BLAKE2b-256 fc5be1c3c0cfe922ef02fa573b3f7415bb0f5afe593691f8559e06b12a7a5efe

See more details on using hashes here.

File details

Details for the file cubnm-0.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cubnm-0.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c30b2ff3bd80a0d17b1b69038d72813e9fa23679b58b371f797b57c006df9715
MD5 e9849b10f62a13b5371572b3bfe88894
BLAKE2b-256 9b3ef458f7074f2fc1366e7dae58de26f42a88a01fd086bdafb6ca59ab81de16

See more details on using hashes here.

File details

Details for the file cubnm-0.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cubnm-0.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0dfd3881249b0f920a3627791798c561c092c76d5a988a60e4a8e7a828c496c8
MD5 3fb80cf300b4231afc5f5064386837af
BLAKE2b-256 8d9f5f582d90061a61371e7e4798319139e0b47e7f696bc524e2c0beec8a94e9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page