> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.latch.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# Using GPU Accelerators

Latch supports using Nextflow [accelerators](https://www.nextflow.io/docs/latest/reference/process.html#accelerator) to allow processes to leverage GPU compute.

## Usage

Modify your Nextflow process code to include the accelerator type.

```nextflow theme={null}
process {
    accelerator 4, type : "nvidia-v100"
}
```

The above examples will request 4 GPUs of type `nvidia-v100` (See the full GitHub repository [here](https://github.com/latchbio-nfcore/methylseq/blob/0cc4f84668575491cb06ced2bf099cfc07fad2db/modules/nf-core/AriocP/align/main.nf#L2)).

## Caveats

GPU enabled nodes have very strictly constrained compute parameters. As a result, specifying an accelerator will <strong>override any `cpu/memory` settings</strong>, with overridden values changing depending on the chosen accelerator.

## Supported Accelerators

Latch supports the following accelerator types:

1. `nvidia-t4`: This allows a process to use an Nvidia T4 GPU for compute. A process specifying `type: 'nvidia-t4'` can use only 1 GPU. Choosing `nvidia-t4` will override and set `cpu: 7` and `memory: "30Gi"`.
2. `nvidia-a10g`: This allows a process to use an Nvidia A10G GPU for compute. A process specifying `type: 'nvidia-a10g'` can use only 1 GPU. Choosing `nvidia-a10g` will override and set `cpu: 64` and `memory: "256Gi"`.
3. `nvidia-v100`: This allows a process to use an Nvidia V100 GPU for compute. A process specifying `type: 'nvidia-v100'` can choose between 1, 4, or 8 GPUs. Choosing `nvidia-v100` will override and set resources differently depending on the number of GPUs specified:
   * Choosing 1 GPU will override and set `cpu: 7` and `memory: "48Gi"`,
   * Choosing 4 GPUs will override and set `cpu: 30` and `memory: "230Gi"`, and
   * Choosing 8 GPUs will override and set `cpu: 62` and `memory: "400Gi"`.
