slurm-viewer


Nameslurm-viewer JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryView a SLURM cluster and inspect nodes and jobs.
upload_time2024-11-14 14:03:03
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords xnat tui
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Slurm Viewer

![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fgitlab.com%2Flkeb%2Fslurm_viewer%2F-%2Fraw%2Fmain%2Fpyproject.toml)
![Gitlab Pipeline Status](https://img.shields.io/gitlab/pipeline-status/lkeb%2Fslurm_viewer)
![PyPI - License](https://img.shields.io/pypi/l/slurm-viewer)
![PyPI - Status](https://img.shields.io/pypi/status/slurm-viewer)
![PyPI - Version](https://img.shields.io/pypi/v/slurm-viewer)
![PyPI - Format](https://img.shields.io/pypi/format/slurm-viewer)
![Pepy Total Downloads](https://img.shields.io/pepy/dt/slurm-viewer)




## Introduction

View the status of a SLURM cluster, including nodes and queue. This application can be run on the cluster itself or any
computer that can ssh into the cluster. Using it via a ssh connection, especially using a jump host can be slow.

Features:
- Overview of all nodes or just nodes in a set of partitions.
- Limit to nodes with GPUs / available GPUs.
- Show the running jobs on a selection of partitions and the jobs waiting to be scheduled.
- Show the GPU memory used over the last 4 weeks.

View the nodes in the selected partitions.
![Slurmviewer Nodes](https://gitlab.com/lkeb/slurm_viewer/-/raw/main/slurmviewer_nodes.svg "Nodes")
View the queue of running and pending jobs.
![Slurmviewer Queue](https://gitlab.com/lkeb/slurm_viewer/-/raw/main/slurmviewer_queue.svg "Queue")
View the GPU utilization and memory usage
![Slurmviewer SPU](https://gitlab.com/lkeb/slurm_viewer/-/raw/main/slurmviewer_gpu.svg "GPU")

## Installation

```bash
pip install slurm-viewer
```

## Usage

Run `slurm-viewer-init` to create a default settings file stored in `~/.config/slurm-viewer/settings.toml`.
Edit this to reflect your setup. Once you have finished run `slurm-viewer` to start the UI.

## Settings

The config files consist of several sections. You can add multiple slurm clusters.

```toml
[ui]
node_columns = ["node_name", "state", "gpu_tot", "gpu_alloc", "gpu_avail", "gpu_type", "gpu_mem", "cpu_tot", "cpu_alloc", "cpu_avail", "mem_tot", "mem_alloc", "mem_avail", "cpu_gpu", "mem_gpu", "cpuload", "partitions", "active_features"]
queue_columns = ["user", "job_id", "reason", "exec_host", "start_delay", "run_time", "time_limit", "command"]
priority_columns = ["user_name", "job_id", "job_priority_n", "age_n", "fair_share_n", "partition_name"]

[[clusters]]
name = "cluster_1"
partitions = ["cpu", "gpu"]
node_name_ignore_prefix = ["node"]
servers = ["cluster_1_logon_node_1", "cluster_1_logon_node_2"]

[[clusters]]
name = "cluster_2"
partitions = ["cpu-short", "cpu-medium", "cpu-long", "gpu-short", "gpu-medium", "gpu-long"]
server = "cluster_2.logon.node"

```

If you need to connect using a jumphost/gateway use the `~/.ssh/config` to setup the connections and use the `Host` name as
the server.

Example of a ssh config:

```
Host gateway_1
  User my_user_name
  HostName gateway.somewhere
  
Host cluster_1
  User my_user_name
  HostName logonnode.somewhere
  ProxyCommand ssh -W %h:%p gateway_1
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "slurm-viewer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "XNAT, TUI",
    "author": null,
    "author_email": "Patrick de Koning <pjhdekoning@lumc.nl>",
    "download_url": null,
    "platform": null,
    "description": "# Slurm Viewer\r\n\r\n![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fgitlab.com%2Flkeb%2Fslurm_viewer%2F-%2Fraw%2Fmain%2Fpyproject.toml)\r\n![Gitlab Pipeline Status](https://img.shields.io/gitlab/pipeline-status/lkeb%2Fslurm_viewer)\r\n![PyPI - License](https://img.shields.io/pypi/l/slurm-viewer)\r\n![PyPI - Status](https://img.shields.io/pypi/status/slurm-viewer)\r\n![PyPI - Version](https://img.shields.io/pypi/v/slurm-viewer)\r\n![PyPI - Format](https://img.shields.io/pypi/format/slurm-viewer)\r\n![Pepy Total Downloads](https://img.shields.io/pepy/dt/slurm-viewer)\r\n\r\n\r\n\r\n\r\n## Introduction\r\n\r\nView the status of a SLURM cluster, including nodes and queue. This application can be run on the cluster itself or any\r\ncomputer that can ssh into the cluster. Using it via a ssh connection, especially using a jump host can be slow.\r\n\r\nFeatures:\r\n- Overview of all nodes or just nodes in a set of partitions.\r\n- Limit to nodes with GPUs / available GPUs.\r\n- Show the running jobs on a selection of partitions and the jobs waiting to be scheduled.\r\n- Show the GPU memory used over the last 4 weeks.\r\n\r\nView the nodes in the selected partitions.\r\n![Slurmviewer Nodes](https://gitlab.com/lkeb/slurm_viewer/-/raw/main/slurmviewer_nodes.svg \"Nodes\")\r\nView the queue of running and pending jobs.\r\n![Slurmviewer Queue](https://gitlab.com/lkeb/slurm_viewer/-/raw/main/slurmviewer_queue.svg \"Queue\")\r\nView the GPU utilization and memory usage\r\n![Slurmviewer SPU](https://gitlab.com/lkeb/slurm_viewer/-/raw/main/slurmviewer_gpu.svg \"GPU\")\r\n\r\n## Installation\r\n\r\n```bash\r\npip install slurm-viewer\r\n```\r\n\r\n## Usage\r\n\r\nRun `slurm-viewer-init` to create a default settings file stored in `~/.config/slurm-viewer/settings.toml`.\r\nEdit this to reflect your setup. Once you have finished run `slurm-viewer` to start the UI.\r\n\r\n## Settings\r\n\r\nThe config files consist of several sections. You can add multiple slurm clusters.\r\n\r\n```toml\r\n[ui]\r\nnode_columns = [\"node_name\", \"state\", \"gpu_tot\", \"gpu_alloc\", \"gpu_avail\", \"gpu_type\", \"gpu_mem\", \"cpu_tot\", \"cpu_alloc\", \"cpu_avail\", \"mem_tot\", \"mem_alloc\", \"mem_avail\", \"cpu_gpu\", \"mem_gpu\", \"cpuload\", \"partitions\", \"active_features\"]\r\nqueue_columns = [\"user\", \"job_id\", \"reason\", \"exec_host\", \"start_delay\", \"run_time\", \"time_limit\", \"command\"]\r\npriority_columns = [\"user_name\", \"job_id\", \"job_priority_n\", \"age_n\", \"fair_share_n\", \"partition_name\"]\r\n\r\n[[clusters]]\r\nname = \"cluster_1\"\r\npartitions = [\"cpu\", \"gpu\"]\r\nnode_name_ignore_prefix = [\"node\"]\r\nservers = [\"cluster_1_logon_node_1\", \"cluster_1_logon_node_2\"]\r\n\r\n[[clusters]]\r\nname = \"cluster_2\"\r\npartitions = [\"cpu-short\", \"cpu-medium\", \"cpu-long\", \"gpu-short\", \"gpu-medium\", \"gpu-long\"]\r\nserver = \"cluster_2.logon.node\"\r\n\r\n```\r\n\r\nIf you need to connect using a jumphost/gateway use the `~/.ssh/config` to setup the connections and use the `Host` name as\r\nthe server.\r\n\r\nExample of a ssh config:\r\n\r\n```\r\nHost gateway_1\r\n  User my_user_name\r\n  HostName gateway.somewhere\r\n  \r\nHost cluster_1\r\n  User my_user_name\r\n  HostName logonnode.somewhere\r\n  ProxyCommand ssh -W %h:%p gateway_1\r\n```\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "View a SLURM cluster and inspect nodes and jobs.",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://gitlab.com/lkeb/slurm_viewer"
    },
    "split_keywords": [
        "xnat",
        " tui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e6624831a5801bfc35ffc89dc73508a4fda3cc5c78a9147d05727154d3c4c01",
                "md5": "a4675b62baaff0e42cea18bf86919a49",
                "sha256": "bf49f9decf23e0dd7f6edee2fcac899ab49cb1a9aec8de178bd998ccfaed3b84"
            },
            "downloads": -1,
            "filename": "slurm_viewer-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a4675b62baaff0e42cea18bf86919a49",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 35674,
            "upload_time": "2024-11-14T14:03:03",
            "upload_time_iso_8601": "2024-11-14T14:03:03.441209Z",
            "url": "https://files.pythonhosted.org/packages/8e/66/24831a5801bfc35ffc89dc73508a4fda3cc5c78a9147d05727154d3c4c01/slurm_viewer-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-14 14:03:03",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "lkeb",
    "gitlab_project": "slurm_viewer",
    "lcname": "slurm-viewer"
}
        
Elapsed time: 1.02273s