Skip to main content

A rich, visual interface for easily starting and monitoring your Hydra applications on SLURM clusters

Project description

Hydra Slurm Rich Launcher

A rich, visual interface for easily starting and monitoring your Hydra applications on SLURM clusters.

  • Ease of Use: Streamline your workflow with a simplified process for submitting jobs to SLURM
  • Rich Visualization: A clear and beautiful visual overview of your jobs
  • Integration: Seamlessly integrates with Hydra-powered CLIs
  • Real-Time Updates: Monitor the status of your jobs in real-time

Installation

The Hydra Slurm Rich Launcher can be installed via pip:

pip install hydra-slurm-rich-launcher --upgrade
Alternative installation methods

Locally

```
git clone git@github.com:creinders/hydra-slurm-rich-launcher.git
cd hydra-slurm-rich-launcher
poetry install
```

Quick Start

Define your configuration in config.yaml:

defaults:
  - override hydra/launcher: slurm_rich
hydra:
  launcher:
    partition: <SLURM_PARTITION>

task: 1

Implement your Hydra app in my_app.py:

import hydra

@hydra.main(config_path=".", config_name="config", version_base="1.3")
def my_app(cfg) -> None:
    print(f"Task: {cfg.task}")

if __name__ == "__main__":
    my_app()

Starting the app with task=1,2,4 will launch three jobs with different configurations:

python my_app.py task=1,2,4 --multirun

example

Please see the Hydra documentation for details regarding the configuration and multi-run.

Scalability

Lots of run? No problem! Hydra Slurm Rich Launcher smartly organizes all of your runs.

Scalability

Restarts

Easily monitor the status of your jobs and swiftly restart any failed runs.

Restarts

Parameters

The Hydra Slurm Rich Launcher has the following parameters.

slurm_query_interval_s: 15 #  Query update interval from SLURM controller
exclude_job_ids: null # Filter specific jobs from the job array that should not be executed. Supports individual IDs (e.g., "1,4,7"), ranges (e.g., "1-5"), or mixed (e.g., "1,3-5,7")
filter_job_ids: null # Like exclude_job_ids, but only runs the jobs in the list.
retry_strategy: 'prompt'  # Defines job retry strategy. 'prompt': will ask the user, 'never': never restarts, and 'always': restarts the runs automatically
max_retries: 3 # Maximum retry attempts
le_mode: 'auto'  # Low energy mode settings. The low energy mode disables all animations and can be turned on if the cpu-usage must be minimized. Values are: 'on', 'off', and 'auto'. 'auto' will turn on the low energy mode if the environment variable HYDRA_SLURM_PROGRESS_LE_MODE is set.

submitit_folder: ${hydra.sweep.dir}/.submitit/%j
timeout_min: 60
cpus_per_task: null
gpus_per_node: null
tasks_per_node: 1
mem_gb: null
nodes: 1
name: ${hydra.job.name}
partition: null
qos: null
comment: null
constraint: null
exclude: null
gres: null
cpus_per_gpu: null
gpus_per_task: null
mem_per_gpu: null
mem_per_cpu: null
account: null
signal_delay_s: 120
max_num_timeout: 0
additional_parameters: {}
array_parallelism: 256
setup: null

License

Hydra Slurm Rich Launcher is licensed under MIT License.

Credits

This package was inspired by and extends the capabilities of the hydra-submitit-launcher. We gratefully acknowledge the developers of hydra-submitit-launcher and Hydra for their contributions to the open-source community.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hydra_slurm_rich_launcher-1.1.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hydra_slurm_rich_launcher-1.1.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file hydra_slurm_rich_launcher-1.1.1.tar.gz.

File metadata

  • Download URL: hydra_slurm_rich_launcher-1.1.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.7 Darwin/24.6.0

File hashes

Hashes for hydra_slurm_rich_launcher-1.1.1.tar.gz
Algorithm Hash digest
SHA256 87529594d1106208b51dc35d97cc6d08c292d59e4154d8e7b5a7d4213efbd7a2
MD5 5bcb6a2ec1c2581e132c69f6e8839761
BLAKE2b-256 ef544bc6860bbf109cdddbb10e12da6073406627ea63559db0a1879c013dc182

See more details on using hashes here.

File details

Details for the file hydra_slurm_rich_launcher-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hydra_slurm_rich_launcher-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0138b70fc3b1b4256592cd43b5cbd082506be5e5ebc84deb1478ac4d63a175e
MD5 43a91b88c6f9f58babcab34b449ac986
BLAKE2b-256 3f8ec6076e5d9047081cd721a02680bf4f47c9476f4b41749316bbc6de6aec18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page