hi guys, I'm trying to speed up my pipeline. I see...
# nostupidquestions
b
hi guys, I'm trying to speed up my pipeline. I see its currently running just one BWA alignment job at a time... which I think is due to this: withLabel:process_high { cpus = { 12 * task.attempt } memory = { 72.GB * task.attempt } time = { 16.h * task.attempt } } my server only has 128gb of ram so it can't run 2 jobs within those criteria... is there a way to specifically modify BWAmem2 alignment to hard code the mem and cpus and if I do that would it parallelize automatically? like if I set in my config something like this : process { withName: 'BWAMEM2_MEM' { cpus = 30 memory = 40.GB } } will that launch 3 jobs assuming I have 90 threads available?
✅ 1
ok nevermind.. I just tried it and it worked
🙌 1
kinda tough to find the right process name but it worked out int he end
n
Yes, it's exactly like that!
t
Pro tip: I would do
memory = { 40.GB * task.attempt }
, because if you have
process.maxRetries
set to anything >0 (I think the default is at least
1
), it won't kill the pipeline if the process actually need needs more RAM. (A retried process will run alone, but that's better than not at all.) Also, make sure that 30 CPUs are actually (significantly) faster than 12 -- often the overhead of managing many threads leads to diminished returns or even a performance penalty. What exactly happens depends on multiple factors, so testing on your system is the only way to be sure.
👍 1