Mahesh Binzer-Panchal
08/12/2026, 3:58 PMprocess.accelerator (docs.seqera.io/nextflow/reference/process#…) should be set by.
Does every module that checks task.accelerator have to have the process_gpu label? Not all currently do ( which means they default to cpu - why not default to gpu? )
Should pipelines need to set process.accelerator? The -profile gpu sets task.accelerator = 1 but I guess this should be overridden by an actual map that assigns type and request.
It would make sense that institutional configs set this - but if they support multiple types, how exactly should this be supplied by the user?
Is a user expected to override settings with a custom config with process selectors and set the accelerator?
process {
withName: 'GPU_PROCESS_ONE' {
accelerator = [ type: 'h100', request: 4 ]
}
withName: 'GPU_PROCESS_TWO' {
accelerator = [ type: 'l40s', request: 1 ]
}
}
and then if they're using an executor that doesn't directly support the directive, should the institute config add it to say process.clusterOptions via the cluster directives e.g. slurm -> grus
Is it turned off for a particular module in the same way
process {
withName: 'GPU_PROCESS_ONE' {
accelerator = null
}
}
and if so, what's the use of ext.use_gpu now?
And if overriding generally, I guess they should first override withLabel: 'process_gpu' and then use withName?pontus
08/13/2026, 9:35 AMpontus
08/13/2026, 9:38 AMModules detect whether a GPU has been requested with task.accelerator. A module never sets the accelerator directive itself; the pipeline controls GPU allocation by setting accelerator = 1 in its process config (for example, via a process_gpu label or a withName block).which I read as clear indication that the pipeline should make sure
accelerator is set, but it may do so however it chooses.pontus
08/13/2026, 9:42 AMMahesh Binzer-Panchal
08/14/2026, 1:43 PMFamke Bäuerle
08/17/2026, 7:56 AMMahesh Binzer-Panchal
08/17/2026, 8:42 AMFamke Bäuerle
08/17/2026, 8:43 AMMahesh Binzer-Panchal
08/17/2026, 8:47 AMaccelerator directive does nothing by itself unless it's one of those four executors. However, having it set allows other executors to use it to determine if they should enable their GPU settings.Famke Bäuerle
08/17/2026, 8:47 AMpontus
08/17/2026, 8:47 AMaccelerator=4 whereas using the slurm executor in a cluster with the same GPUs available would have it run without.Mahesh Binzer-Panchal
08/17/2026, 8:48 AMFamke Bäuerle
08/17/2026, 8:48 AMMahesh Binzer-Panchal
08/17/2026, 8:52 AMtask.accelerator is set by the pipeline ( either through -profile gpu or --enable_tool ). Generally at this point, only the task.accelerator.request is set, and then it's down to the cluster to set the task.accelerator.type and redirect it to the correct queue.Mahesh Binzer-Panchal
08/17/2026, 8:55 AMtask.accelerator rather than those other conditionals.Famke Bäuerle
08/17/2026, 8:56 AMMahesh Binzer-Panchal
08/17/2026, 8:56 AMpontus
08/17/2026, 8:57 AMMahesh Binzer-Panchal
08/17/2026, 8:57 AMFamke Bäuerle
08/17/2026, 8:58 AM