NeuroDevSim
NeuroDevSim simulates neuronal morphological growth, migration, pruning, and microcircuit formation using an agent-based framework to study neural development.
Key Features:
- Agent-Based Modeling: Utilizes agents called "fronts" that execute model-specific code each simulation cycle to extend, branch, terminate, migrate somata, or retract for pruning.
- NeuroMaC-derived Python implementation: Implemented in Python and derived from NeuroMaC, with reported operation on Linux and macOS.
- Collision Detection: Prevents overlapping of growing or migrating fronts using grid points that track the location of nearby fronts.
- Parallel Shared-Memory Processing: Achieves multi-core parallelism via a shared-memory design where cores have write privileges only to private sections of arrays while maintaining read access to the entire shared array, minimizing messaging overhead.
- Scalability: Demonstrates strong linear scaling up to 96 cores and has been executed on 128 cores.
- Memory Locking: Manages read/write locking required for collision detection with a custom serialized lock broker controlling access to grid points.
- Modeling Flexibility: Supports simulation of a few complex neuronal models, thousands of simpler models, or combinations thereof to produce large numbers of neuronal morphologies and resultant microcircuits in parallel.
Scientific Applications:
- Brain Development Research: Simulates neuronal growth, migration, and pruning to analyze dynamic processes that shape neural circuits.
- Microcircuit Formation: Models formation and evolution of microcircuits from large numbers of neuronal morphologies in parallel.
- Large-Scale Simulation Studies: Enables large-scale studies of neuronal networks that require parallel computation for scalability.
Methodology:
Agent-based simulation where fronts execute model-specific code each cycle and make decisions based on environmental interactions and internal variables; parallelization via shared memory with private-write and global-read array sections; collision detection implemented with grid points and read/write locking managed by a custom serialized lock broker.
Topics
Details
- License:
- GPL-3.0
- Cost:
- Free of charge
- Tool Type:
- library
- Operating Systems:
- Mac, Linux
- Programming Languages:
- Python
- Added:
- 3/8/2024
- Last Updated:
- 3/8/2024
Operations
Publications
De Schutter E. Efficient simulation of neural development using shared memory parallelization. Frontiers in Neuroinformatics. 2023;17. doi:10.3389/fninf.2023.1212384. PMID:37547492. PMCID:PMC10400717.