Skip to content

A VS Code extension to manage and monitor SLURM cluster jobs – view active jobs, browse history, cancel jobs, and submit new workloads directly from your editor.

License

Notifications You must be signed in to change notification settings

dhimitriosduka1/sCode

Repository files navigation

SLURM Cluster Manager

Manage, monitor, and submit SLURM jobs directly from VS Code.

SLURM Cluster Manager brings your HPC workflow into your editor: monitor jobs in real time, inspect logs instantly, and take common actions (cancel/hold/pin) without context-switching to a terminal.

Extension Icon


✨ Highlights

  • Live job monitoring in a dedicated sidebar (Running / Pending / Held)
  • Visual progress bars for time usage (Elapsed / Time Limit)
  • Resource overview (CPUs, memory, nodes)
  • GPU stats via nvidia-smi (when available)
  • One-click actions: cancel, hold, pin
  • Job history for recent completed/failed/cancelled jobs
  • Instant log access for stdout / stderr

🚀 Features

Active Job Management

  • Real-time Monitoring: View all active jobs at a glance (Running, Pending, Held).
  • Time Awareness: Smart progress bars show elapsed vs. requested wall time.
  • Resource Stats: Display allocated CPUs, memory, and node count for each job.
  • GPU Visibility: Uses nvidia-smi to surface GPU utilization and memory usage where supported.
  • One-Click Actions: Cancel, hold, or pin jobs directly from the UI.

Job History & Logs

  • Integrated History: Browse recent completed, failed, and cancelled jobs (default: last 7 days).
  • Instant Log Access: Right-click any job (active or historical) to open its stdout / stderr.
  • Smart Path Resolution: Automatically resolves log locations from sbatch directives and scontrol metadata.

Workflow Integrations

  • Pinning: Keep critical long-running jobs visible even while filtering or sorting.
  • Search & Filter: Quickly find jobs by name.

⚙️ Configuration

Configure the extension via VS Code Settings (Cmd+, on macOS / Ctrl+, on Windows/Linux):

Setting Default Description
autoRefreshInterval 30 Refresh frequency (in seconds). Range: 5s → 1h
autoRefreshEnabled false Auto-start refreshing on window load
confirmCancelJob true Ask for confirmation before cancelling a job

Tip: If you monitor many jobs, increasing autoRefreshInterval reduces SLURM command load.


✅ Requirements

This extension must run on a machine with direct access to SLURM commands.
In practice, that means you should install it only on the cluster side (e.g., a login node / head node / SLURM-accessible node — whichever your site provides), not on your local computer.

Required commands:

  • squeue
  • scontrol
  • sacct
  • sbatch
  • scancel

Important: No Remote Connection (Yet)

At the moment, the extension cannot connect to a remote cluster by itself. It does not SSH into a server, tunnel commands, or forward SLURM calls.

Supported setup: Run VS Code on the SLURM-accessible node (or use VS Code Remote - SSH to open a remote VS Code session on that node) and install the extension on the Remote target.

🚧 Remote connection support is work-in-progress (WIP) and will be added in a future release.


🤝 Contributing

Contributions are welcome — bug fixes, documentation improvements, and feature requests.

If you’re opening a PR, please include:

  • A short description of the change and why it helps
  • Screenshots/GIFs for UI updates (when applicable)

📄 License

MIT — see LICENSE.


If this extension helps you, consider giving it a ⭐ on GitHub!

Made with ❤️ by Dhimitrios Duka with Google Antigravity

About

A VS Code extension to manage and monitor SLURM cluster jobs – view active jobs, browse history, cancel jobs, and submit new workloads directly from your editor.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published