Une interface utilisateur basée sur le texte (TUI) pour le Slurm Workload Manager, qui fournit un moyen pratique de gérer vos travaux de cluster.
turm
accepte les mêmes options que squeue
(voir l'homme Squeue). Utilisez turm --help
pour obtenir une liste de toutes les options disponibles.
turm
est disponible sur PYPI et Crates.io:
# With pip.
pip install turm
# With pipx.
pipx install turm
# With uv.
uv tool install turm
# With cargo.
cargo install turm
# With wget. Make sure ~/.local/bin is in your $PATH.
wget https://github.com/kabouzeid/turm/releases/latest/download/turm-x86_64-unknown-linux-musl.tar.gz -O - | tar -xz -C ~ /.local/bin/
La page de libération contient également des binaires précompilés pour Linux.
Dans votre .bashrc
, ajoutez la ligne suivante:
eval " $( turm completion bash ) "
Dans votre .zshrc
, ajoutez la ligne suivante:
eval " $( turm completion zsh ) "
Dans votre config.fish
ou dans un fichier completions/turm.fish
séparé, ajoutez la ligne suivante:
turm completion fish | source
turm
obtient des informations sur les travaux en analysant la production de squeue
. La raison en est que squeue
est disponible sur tous les clusters Slurm, et le faire fonctionner périodiquement n'est pas trop cher pour le contrôleur Slurm (en particulier lors du filtrage par l'utilisateur). En revanche, l'API C de Slurm est instable et l'API REST de Slurm n'est pas toujours disponible et peut être coûteux pour le contrôleur Slurm. Un autre avantage est que nous obtenons une prise en charge gratuite pour les mêmes indicateurs de CLI exactement que squeue
, que les utilisateurs connaissent déjà, pour filtrer et tri les travaux.
TL; DR: turm
≈ watch -n2 squeue
+ tail -f slurm-log.out
Des soins spéciaux ont été pris en charge pour s'assurer que turm
est aussi légère que possible en termes d'impact sur le contrôleur Slurm et ses opérations d'E / S de fichier. La file d'attente de travaux est mise à jour toutes les deux secondes en exécutant squeue
. Lorsqu'il existe de nombreux emplois dans la file d'attente, il est conseillé de spécifier un seul utilisateur pour réduire la charge sur le contrôleur Slurm (voir SQUEUE --User). turm
met à jour le fichier journal actuellement affiché sur chaque notification Inotify Modify, et il ne lit les lignes nouvellement annexées après la lecture initiale. Cependant, étant donné que les notifications Inotify ne sont pas prises en charge pour les systèmes de fichiers distants, tels que le NFS, turm
interroge également le fichier pour les deux deux secondes.