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.4.tar.gz (4.3 MB view details)

Uploaded Source

Built Distributions

cubnm-0.0.4-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.4-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.4-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.4-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.4-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.4-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.4.tar.gz.

File metadata

  • Download URL: cubnm-0.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 9bbf14a2ba48dc4fe1efd60a17bad16aca125026a17bf5b086fd5dbbcd40932a
MD5 934fcf0952791d1f201bec88d314ab2f
BLAKE2b-256 3994f14b304f66fba90455c5bf4e9200ddb0b0e10f4a1b8708f85017c07056bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cubnm-0.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1dd5f44ee12a0910e97b26715de1fbe6f2f158df10fb89261ea0034b4840cf2
MD5 368f5ee89d8695d8c8a861aa68788e86
BLAKE2b-256 a003ea7b9695becb4d3765ea7e29c462942b757c7ee459d79fa50602293d137e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cubnm-0.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5b1c3609115cc936f4851b3bd11806f3ccfaf9e61888d06a04e0e8701e4f367
MD5 ea7bf9f433999e2455a3b5374d70bf9f
BLAKE2b-256 463123d3f6dc9abad648394888e71e68629a400fe680cf8e8fd9ba2a4a2cc912

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cubnm-0.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dac364bb1f55be42c2e433814a7119c166fced9bca17743e4c8ada77c5aaad3
MD5 6edbf108a0deddc1c896375183989f89
BLAKE2b-256 b32ed8a779660d3d934dd5fa05a191723ed228220fd4ec8070ad7676c6abfb5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cubnm-0.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c598ffd19f5669b66f79782e7cfd9305420da10c2601fb2df0717d132be8747
MD5 aae9bf245d47d72dc79404599e9d3ad6
BLAKE2b-256 40fc0a62882379309a5a14b3daee4347a0855870785272a0a147d6d96374290c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cubnm-0.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca329ce79752c20c91d7b3f01279818dc488bb25d6579b462a8c7a84e961e98f
MD5 c81aa162f23735fb8888c0e213d0ede1
BLAKE2b-256 34c25f0ba863b77718140d42c632581019d72e91a9a7772131ccaecab450a3c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cubnm-0.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6843f5d6302ed6b8b1a888227b929d36c9536d14c094d8dd49a81dc682c24087
MD5 3aa6059d1e81f7becddcc649b32184fe
BLAKE2b-256 81cbab0e131b0623264ed997667191997d14e76b6c707a9b327a4af08e66d306

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