An open API service indexing awesome lists of open source software.

https://github.com/link89/oh-my-batch

A toolkit to manipulate batch tasks with command line. Designed for scientific computing community.
https://github.com/link89/oh-my-batch

bash batch command-line-tool hpc job-scheduler pipeline python3 scientific-computing shell slurm workflow

Last synced: 9 months ago
JSON representation

A toolkit to manipulate batch tasks with command line. Designed for scientific computing community.

Awesome Lists containing this project

README

          

# oh-my-batch

[![PyPI version](https://badge.fury.io/py/oh-my-batch.svg)](https://badge.fury.io/py/oh-my-batch)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/oh-my-batch)](https://pypi.org/project/oh-my-batch/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/oh-my-batch)](https://pypi.org/project/oh-my-batch/)

A toolkit to manipulate batch tasks with command line. Designed for scientific computing community.

## Features
* `omb combo`: generate folders/files from different combinations of parameters
* `omb batch`: generate batch scripts from multiple working directories
* `omb job`: track the state of job in job scheduler
* `omb misc`: miscellaneous commands

## Install
```bash
pip install oh-my-batch
```

## Examples
* [TESLA workflow](./examples/tesla/): A customizable active learning workflow for training machine learning potentials.
* [TESLA PIMD workflow](./examples/tesla-pimd/): A customizable active learning workflow for training machine learning potentials with path integral molecular dynamics.
* [LAMMPS benchmark](./examples/lammps-benchmark/): Find out the best MPI and OpenMP setup for LAMMPS through benchmarking.

## Use cases

### Generate files from different combinations of parameters

It's common to generate files with different combinations of parameters in scientific computing.
For example, you have 3 LAMMPS data files in `tmp` directory: `tmp/1.data`, `tmp/2.data`, `tmp/3.data`.
And you want to generate a series of input files with different parameters,
for example, different temperatures 300K, 400K, 500K, against each data file.

In this case, you can use `omb combo` command to generate a series of input files for you.

```bash
# prepare fake data files
mkdir -p tmp/
touch tmp/1.data tmp/2.data tmp/3.data

# prepare a lammps input file template
cat > tmp/in.lmp.tmp < tmp/run.sh.tmp < tmp/lammps_header.sh <