# Running NVIDIA Parabricks on Google Cloud Batch fails, can't see GPUs

**URL:** <https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486>\
**Category:** Ask for help\
**Tags:** nextflow, google-cloud\
**Created:** [December 10, 2025, 3:49pm UTC](https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486 "2025-12-10T15:49:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ross\_Thomson](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/ross_thomson/32/2198_2.png) [@Ross\_Thomson](https://community.seqera.io/u/Ross_Thomson)\
**Post date:** [December 10, 2025, 3:49pm UTC](https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486/1 "2025-12-10T15:49:49Z")

</div>

I am trying to run the [NVIDIA Parabricks example](https://docs.nvidia.com/clara/parabricks/latest/tutorials/cloudguides/gcp.html) on Google Cloud Batch. It appears that Parabricks container is not seeing the GPUs. If anyone has succeeded at this, I’d welcome some help!

The error is:

> [Parabricks Options Error]: Could not find accessible GPUs. Please make sure the container options enable GPUs  
> [Parabricks Options Error]: Run with -h to see help

My config file:

> process.executor = ‘google-batch’
> 
> process.container = ‘[nvcr.io/nvidia/cuda:12.4.1-base-ubuntu22.04](http://nvcr.io/nvidia/cuda:12.4.1-base-ubuntu22.04)’
> 
> process.machineType = ‘c2-standard-4’
> 
> workDir = ‘gs://mybucket\_jrt/nextflow\_work’
> 
> docker.enabled = true
> 
> docker.runOptions = ‘–gpus all’
> 
> google.batch.bootDiskSize = ‘300 GB’
> 
> google.batch.installGpuDrivers = true

My script:

> process RUN\_PB {
> 
> ```
> // Specify the Parabricks container image
> 
> ```
> 
> container ‘[nvcr.io/nvidia/clara/clara-parabricks:4.6.0-1](http://nvcr.io/nvidia/clara/clara-parabricks:4.6.0-1)’
> 
> machineType ‘a2-highgpu-2g’
> 
> ```
> accelerator 2, type: 'nvidia-tesla-a100'
> 
> ```
> 
> // Define hardware requirements (optional, depending on executor)
> 
> label ‘parabricks’
> 
> ```
> output: 
> 
> ```
> 
> path “fq2bam\_output.bam”
> 
> path “deepvariant.vcf”
> 
> ```
> script:
> 
> ```
> 
> “”"
> 
> ```
> apt-get install -y -q wget
> 
> wget -q -O parabricks_sample.tar.gz \\
> 
> "https://s3.amazonaws.com/parabricks.sample/parabricks_sample.tar.gz"
> 
> tar xvf parabricks_sample.tar.gz
> 
> cd parabricks_sample
> 
> pbrun germline \\
> 
> --ref Ref/Homo_sapiens_assembly38.fasta \\
> 
> --in-fq Data/sample_1.fq.gz Data/sample_2.fq.gz \\
> 
> --knownSites Ref/Homo_sapiens_assembly38.known_indels.vcf.gz.tbi \\
> 
> --out-bam output.bam \\
> 
> --out-variants germline.vcf \\
> 
> --out-recal-file recal.txt 
> 
> ```
> 
> “”"
> 
> }

---

<div class="post-metadata">

**Author:** ![yinshiyi](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/yinshiyi/32/1091_2.png) [@yinshiyi](https://community.seqera.io/u/yinshiyi)\
**Post date:** [December 21, 2025, 7:00am UTC](https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486/2 "2025-12-21T07:00:32Z")

</div>

Not sure if you got any help yet, but happy to get connected to help debug this together.

I only have a free trial GCP account, not sure if I can run a2-highgpu-2g

Do you think the problem is more likely on parabrick or on nextflow config?

---

<div class="post-metadata">

**Author:** ![Ross\_Thomson](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/ross_thomson/32/2198_2.png) [@Ross\_Thomson](https://community.seqera.io/u/Ross_Thomson)\
**Post date:** [January 7, 2026, 2:15pm UTC](https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486/3 "2026-01-07T14:15:50Z")

</div>

Thanks for responding!

I think the issue is a result of the Parabricks container configuration. I have connected with a Nextflow expert at NVIDIA. I’ll ask if they have had any success with the effort and let you know.

Thanks!

---

<div class="post-metadata">

**Author:** ![fselker](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/fselker/32/2215_2.png) [@fselker](https://community.seqera.io/u/fselker)\
**Post date:** [January 9, 2026, 4:45pm UTC](https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486/4 "2026-01-09T16:45:28Z")

</div>

Hi, I just ran into the same problem, so I would be interested if you find a solution.

In the meantime, using an older version of the parabricks container (4.5.0-1) worked for me without changing anything in the nextflow config.

And more generally, I noticed that there seems to be a problem with containers in nextflow processes not finding the GPU when using containers based on newer CUDA versions (\>=12.8) and google batch, even though the installed driver (580.105.08) should be able to support them.

---

<div class="post-metadata">

**Author:** ![fselker](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/fselker/32/2215_2.png) [@fselker](https://community.seqera.io/u/fselker)\
**Post date:** [January 21, 2026, 11:14am UTC](https://community.seqera.io/t/running-nvidia-parabricks-on-google-cloud-batch-fails-cant-see-gpus/2486/5 "2026-01-21T11:14:07Z")

</div>

I found a solution and got the latest version to work by following this documentation:

> **[Configure containers to consume GPUs - Running instances with GPU accelerators...](https://docs.cloud.google.com/container-optimized-os/docs/how-to/run-gpus#configure_containers_to_consume_gpus)**
>
> This page describes how to use NVIDIA graphics processing unit (GPU) hardware accelerators on Container-Optimized OS virtual machine (VM) instances.

In my understanding, CUDA containers stopped shipping their libs and utils within the container and instead rely on their availability from the host system.  
Usually, this is managed by the nvidia-docker-toolkit. But Batch VMs use container-optimized-OS which does not use this toolkit. So, containers within this OS need to be exposed to system libs manually.  
After telling the container where to find them via  
`runOptions =`  
`‘–volume /var/lib/nvidia/lib64:/usr/local/nvidia/lib64 `  
`–volume /var/lib/nvidia/bin:/usr/local/nvidia/bin `  
`–volume /usr/local/cuda-12.9/lib64:/usr/local/cuda-12.9/lib64 `  
`–device /dev/nvidia0:/dev/nvidia0 `  
`–device /dev/nvidia-uvm:/dev/nvidia-uvm `  
`–device /dev/nvidiactl:/dev/nvidiactl’`  
and reading these paths within the script  
`export PATH=“$PATH:/usr/local/nvidia/bin”`  
`export LD_LIBRARY_PATH=“$LD_LIBRARY_PATH:/usr/local/nvidia/lib64”`  
parabricks works as expected.
