Skip to main content

Build Status Coverage Status Docs status PyPI version

aiida-fireworks-scheduler

AiiDA plugin for using fireworks as the execution engine for CalcJobProcess.

The main advantage of using the FwScheduler, as provided in this plugin, compared to the standard AiiDA scheduler plugins is that it allows more flexible job placement. For example, your may be forced to submit very large jobs to the cluster (or simply such jobs goes through the queue faster!), or that the cluster has a strict limit on the number of jobs that can be in the queue. Using FwScheduler, a single allocation of the resources from the scheduler (SGE, PBSpro, SLURM etc.) can be used to run multiple AiiDA CalcJobs in serial or in parallel, depending on the user configuration. In addition, AiiDA jobs can be run along side other workflows in fireworks.

Repository contents

Features

  • FWScheduler scheduler plugin to submit jobs to LaunchPad managed by fireworks.

  • arlaunch command for launching jobs on the cluster machine.

  • verdi data fireworks-scheduler command line tool for duplicating existing Computer/Cold for switching to FwScheduler.

Installation

On the local machine where AiiDA is installed:

pip install aiida-fireworks-scheduler[local]

On the remote machine where jobs to be launched:

pip install aiida-fireworks-scheduler

Usage

Simply create a new computer using verdi computer setup and select the fw scheduler. Configure your fireworks configuration following the guide here.

Note that you must configure the LAUNCHPAD_LOC setting in the file as defined by the FW_CONFIG_FILE environment variable to point to your my_launchpad.yaml file on BOTH the local and remote machines. On the local machine, it will be picked up by the daemon.

In addition, on the remote machine, setup your my_fworker.yaml with special directives for identifying the computer and username. These files can be generated using:

verdi data fireworks-scheduler generate-worker -Y COMPUTER -mpinp NUM_MPI_PROCESSORS

Note that each *worker" can only launch jobs of a particular size (number of MPI processors). But you can always combine multiple workers in one or more cluster jobs.

At runtime, jobs needs to be launched with the arlaunch command on the remote machine.

Adding walltime selectors for standard fireworks jobs

Standard fireworks jobs can also be selected based on the requested walltime using arlaunch. If a job has spec._walltime_seconds key, it will only be selected to run if there is sufficient time left. However, unlike AiiDA jobs, this walltime limit is not enforced, and the launch can proceed even if the requested seconds have elapsed.

Development

git clone https://github.com/zhubonan/aiida-fireworks-scheduler .
cd aiida-fireworks-scheduler
pip install -e .[pre-commit,testing]  # install extra dependencies
pre-commit install  # install pre-commit hooks
pytest -v  # discover and run all tests

See the developer guide for more information.

License

MIT

Contact

zhubonan@outlook.com

Metadata

Release files for aiida-fireworks-scheduler 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiida-fireworks-scheduler 1.0.0
File Size Uploaded
aiida-fireworks-scheduler-1.0.0.tar.gz 18.6 kB Details

Release files / aiida-fireworks-scheduler-1.0.0.tar.gz

Download URL aiida-fireworks-scheduler-1.0.0.tar.gz
Size 18.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5950feb87dfd2497ffc36192d9e360b18ab3054af6066265394704488e181813
BLAKE2b-256 checksum
How to use checksums
34baa5b495fc19f299bf02383ef04c6c7f0785e1cc1643317b29b73945285e76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page