High-performance computing (HPC) does not have to be hard. In this context the aim of pysqa
is to simplify the submission of calculation to an HPC cluster as easy as starting another subprocess locally. This is achieved based on the assumption that even though modern HPC queuing systems offer a wide range of different configuration options, most users submit the majority of their jobs with very similar parameters.
Therefore, in pysqa
users define submission script templates once and reuse them to submit many different calculations or workflows. These templates are defined in the jinja2 template language, so current submission scripts can be easily extended to templates. In addition to the submission of new jobs to the queuing system pysqa
also allows the users to track the progress of their jobs, delete them or enable reservations using the built-in functionality of the queuing system.
All this functionality is available from both a Python interface as well as a command line interface.
The core feature of pysqa
is the communication to an HPC queuing system (Flux, LFS, MOAB, SGE, SLURM and TORQUE). This includes:
In addition to these core features, pysqa
is continuously extended to support more use cases for a larger group of users. These new features include the support for remote queuing systems:
Finally, there is current work in progress to support a combination of multiple local and remote queuing systems from within pysqa
, which are represented to the user as a single resource.
pysqa
is released under the BSD license https://github.com/pyiron/pysqa/blob/main/LICENSE . It is a spin-off of the pyiron
project https://github.com/pyiron/pyiron therefore if you use pysqa
for calculation which result in a scientific publication, please cite:
@article{pyiron-paper,
title = {pyiron: An integrated development environment for computational materials science},
journal = {Computational Materials Science},
volume = {163},
pages = {24 - 36},
year = {2019},
issn = {0927-0256},
doi = {https://doi.org/10.1016/j.commatsci.2018.07.043},
url = {http://www.sciencedirect.com/science/article/pii/S0927025618304786},
author = {Jan Janssen and Sudarsan Surendralal and Yury Lysogorskiy and Mira Todorova and Tilmann Hickel and Ralf Drautz and Jörg Neugebauer},
keywords = {Modelling workflow, Integrated development environment, Complex simulation protocols},
}