3 research outputs found

    STEPS 4.0: Fast and memory-efficient molecular simulations of neurons at the nanoscale

    Get PDF
    Recent advances in computational neuroscience have demonstrated the usefulness and importance of stochastic, spatial reaction-diffusion simulations. However, ever increasing model complexity renders traditional serial solvers, as well as naive parallel implementations, inadequate. This paper introduces a new generation of the STochastic Engine for Pathway Simulation (STEPS) project (http://steps.sourceforge.net/), denominated STEPS 4.0, and its core components which have been designed for improved scalability, performance, and memory efficiency. STEPS 4.0 aims to enable novel scientific studies of macroscopic systems such as whole cells while capturing their nanoscale details. This class of models is out of reach for serial solvers due to the vast quantity of computation in such detailed models, and also out of reach for naive parallel solvers due to the large memory footprint. Based on a distributed mesh solution, we introduce a new parallel stochastic reaction-diffusion solver and a deterministic membrane potential solver in STEPS 4.0. The distributed mesh, together with improved data layout and algorithm designs, significantly reduces the memory footprint of parallel simulations in STEPS 4.0. This enables massively parallel simulations on modern HPC clusters and overcomes the limitations of the previous parallel STEPS implementation. Current and future improvements to the solver are not sustainable without following proper software engineering principles. For this reason, we also give an overview of how the STEPS codebase and the development environment have been updated to follow modern software development practices. We benchmark performance improvement and memory footprint on three published models with different complexities, from a simple spatial stochastic reaction-diffusion model, to a more complex one that is coupled to a deterministic membrane potential solver to simulate the calcium burst activity of a Purkinje neuron. Simulation results of these models suggest that the new solution dramatically reduces the per-core memory consumption by more than a factor of 30, while maintaining similar or better performance and scalability

    BlueBrain/MorphIO: Allow to throw warnings instead of writing them to stderr/stdout

    No full text
    remove -j2 from cpp_test.sh - not an option for cmake (#269) Adding C++ tests (#263) Fix for compat with recent HighFive (#268) Minimal solution to raising of warning instead of writing them (#266) apply ignoring logic to raised warnings as well (#271) Consider custom section types from 5 up to 10 (#274) fix broken links and include README to readthedocs (#276) narrow conditions when WARNING_NEUROMORPHO_SOMA_NON_CONFORM is thrown (#275
    corecore