https://github.com/bluebrain/libsonata-mpi
Plugin for libsonata enabling collective I/O.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.8%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Plugin for libsonata enabling collective I/O.
Basic Info
Statistics
- Stars: 0
- Watchers: 9
- Forks: 1
- Open Issues: 0
- Releases: 1
Archived
Created over 2 years ago
· Last pushed over 1 year ago
Metadata Files
Readme
License
README.rst
.. warning::
The Blue Brain Project concluded in December 2024, so development has ceased under the BlueBrain GitHub organization.
Future development will take place at: https://github.com/openbraininstitute/libsonata-mpi
MPI-IO backend for libsonata
============================
This provides an ``Hdf5Reader`` plugin that reads files using
collective MPI-IO.
Installation
------------
Python
~~~~~~
Since ``libsonata_mpi`` depends on MPI, it can’t be built as a wheel and must
be installed from source. Therefore, a reasonably modern C++ compiler and MPI
must already be installed.
Because both ``libsonata`` and ``libsonata-mpi`` depend on HDF5 they need to be
linked against the same version of HDF5. Hence, effectively both ``libsonata``
and ``libsonata-mpi`` need to be built from source.
Manually
^^^^^^^^
Clone both repositories (with ``--recursive``) and then use:
::
pip install .
in both repositories.
Spack
^^^^^
There's a spack recipe which allows the following, preferably inside
a spack environment.
::
spack add libsonata-mpi
spack install
C++
~~~
Ensure a reasonably modern C++ compiler and MPI are installed/loaded.
Then perform:
::
cmake -DSONATA_MPI_FROM_SUBMODULES=On -DCMAKE_BUILD_TYPE=Release -B build
cmake --build build --parallel
customize by using:
* ``CMAKE_INSTALL_PREFIX`` to pick an installation directory.
* ``CMAKE_PREFIX_PATH`` to help CMake find locally installed dependencies.
* ``SONATA_MPI_FROM_SUBMODULES`` to configure if dependencies are picked up
from Git submodules.
Usage
-----
Python
~~~~~~
::
from libsonata import make_collective_reader
hdf5_reader = libsonata.make_collective_reader(
comm,
collective_metadata,
collective_transfer,
)
edges = libsonata.EdgeStorage(edge_filename, hdf5_reader)
If available, this will use MPI-IO with collective I/O when reading datasets
``collective_transfer == True`` or HDF5 metadata ``collective_metadata ==
True``. The communicator must be an MPI4Py communicator. If ``libsonata`` fails
to import ``libsonata_mpi``, it’ll return the default reader. To check
if collective I/O is working use Darshan or set the environment variable
``ROMIO_PRINT_HINTS=1``.
Acknowledgements
----------------
The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.
License
-------
libsonata is distributed under the terms of the GNU Lesser General Public License version 3,
unless noted otherwise, for example, for external dependencies.
Refer to `COPYING.LESSER` and `COPYING` files for details.
Copyright (c) 2023 Blue Brain Project/EPFL
libsonata is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License version 3
as published by the Free Software Foundation.
libsonata is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with libsonata. If not, see .
Owner
- Name: The Blue Brain Project
- Login: BlueBrain
- Kind: organization
- Email: bbp.opensource@epfl.ch
- Location: Geneva, Switzerland
- Website: https://portal.bluebrain.epfl.ch/
- Repositories: 226
- Profile: https://github.com/BlueBrain
Open Source Software produced and used by the Blue Brain Project
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 12
- Average time to close issues: N/A
- Average time to close pull requests: 1 day
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.17
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- 1uc (10)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (1)
Dependencies
pyproject.toml
pypi
setup.py
pypi
- libsonata >=0.1.25
- mpi4py *
.github/workflows/run-tests.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite