qmbenchio
An open-source benchmark IO project which simulates the intensive use of scratch with quantum chemistry software
Science Score: 26.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
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
An open-source benchmark IO project which simulates the intensive use of scratch with quantum chemistry software
Basic Info
- Host: GitHub
- Owner: ceisammodes
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 528 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
qmbenchio
An open-source benchmark IO project.

Overview
- Develop a more comprehensive understanding of the relationships between quantum chemistry software, computing architecture, and simulation performance
- Investigation of storage technology impact on computation times on different scratch disk clusters
Our project begins with the utilization of OpenMOLCAS, a widely-acclaimed and extensively-used quantum chemistry software package, as part of the (ATTOP) project.
Table of contents:
Installation
We recommend using Docker installation for reproducibility
Docker
bash
docker build -t qmbhenchio .
bash
docker start qmbenchio
getting-started
A qmbenchio have 3 steps. * Generate input data for qm software (for example openmolcas) * Run on Cluster io benchmark using previously generated data * Post processing of output file to generate Graph or report.
You can run all the step inside the docker container
The configurations of the directory path can be specified through a ini file.
Examples of ini files can be found in config.ini.
bash
cat /app/config.ini
[Directories] RawData=../data/rawdata/molcastest ProcessedData=../data/processeddata/molcastest
run interactively inside the container
bash
docker exec -i -t qmbenchio /bin/bash
First step Generate the data
Example for openmolcas io
bash
cd /app/scripts
python generate_molcas_io_job.py --openmolcas --jobs 10 100 --dir titi
[!TIP] if the directories have already been generated the first time, it will only create the slurm files
The script take files in /app/data/raw_data and generate a titi bench with 10 job and 100 identical simultaneous job openmolcas IO input files.
All files are generated in ProcessedData directory (cf config.ini)
Example for openmolcas io bench
├── processed_data/
│ ├── molcas_test
│ ├── titi
│ ├── job_10
│ ├── ...
│ ├── job_100
│ ├── ...
└── ...
Second step Launch the jobs and generate output
You can make this directly in the first step if you add --slurm arg.
If
bash
cd /app/scripts
python generate_molcas_io_job.py --openmolcas --slurm --jobs 10 100 --dir titi
This script use 2 templates slurm file in data/rawdata/molcastest/
[!IMPORTANT]
You have to adapt the tpl files for your cluster
Example for our Glicid regional Cluster Nautilus
bash
python generate_molcas_io_job.py --openmolcas --jobs 10 100 --dir titi --slurm
.
├── job10
├── job100
│── submolcasnautilus10.sh
└── submolcasnautilus100.sh
bash
sbatch sub_molcas_nautilus_100.sh
sbatch sub_molca_nautilus_10.sh
Third Step Analyse the output and generate report or chart
Once the jobs are launched and the calculations are completed. Run the program that extracts the values from the molcas outputs The directory must contains output in all calculations (geom_X) subdirectory
Example of titi directory :
├── 100job
├── geom_1
├── geometry_1.xyz
├── mol_input_1.input
├── mol_input_1.output
├── mol_input_1.status
└── start.RasOrb
├── geom_X
├── geometry_1.xyz
├── mol_input_1.input
├── mol_input_1.output
├── mol_input_1.status
└── start.RasOrb
......
Extract outputs
With a console :
bash python3 extract_benchio.py -b /tmp/titi
With a notebook in the docker container : The example notebook are in this directory:
bash ../docs/notebooks/
launch Jupyterlab in the container :
bash
4ef2f4584243:/app#/env/bin/jupyter-lab --ip=0.0.0.0 --port=8886 --no-browser --allow-root
and after use the notebook:
http://127.0.0.1:8886/lab/tree/docs/notebooks/openmolcasextractbench.jnb.ipynb
About Us
📢 is under active development
This project is archived in Software Heritage.
Licence
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with Copremo. If not, see http://www.gnu.org/licenses/.
How to cite qmbenchio If you use qmbenchio to get publisheable results, please cite: A.Blondel, qmbenchio, Nantes University , 2025.
Acknowledgments
Thanks to thierry Tran (ATTOP project) for the OpenMolcas IO Bench case.
“This benchmark io program used resources of the GLiCID Computing Facility (Ligerien Group for Intensive Distributed Computing, https://doi.org/10.60487/glicid, Pays de la Loire, France)
Owner
- Name: ceisammodes
- Login: ceisammodes
- Kind: organization
- Repositories: 1
- Profile: https://github.com/ceisammodes
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"type": "SoftwareSourceCode",
"applicationCategory": "Chemistry HPC",
"author": [
{
"id": "https://orcid.org/0009-0005-7169-5422",
"type": "Person",
"affiliation": {
"id": " https://ror.org/04ysg2a58",
"type": "Organization"
},
"email": "aymeric.blondel@univ-nantes.fr",
"familyName": "Blondel",
"givenName": "Aymeric"
}
],
"codeRepository": "https://github.com/ceisammodes/qmbenchio.git",
"contributor": {
"id": "https://orcid.org/0000-0002-0722-0159",
"type": "Person",
"affiliation": {
"id": " https://ror.org/04ysg2a58",
"type": "Organization"
},
"email": "Thierry.Tran@univ-nantes.fr",
"familyName": "thierry",
"givenName": "tran"
},
"dateCreated": "2024-06-01",
"dateModified": "2025-02-07",
"datePublished": "2025-02-01",
"description": "An open-source benchmark IO project.\n\nDevelop a more comprehensive understanding of the relationships between quantum chemistry software, computing architecture, and simulation performance\nInvestigation of storage technology impact on computation times on different scratch disk clusters\n",
"downloadUrl": "https://github.com/ceisammodes/qmbenchio/archive/refs/tags/0.1.tar.gz",
"funder": {
"type": "Organization",
"name": "CNRS & ERC"
},
"keywords": "Benchmark IO",
"license": "https://spdx.org/licenses/GPL-3.0",
"name": "qmbenchio",
"operatingSystem": "Linux",
"programmingLanguage": "PYTHON",
"version": "1.0",
"funding": "ERC-STG-21 101040356 ATTOP"
}
GitHub Events
Total
- Push event: 1
- Create event: 2
Last Year
- Push event: 1
- Create event: 2
Dependencies
- debian latest build
- jupyterlab *
- matplotlib *
- pandas *
- requests *
- tqdm *