cpus
The cpus directive defines the number of CPUs required by each task execution. For example:
process blast {
cpus 8
script:
"""
blastp -query input_sequence -num_threads ${task.cpus}
"""
}
This directive is required for tasks that execute multi-process or multi-threaded commands/tools and it is meant to reserve enough CPUs when a pipeline task is executed through a cluster resource manager.
See also: disk, memory, time, queue, dynamic task resources