-
Notifications
You must be signed in to change notification settings - Fork 735
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add GPU-based tests #6953
Add GPU-based tests #6953
Conversation
I love that we can do that. I'm sad because it'll mean I have to redo #6286 |
path: ["${{ fromJson(needs.nf-test-changes.outputs.paths) }}"] | ||
profile: [conda, docker_self_hosted, singularity] | ||
include: | ||
- path: modules/nf-core/parabricks/applybqsr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this trigger tests for these three modules whenever if: ( needs.nf-test-changes.outputs.paths != '[]' )
is true.
Let's touch,
to see how it goes in each case. Cheers! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should enable the GPU container flags a slightly different way.
tests/config/nextflow.config
Outdated
podman.runOptions = "--runtime crun --platform linux/x86_64 --systemd=always" | ||
} else if ("$PROFILE" == "gpu") { | ||
docker.runOptions = '-u $(id -u):$(id -g) --gpus all' | ||
apptainer.runOptions = '--nv' | ||
singularity.runOptions = '--nv' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer this stuff to go in the configuration of the individual tools, so it can function as a reference implementation for users. Adding it here feels too "secret sauce" that will be hard for other people to follow.
Plus we should use process.containerOptions
for process specific stuff.
Or we could add label 'gpu'
to achieve a similar thing.
process {
withLabel "gpu" {
process.containerOptions = "--gpus all"
}
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for label
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we handle the singularity/apptainer option --nv
then?
For reference, the gpu profile worked for the parabricks tests in #6881 |
Co-authored-by: Adam Talbot <[email protected]>
waiting to get again some modules updated on main, to see if they pick up things correctly. |
# Conflicts: # tests/config/nextflow.config
happy for now. need to refine the gpu test selection logic, but good to have it in for now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mashehu Which one is the right gpu profile? 🫠
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what do you mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's two gpu
profiles in this config now
moved the nf-test logic into a separate actions.yml so I can reuse it between for non-gpu and gpu cases. Did some clean-up in the action while at it.