Danielle
07/19/2024, 3:35 PMbbmap.sh \
\
in=3114327_1_val_1.fq.gz in2=3114327_2_val_2.fq.gz \
out=3114327.bam \
trimreaddescriptions=t pigz=t \
threads=6 \
-Xmx0g \
&> 3114327.bbmap.log
and i wondered if/ why thats necessary? i can see at the top of the associated .command.run that the memory reqs for the process (node) are specified already (in my case for an LSF cluster)
#!/bin/bash
#BSUB -o metatdenovo_work/ec/5cca944b88b416f6e19334e805f570/.command.log
#BSUB -q normal
#BSUB -n 6
#BSUB -R "span[hosts=1]"
#BSUB -W 08:00
#BSUB -M 13653Danielle
07/19/2024, 3:39 PMDanielle
07/22/2024, 3:47 PM-Xmx arg, would people be willing to merge it? would it break things for others?Danilo Di Leo
07/24/2024, 1:12 PM-XmX as extra argument to be specified in nextflow.config instead of having it inside the module. it should not be a problem, I think.Danilo Di Leo
07/24/2024, 1:13 PMDaniel Lundin
07/24/2024, 1:32 PM-Xmx*0*g. In the module code we have -Xmx${task.memory.toGiga()}g, meaning that the value given to -Xmx comes from how much memory Nextflow allocates to this particular process. This is done for (almost) all processes, although the details vary between different programs. Adding a memory flag for this particular processes will thus just create problems elsewhere. Default with the profile we use is 36 GiB coming from how process_median is specified. What do you specify as argument(s) to -profile? Did you write your own config file and provide to the Nextflow call? (Please give the full nextflow command you used and/or paste the .nextflow.log file.)Danielle
07/24/2024, 2:28 PMDanielle
07/24/2024, 2:29 PMDanielle
07/24/2024, 2:29 PMDaniel Lundin
07/24/2024, 5:20 PMclusterOptions : https://www.nextflow.io/docs/latest/process.html#clusteroptions as a way of asking for the correct amount of memory, i.e. memory in GiB instead of MiB. You will of course have to calculate this dynamically, but this can be done in a config file you provide. (In your case, this config should probably be in your home directory so that it's always read.) I'm afraid I have little experience with this, but look at the docs and ask any questions at #CE6SDBX2A.Danielle
07/24/2024, 5:26 PMDaniel Lundin
07/24/2024, 5:32 PMDanielle
07/24/2024, 5:39 PMDaniel Lundin
07/24/2024, 5:49 PM-Xmx and controls the behaviour of the program (see under "Memory" here: https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbmap-guide/). If we don't do the latter many programs, BBMap among them, will not know how much memory it can use. Sometimes a default exists and this will be used, sometimes the process might take all memory it sees, which can lead to the queue manager killing the process. The --max_memory parameter you've used to control memory sets a ceiling for the memory allocation to individual processes when you run on a cluster. Clearer?Danielle
07/24/2024, 6:04 PMDanielle
07/24/2024, 6:05 PMDaniel Lundin
07/24/2024, 6:09 PM--max_memory parameter has a slightly different meaning here: this is the amount of memory available to Nextflow for processes. If you set it to 80 GiB it will start two 32 GiB processes in parallel. If you set it to 20 GiB, each 32 GiB process will get its memory requirement reduced to 20 GiB and Nextflow will only start one at a time.Daniel Lundin
07/24/2024, 6:12 PMDaniel Lundin
07/24/2024, 6:25 PMDanielle
07/24/2024, 6:29 PMDanielle
07/24/2024, 6:29 PMDanielle
08/09/2024, 6:09 PMDaniel Lundin
08/09/2024, 6:12 PMDanielle
08/09/2024, 6:37 PM