Skip to content

Add support of QOS in Slurm batch system#5514

Open
ctriquet-cs wants to merge 3 commits intoDataBiosphere:masterfrom
csgroup-oss:feat/slurm-qos-support
Open

Add support of QOS in Slurm batch system#5514
ctriquet-cs wants to merge 3 commits intoDataBiosphere:masterfrom
csgroup-oss:feat/slurm-qos-support

Conversation

@ctriquet-cs
Copy link
Copy Markdown

This PR implement the resolution of the issue #5513.

Changelog Entry

Reviewer Checklist

  • Make sure it is coming from issues/XXXX-fix-the-thing in the Toil repo, or from an external repo.
    • If it is coming from an external repo, make sure to pull it in for CI with:
      contrib/admin/test-pr otheruser theirbranchname issues/XXXX-fix-the-thing
      
    • If there is no associated issue, create one.
  • Read through the code changes. Make sure that it doesn't have:
    • Addition of trailing whitespace.
    • New variable or member names in camelCase that want to be in snake_case.
    • New functions without type hints.
    • New functions or classes without informative docstrings.
    • Changes to semantics not reflected in the relevant docstrings.
    • New or changed command line options for Toil workflows that are not reflected in docs/running/{cliOptions,cwl,wdl}.rst
    • New features without tests.
  • Comment on the lines of code where problems exist with a review comment. You can shift-click the line numbers in the diff to select multiple lines.
  • Finish the review with an overall description of your opinion.

Merger Checklist

  • Make sure the PR passed tests, including the Gitlab tests, for the most recent commit in its branch.
  • Make sure the PR has been reviewed. If not, review it. If it has been reviewed and any requested changes seem to have been addressed, proceed.
  • Merge with the Github "Squash and merge" feature.
    • If there are multiple authors' commits, add Co-authored-by to give credit to all contributing authors.
  • Copy its recommended changelog entry to the Draft Changelog.
  • Append the issue number in parentheses to the changelog entry.

Copy link
Copy Markdown
Member

@adamnovak adamnovak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like it should work.

The documentation for this uses the phrasing of "sending" a job "to" a QOS. But the documentation at https://slurm.schedmd.com/qos.html says that jobs "request" a QOS. So I think we should say that e.g. --slurmQOS is the "QOS to request for Slurm jobs".

Also the option parsing logic ought to be redone as a reusable piece since we're copy-pasting it a fourth time here, but I don't know if you want to take that on.

Comment thread src/toil/batchSystems/slurm.py Outdated
@ctriquet-cs ctriquet-cs force-pushed the feat/slurm-qos-support branch 2 times, most recently from 3b6a227 to 17c4f3b Compare May 6, 2026 17:32
Comment thread src/toil/batchSystems/slurm.py Outdated
@adamnovak
Copy link
Copy Markdown
Member

I'd apply my suggestion but I don't have edit permission on the PR source branch.

@ctriquet-cs
Copy link
Copy Markdown
Author

Hi @adamnovak, I had missed that occurrence in the help text. I’ll take your suggestion into account.

I'm also testing an update regarding your remark about the code redundancy. More to come...

@ctriquet-cs ctriquet-cs force-pushed the feat/slurm-qos-support branch from 17c4f3b to 35419e2 Compare May 7, 2026 06:49
Copy link
Copy Markdown
Member

@adamnovak adamnovak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me! Thanks!

@adamnovak
Copy link
Copy Markdown
Member

I've pulled this into the issues/5514-slurm-qos-support branch so tests can run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support CPU and GPU-specific QOS options in Slurm batch system

2 participants