Gary Burnett
09/18/2024, 2:30 PMSateesh_Peri
10/07/2024, 5:12 AMMaxime Garcia
10/07/2024, 7:42 AMSateesh_Peri
10/08/2024, 2:55 PMg4dn.12xlarge 48Core 192GB instance
• my run command:
pbrun fq2bam_meth --low-memory \
--ref /reference-genomes/hg38_with_spikeins/hg38_with_spikeins.fa \
--in-fq /raw-data/21_R1_001.fastq.gz /raw-data/21_R2_001.fastq.gz \
--out-bam /gputmp/out.bam \
--tmp-dir /gputmp \
--gpusort \
--gpuwrite
• now it starts of well and all the 4 GPUs are utilized nicely but, after a while the GPU utilization drops to 0 and looks like there is some minimal constant CPU usage
• The stderr part of the log also seems to be stuck at the following pool:
[PB Info 2024-Oct-08 14:02:08] # 100 15 100 100 0 0 pool: 5 76093418204 bases/GPU/minute: 0.0
[PB Info 2024-Oct-08 14:02:18] # 100 15 100 100 0 0 pool: 5 76093418204 bases/GPU/minute: 0.0
[PB Info 2024-Oct-08 14:02:28] # 100 15 100 100 0 0 pool: 5 76093418204 bases/GPU/minute: 0.0
[PB Info 2024-Oct-08 14:02:38] # 100 15 100 100 0 0 pool: 5 76093418204 bases/GPU/minute: 0.0
I even tried the --align-only mode but, still same issue. It seems to be stuck at this state for 3+ hrs now. Is this normal ? Will it complete eventually or something wrong with the tool/algorithm ?
Would appreciate any insights here 🙏Sateesh_Peri
10/16/2024, 7:33 AMSateesh_Peri
10/19/2024, 12:48 PMSateesh_Peri
10/25/2024, 11:32 AM[Parabricks Options Mesg]: Checking argument compatibility
[Parabricks Options Mesg]: Automatically generating ID prefix
[Parabricks Options Mesg]: Read group created for /home/ubuntu/nf-modules/.nf-test/tests/37c84f77c462e64864e9f897f5d7958
6/work/stage-0263a36d-abba-4028-9020-189edeaaf67c/0e/c0c18db2598c8f93a571f41429c776/test.methylated_1.fastq.gz
[Parabricks Options Mesg]: @RG\tID:1_MT192765.1.1\tLB:lib1\tPL:bar\tSM:test\tPU:1_MT192765.1.1
[PB Info 2024-Oct-25 11:15:28] ------------------------------------------------------------------------------
[PB Info 2024-Oct-25 11:15:28] || Parabricks accelerated Genomics Pipeline ||
[PB Info 2024-Oct-25 11:15:28] || Version 4.3.2-1 ||
[PB Info 2024-Oct-25 11:15:28] || GPU-PBBWA mem, Sorting Phase-I ||
[PB Info 2024-Oct-25 11:15:28] ------------------------------------------------------------------------------
[PB Info 2024-Oct-25 11:15:28] Mode = single-ended-gpu
[PB Info 2024-Oct-25 11:15:28] Running with 1 GPU(s), using 4 stream(s) per device with 16 worker threads per GPU
[PB Error 2024-Oct-25 11:15:28][-unknown-:0] Received signal: 11
For technical support visit <https://docs.nvidia.com/clara/index.html#parabricks>, exiting.
For technical support visit <https://docs.nvidia.com/clara/index.html#parabricks>
Exiting...
Please visit <https://docs.nvidia.com/clara/#parabricks> for detailed documentationEugenio Franzoso
11/11/2024, 10:42 AMnf-core modules create parabricks/haplotypecaller --migrate-pytest
I keep getting this error:
FileNotFoundError: [Errno 2] No such file or directory: 'modules/nf-core/parabricks/haplotypecaller_old/environment.yml'
Any idea why? I am using the latest versions of nf-core tools, nextflow and nf-test.Famke Bäuerle
11/12/2024, 12:40 PM│ [PB Info 2024-Nov-12 12:38:19] Checking if the index file exists for the input compressed │
│ file:/home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf54 │
│ 9c6df43e24f04d/dbsnp_146.hg38.vcf.gz for better performance │
│ [PB Warning 2024-Nov-12 12:38:19][src/PBLocalFile.cpp:54] Could not find index file │
│ /home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf549c6df │
│ 43e24f04d/dbsnp_146.hg38.vcf.gz.tbi │
│ [PB Warning 2024-Nov-12 12:38:19][src/PBLocalFile.cpp:54] Could not find index file │
│ /home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf549c6df │
│ 43e24f04d/dbsnp_146.hg38.vcf.tbi │
│ [PB Warning 2024-Nov-12 12:38:19][src/PBLocalFile.cpp:54] Could not find index file │
│ /home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf549c6df │
│ 43e24f04d/dbsnp_146.hg38.vcf.gz.csi │
│ [PB Warning 2024-Nov-12 12:38:19][src/PBLocalFile.cpp:54] Could not find index file │
│ /home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf549c6df │
│ 43e24f04d/dbsnp_146.hg38.vcf.csi │
│ [PB Warning 2024-Nov-12 12:38:19][src/PBLocalFile.cpp:54] Could not find index file │
│ /home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf549c6df │
│ 43e24f04d/dbsnp_146.hg38.vcf.gz.tbi │
│ [PB Error 2024-Nov-12 12:38:19][src/dbsnp_vcf.cpp:223] Cannot open file │
│ "/home/ubuntu/modules/.nf-test/tests/f6910383a92212b3689aeb11b1d6c493/work/stage-b7e018ed-73a8-4eef-8c47-d5cde5ac77c4/fd/0f4ae853e6eabf549c6d │
│ f43e24f04d/dbsnp_146.hg38.vcf.gz"No such file or directory, exiting.
seems like parabricks only looks for the files in the stage dir 😞 the files are available in the work dir but not in the stage. Any idea what I can do to fix that?Rike Hanssen
11/12/2024, 2:20 PMRike Hanssen
11/12/2024, 2:20 PMFamke Bäuerle
11/14/2024, 12:58 PMFamke Bäuerle
11/15/2024, 1:43 PMFamke Bäuerle
11/18/2024, 10:23 AMgpu label to keep track of PRs that relate to GPUFamke Bäuerle
12/17/2024, 10:11 AMFamke Bäuerle
01/16/2025, 2:06 PMbgzip within the parabricks containers. Reason: deepvariant only outputs non-zipped vcf files which tend to be larger than needed.Famke Bäuerle
02/11/2025, 3:04 PM--htvc-low-memoy flag cuda always exits with 255 out of memory ([PB Error 2025-Feb-11 145730][src/likehood_test.cu:1011] cudaSafeCall() failed: out of memory, exiting.)
The question is: Is this a haplotypecaller problem or is there something wrong with my setup?
Running nvidia-smi yields:
Tue Feb 11 16:01:41 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA H100 PCIe Off | 00000000:21:00.0 Off | 0 |
| N/A 66C P0 295W / 310W | 79788MiB / 81559MiB | 100% Default |
| | | Disabled |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA H100 PCIe Off | 00000000:A1:00.0 Off | 0 |
| N/A 36C P0 77W / 310W | 463MiB / 81559MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 226463 C /usr/local/envs/colabfold/bin/python 1652MiB |
| 0 N/A N/A 3269196 C ...rm/miniconda3/envs/scGPT/bin/python 75420MiB |
| 1 N/A N/A 226463 C /usr/local/envs/colabfold/bin/python 454MiB |
+---------------------------------------------------------------------------------------+Famke Bäuerle
02/20/2025, 9:10 AMemanuela iovino
05/09/2025, 8:36 AMpbrun deepvariant_germline (or collectmultiplemetrics) directly via SLURM, it completes just fine.
But when I run it through Nextflow, using the same input data, container, and resource parameters, I randomly get OOM errors. Some samples succeed, others fail — and I can’t spot any pattern in input size or content.
My setup
- Nextflow: 24.10.5
- Parabricks container: clara-parabricks_4.2.1-1.sif (via Apptainer/Singularity with --nv)
- SLURM cluster node: 2× NVIDIA A100 80GB GPUs, 32 CPUs, ~80 GB RAM
I don’t have access to --gres, but I can confirm the GPU is visible and used in the container (via nvidia-smi)
*-*Process resource definition (in nextflow.config):
process {
executor = 'slurm'
errorStrategy = "terminate"
cleanup = false
cache = 'lenient'
stageInMode = 'copy'
stageOutMode = 'rsync'
environment = [
TMPDIR: "${params.tmp_dir}",
NXF_TEMP: "${params.tmp_dir}",
APPTAINER_TMPDIR: "${params.tmp_dir}",
NXF_SCRATCH: "${params.tmp_dir}"
]
withLabel: use_gpu {
executor = 'slurm'
containerOptions = params.use_gpu ? "--nv" : ""
}
withName: RUN_PARABRICS {
label = 'use_gpu'
cpus = 28
memory = '74G'
containerOptions = '--nv --bind /shared -W /shared/work/tmp'
clusterOptions = { "--account ${params.account_name} --partition=${params.slurm_config.gpu_partition}" }
container = 'clara-parabricks_4.2.1-1.sif'
scratch = true
stageInMode = 'copy'
stageOutMode = 'rsync'
}
}
And this this the command in <http://main.nf|main.nf>
process RUN_PARABRICS {
label 'use_gpu'
containerOptions = '--nv'
scratch true
publishDir "results/$sample_name", mode: "copy"
input:
tuple val(sample_name), val(fastq_file_path)
output:
tuple val(sample_name), path("${sample_name}.cram"), emit: cram
tuple val(sample_name), path("${sample_name}.cram.crai"), emit: crai
tuple val(sample_name), path("${sample_name}.g.vcf.gz"), emit: gvcf
tuple val(sample_name), path("${sample_name}.g.vcf.gz.tbi"), emit: gvcf_idx
tuple val(sample_name), path("${sample_name}.metrics.csv"), emit: metrics
script:
if (params.fastq_pattern == 'single')
"""
pbrun deepvariant_germline \
--ref ${reference_fasta} \
--in-fq ${fastq_file_path}/${sample_name}_R1.fastq.gz \
${fastq_file_path}/${sample_name}_R2.fastq.gz \
"@RG\\tID:${sample_name}\\tLB:lib1\\tPL:ILLUMINA\\tSM:${sample_name}\\tPU:unit1" \
--gpuwrite \
--gpusort \
--num-gpus 1 \
--bwa-cpu-thread-pool 28 \
--gvcf \
--out-variants ${sample_name}.g.vcf.gz \
--out-bam ${sample_name}.cram \
--out-duplicate-metrics ${sample_name}.metrics.csv \
--memory-limit ${params.memory_limit}
"""
else if (params.fastq_pattern == 'lanes')
"""
pbrun deepvariant_germline \
--ref ${reference_fasta} \
--in-fq ${fastq_file_path}/${sample_name}_L001_R1_001.fastq.gz \
${fastq_file_path}/${sample_name}_L001_R2_001.fastq.gz \
"@RG\\tID:${sample_name}_L001\\tLB:lib1\\tPL:ILLUMINA\\tSM:${sample_name}\\tPU:unit1" \
--in-fq ${fastq_file_path}/${sample_name}_L002_R1_001.fastq.gz \
${fastq_file_path}/${sample_name}_L002_R2_001.fastq.gz \
"@RG\\tID:${sample_name}_L002\\tLB:lib2\\tPL:ILLUMINA\\tSM:${sample_name}\\tPU:unit2" \
--in-fq ${fastq_file_path}/${sample_name}_L003_R1_001.fastq.gz \
${fastq_file_path}/${sample_name}_L003_R2_001.fastq.gz \
"@RG\\tID:${sample_name}_L003\\tLB:lib3\\tPL:ILLUMINA\\tSM:${sample_name}\\tPU:unit3" \
--in-fq ${fastq_file_path}/${sample_name}_L004_R1_001.fastq.gz \
${fastq_file_path}/${sample_name}_L004_R2_001.fastq.gz \
"@RG\\tID:${sample_name}_L004\\tLB:lib4\\tPL:ILLUMINA\\tSM:${sample_name}\\tPU:unit4" \
--gpuwrite \
--gpusort \
--num-gpus 1 \
--bwa-cpu-thread-pool 28 \
--gvcf \
--out-variants ${sample_name}.g.vcf.gz \
--out-bam ${sample_name}.cram \
--out-duplicate-metrics ${sample_name}.metrics.csv \
--memory-limit ${params.memory_limit}
"""
else
error "please specify fastq_pattern"
stub:
"""
touch ${sample_name}.cram
touch ${sample_name}.cram.crai
touch ${sample_name}.g.vcf.gz
touch ${sample_name}.g.vcf.gz.tbi
touch ${sample_name}.metrics.csv
"""
}
A SLURM job outside of Nextflow runs fine: max RSS ~68 GB (with following configuration)
#!/bin/bash
#SBATCH --ntasks=28
#SBATCH --mem=74G
#SBATCH --partition=gpu
#SBATCH --error="job-germline-%j_%x.err"
#SBATCH --output="job-germline-%j_%x.out"
apptainer exec --nv clara-parabricks_4.2.1-1.sif \
pbrun deepvariant_germline ...
Same command inside Nextflow: OOM, sometimes using >75 GB RSS, expecially during BQRS steps but also collectmultiplemetrics
Sometimes it runs fine on fews samples, and then crashes on one, even with identical input sizes.
I’ve been struggling with this for quite a while, and even the smallest insight would be incredibly helpful — this SLURM OOM error is turning into a nightmare for me 😩 because I just can’t understand or get a handle on what’s causing it.
I’m wondering if anyone can help me to figure out
how Nextflow+Apptainer handle memory or task allocation differ from plain SLURM in a way that explains this?
Is there any recommended config for running Parabricks tools in Nextflow on GPU clusters like mine?
This has been a bit of a rabbit hole and I’d really appreciate any help, tips, or even guesses from folks who’ve run Parabricks in similar setups. Thanks a lot in advance!Famke Bäuerle
07/25/2025, 11:00 AM--low-memory for 16GB or 38GB (https://docs.nvidia.com/clara/parabricks/latest/tutorials/fq2bam_tutorial.html). Background: my cluster for example has 24GB GPU RAM and I would like to use that all but I need to add --low-memory to fq2bam otherwise the process always fails.Famke Bäuerle
09/16/2025, 1:41 PM------------------------------------------------------------------------------------------
Version Information
------------------------------------------------------------------------------------------
Tool: fq2bam
pbrun: 4.5.1-1
------------------------------------------------------------------------------------------
Compatible With:
BWA mem: 0.7.15
Picard: 2.18.25
------------------------------------------------------------------------------------------
I would vote to add the pbrun version but also the compatible with versions to the verions.yml string. What do the other parabricks users think?Eduard Casas
10/21/2025, 4:05 PMEduard Casas
10/22/2025, 5:55 PMEduard Casas
12/02/2025, 6:59 PMEduard Casas
12/11/2025, 3:38 PMÖmer An
01/09/2026, 1:56 AMMaxime Garcia
01/12/2026, 11:56 AMVictor
02/27/2026, 8:16 AMEduard Casas
03/16/2026, 3:37 PMGary Burnett
10/22/2026, 3:03 PM