
Slurm Dashboard (Enhanced)
A dashboard for interacting with the Slurm workload manager in VSCode. It allows
you to see running jobs, cancel jobs, submit new jobs, and more.
Note: This is an enhanced version of the original Slurm Dashboard by Daniel Nichols, featuring enhanced GPU monitoring, job templates, resource filtering, and improved user interface. The original work is licensed under Apache License 2.0.
Enhanced Features
This enhanced version adds:
- Enhanced GPU Monitoring: Accurate GPU allocation tracking and display
- Job Script Templates: Create new job scripts from customizable templates
- Resource Filtering: Filter nodes by name patterns
- Nested Job Display: Better organization with user information in nested views
- Time Tracking: Display elapsed time and walltime for jobs
- Template Management: Add, edit, and manage job script templates

Features
There are two main views in this extension: Job Queue and Job Scripts. The first
view is a list of all current user jobs in the queue. Actions are provided for
canceling, resubmitting, and inspecting the jobs. The second view shows all
detected job scripts and provides actions for inspecting and/or running them.
These views are shown in the highlight below.

Requirements
This extension requires Slurm to be on the system where the workspace is
located. Currently it only works with Slurm, but PBS, BSUB, and Flux support is
planned.
Extension Settings
This extension contributes the following settings:
slurm-dashboard.job-dashboard.showJobInfo
: Show all job metadata in the
job list. Default: false
slurm-dashboard.job-dashboard.promptBeforeCancel
: Prompt user before
canceling a job. Default: true
slurm-dashboard.job-dashboard.promptBeforeCancelAll
: Prompt user before
cancelling all jobs. Default: true
slurm-dashboard.job-dashboard.refreshInterval
: How many seconds between
refreshes of the job queue view. Set to null
to turn off auto-refresh.
Default: 300
slurm-dashboard.job-dashboard.extrapolationInterval
: Extrapolate the job
run times in the UI without querying the workload manager. Allows you to set
a high job-dashboard.refreshInterval, but still see more realistic job run
times. This has the danger of coming out of sync with the real times or not
portraying job completion/failure, so it is turned off by default. Provide a
number to specify the interval in seconds or null
to disable
extrapolation. Default: null
slurm-dashboard.job-dashboard.persistJobs
: Keep completed jobs in the job
dashboard until they are removed with the X button. Default: false
slurm-dashboard.job-dashboard.useNativeIcons
: Instead of the job status
icons shipped with the extension, use VSCode native codicons. Default:
false
slurm-dashboard.job-dashboard.sortBy
: Sort the job list by this column.
Set to null
to leave the order returned by the workload manager. Choices:
id
, name
, time left
, status
. Default: null
- [DEPRECATED]
slurm-dashboard.submit-dashboard.jobScriptExtensions
: Use
jobScriptPatterns setting instead. File extensions used to identify job
scripts. Default: [".sbatch", ".slurm", ".job"]
slurm-dashboard.submit-dashboard.jobScriptPatterns
: Glob patterns to
identify job scripts. Default: ["**/*.slurm", "**/*.sbatch", "**/*.job"]
slurm-dashboard.submit-dashboard.promptBeforeSubmitAll
: Prompt user before
submitting all job scripts. Default: true
slurm-dashboard.submit-dashboard.sortBy
: Sort the job script list by this
column. Set to null
to leave the order the glob pattern discovered the
files. Choices: filename
, rel path
, last modified
, newest
, oldest
.
Default: last modified
slurm-dashboard.setJobWorkingDirectoryToScriptDirectory
: Launch job
scripts with the working directory as the location of the job script.
Default: true
slurm-dashboard.backend
: Scheduler backend. Choices: slurm
, debug
.
Default: slurm
slurm-dashboard.slurm-backend.squeueUserArg
: By default --me
is passed
to squeue to get the users jobs. Slurm versions older than 20.02 do not
support --me
. This settings provides a way to fallback to the --user
flag instead. Choices: me
, user
. Default: me
slurm-dashboard.resource-dashboard.refreshInterval
: How many seconds
between refreshing resource data. Set to null
to disable automatic refresh.
Default: 30
slurm-dashboard.resource-dashboard.nodeFilter
: Filter nodes by name patterns.
Empty array shows all nodes. Use glob patterns like ["gpu*", "dgx*"]
to show
only GPU and DGX nodes. Default: []
slurm-dashboard.resource-dashboard.showNodeDetails
: Show detailed resource
information for each node when expanding in the tree view. Default: true
Most notable is the job-dashboard.refreshInterval
setting. The job queue view
refreshes its data at regular intervals. To avoid overloading the login nodes or
the workload manager the refresh interval is set to a high value. By default it
is 300 seconds. This can be changed to the users preference or auto-refresh can
be turned off entirely by setting it to null
.
If you still want to see live job times, you can set
job-dashboard.extrapolationInterval
, which will extrapolate the current job
time based on the last available value from the workload manager. This will make
the UI more informative, but has the danger of coming out of sync with the real
job times and/or not capturing job completion and failure. However, these will
be corrected the next time the jobs are refreshed from the queue. Due to these
reasons extrapolation is turned off by default. An example of what this looks
like when enabled is shown below.

Known Issues
Submitting Issues
Issues can be submitted under the issues tab on
GitHub.
Release Notes
See the Changelog for the entire change history.
0.0.14
- add job error script button to quickly pull up the error output path of a
running job
- update and clean up documentation and ci
- add contributing guidelines
Contributing
This enhanced extension is completely open
source and contributions are
welcome.
See the contributing guidelines for more info.
The original Slurm Dashboard is also open
source by Daniel Nichols.
License
Original Work: Copyright Daniel Nichols 2024
Enhanced Version: Copyright Francesco Ortu 2025
Both the original work and this enhanced version are published under the Apache 2.0 license.
This enhanced version is a derivative work based on the original Slurm Dashboard by Daniel Nichols, and is distributed under the same Apache 2.0 license terms.