> This page is for OpenFold3, version 1.2.0.
> For other versions, use one of these documentation indexes:
> - 1.6.0 (Latest) (default): https://docs.nvidia.com/nim/bionemo/openfold3/1.6.0/llms.txt
> - 1.5.0: https://docs.nvidia.com/nim/bionemo/openfold3/1.5.0/llms.txt
> - 1.4.0: https://docs.nvidia.com/nim/bionemo/openfold3/1.4.0/llms.txt
> - 1.3.0: https://docs.nvidia.com/nim/bionemo/openfold3/1.3.0/llms.txt
> - 1.2.0: https://docs.nvidia.com/nim/bionemo/openfold3/1.2.0/llms.txt
> - 1.1.0: https://docs.nvidia.com/nim/bionemo/openfold3/1.1.0/llms.txt
> - 1.0.0: https://docs.nvidia.com/nim/bionemo/openfold3/1.0.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nim/bionemo/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nim/bionemo/_mcp/server.

# Prerequisites: NVIDIA Driver, CUDA, Docker, and NVIDIA Container Toolkit Installation for amd64 / x86_64 Systems

## Introduction

If your compute host uses `amd64` or `x86_64` CPU architecture, follow the steps below to install the tools below based on the requirements described in the [Prerequisites](/nim/bionemo/openfold3/1.2.0/prerequisites).
Ensure you have the following:
 - NVIDIA Driver
 - CUDA
 - Docker
 - NVIDIA Container Toolkit

## Installation Steps

1. Find and download installation package for driver 580+

   a. On your **local machine** (with browser), visit the [NVIDIA Drivers download page](https://www.nvidia.com/en-us/drivers), and observe the fields in the 'Manual Driver Search' dialogue box.

   b. Enter your system information:
      - For systems with x86_64 (amd64) CPU architecture, Ubuntu 24.04, and datacenter GPUs H100, H200, A100, L40S

   |                          |                                      |
   |--------------------------|--------------------------------------|
   | Product Category         |  Data Center / Tesla                 |
   | Product Series           |      H-Series, A-Series, or L-Series |
   | Product                  |      H100, H200, A100                |
   | OS                       | Linux 64-bit Ubuntu 24.04            |
   | CUDA Toolkit Version     |          13.0                        |
   | Language                 | English (US)                         |

      - For systems with x86_64 (amd64) CPU architecture, Ubuntu 24.04, and the datacenter GPU B200

   |                        |                             |
   |------------------------|-----------------------------|
   | Product Category       |  Data Center / Tesla        |
   | Product Series         |      HGX-Series             |
   | Product                |      HGX B200               |
   | OS                     | Linux 64-bit Ubuntu 24.04   |
   | CUDA Toolkit Version   |          13.0               |
   | Language               | English (US)                |

   c. Click **Find** to find driver version 580 or higher

   d. On the results page, **click** **View**

   e. On the next page, **right-click** the **Download** button and select **Copy Link Address**

   f. If **Linux 64-bit Ubuntu 24.04** was selected, the link will look like
      ```
      https://us.download.nvidia.com/tesla/580.105.08/nvidia-driver-local-repo-ubuntu2404-580.105.08_1.0-1_amd64.deb
      ```
      but if **Linux 64-bit** was selected, the link will appear like
      ```
      https://us.download.nvidia.com/tesla/580.105.08/NVIDIA-Linux-x86_64-580.105.08.run
      ```

<Note>
Some distributions like Ubuntu, Debian, or RHEL, have distribution specific packages, indicated with extensions `.deb`, `.deb`, and `.rpm` respectively.  For other distributions, use the `.run` installer.
</Note>

2. Direct driver URLs for common configurations:

   **For Ubuntu 24.04 (Noble):**
   ```bash
   # Driver 580.105.08 for H100/H200/B200/A100/L40S on an x86_64(amd64) system
   https://us.download.nvidia.com/tesla/580.105.08/nvidia-driver-local-repo-ubuntu2404-580.105.08_1.0-1_amd64.deb
   ```

   **For Ubuntu 22.04 (Jammy):**
   ```bash
   # Driver 580.105.08 for H100/H200/B200/A100/L40S on an x86_64(amd64) system
   https://us.download.nvidia.com/tesla/580.105.08/nvidia-driver-local-repo-ubuntu2204-580.105.08_1.0-1_amd64.deb
   ```

   **For RHEL 8/Rocky Linux 8:**
   ```bash
   # Driver 580.105.08 for H100/H200/B200/A100/L40S
   https://us.download.nvidia.com/tesla/580.105.08/nvidia-driver-local-repo-rhel8-580.105.08-1.0-1.x86_64.rpm
   ```

<Warning>
Always check the [NVIDIA Driver Downloads](https://www.nvidia.com/Download/index.aspx) page for the latest driver version compatible with your GPU and OS.
</Warning>

<Note>
The following commands use the `$OS_VERSION` environment variable set in step 1 to automatically use the correct OS version for your system. This ensures commands are copy-pastable regardless of your Ubuntu version.
</Note>

3. (Optional but recommended) Check current driver and purge old drivers if needed:

```bash
# Check current driver version
nvidia-smi --query-gpu=driver_version --format=csv,noheader 2>/dev/null || echo "No driver installed"

# If you have an older driver (< 580), purge it to prevent conflicts
sudo apt-get remove --purge nvidia-* -y
sudo apt-get autoremove -y
```

<Warning>
This step prevents driver library version conflicts. If you have an existing NVIDIA driver older than version 580, we recommend purging it before installing the new driver.
</Warning>

4. Use `wget` to download the driver on your remote machine:

```bash
# Download driver using OS_VERSION environment variable
# For Ubuntu (automatically uses correct version: 2204, 2404, etc.)
wget https://us.download.nvidia.com/tesla/580.105.08/nvidia-driver-local-repo-ubuntu${OS_VERSION}-580.105.08_1.0-1_${CPU_ARCH}.deb
```

<Note>
The `${OS_VERSION}` variable holds your OS version (e.g., `2204` for Ubuntu 22.04, `2404` for Ubuntu 24.04), and the `${CPU_ARCH}` holds your CPU architecture, making this command copy-pastable across Ubuntu versions.
</Note>

5. Install the local repository using `dpkg` (for Ubuntu/Debian):

```bash
sudo dpkg -i nvidia-driver-local-repo-ubuntu${OS_VERSION}-580.105.08_1.0-1_${CPU_ARCH}.deb
```

For **RHEL/CentOS/Rocky Linux**:
```bash
sudo rpm -i nvidia-driver-local-repo-rhel8-580.105.08-1.0-1.${CPU_ARCH}.rpm
```

6. Update package lists and install the driver:

For **Ubuntu/Debian**:
```bash
# Copy the GPG key (automatically uses correct OS version)
sudo cp /var/nvidia-driver-local-repo-ubuntu${OS_VERSION}-580.105.08/nvidia-driver-local-*-keyring.gpg /usr/share/keyrings/

# Update package cache
sudo apt-get update

# Install the driver
sudo apt-get install -y cuda-drivers
```

For **RHEL/CentOS/Rocky Linux**:
```bash
# Update package cache
sudo dnf clean all
sudo dnf makecache

# Install the driver
sudo dnf install -y cuda-drivers
```

7. After installation, reboot to load the new driver:

```bash
sudo reboot
```

8. After reboot, verify the driver is installed correctly:

```bash
nvidia-smi
```

You should see output showing your GPU(s) and driver version 580 or higher with CUDA version 13.0 or higher.

Example expected output:

```
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 580.105.08    Driver Version: 580.105.08    CUDA Version: 13.0   |
|-------------------------------+----------------------+----------------------+
| 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  | 00001E:00:00.0  Off |                    0  |
| N/A   30C    P0    68W / 350W |      0MiB / 81559MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+
```

## Docker Installation

Verify that docker is installed with version >=23.0.1 with the command below.

```bash
docker --version
# Example output:
# Docker version 29.1.3, build f52814d
```

If docker is not installed, or is installed but the version does not meet requirements, use the instructions linked below to do the installation.

- We've tested the docker installation, on a Ubuntu system, per the instructions at
[Install using the apt repository](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository).

- Docker installation for other Linux distributions is described at
[docs.docker.com/engine/install](https://docs.docker.com/engine/install/)

## NVIDIA Container Toolkit Installation

Verify that the NVIDIA Container Toolkit is installed, and meets the minimum version
requirement, with the command below.

```bash
nvidia-container-cli --version
```
If the NVIDIA Container Toolkit is not installed, or does not meet the minimum
version requirement, you must install it.

To install and configure the NVIDIA Container Toolkit

1.  Follow the instructions at [Installing the NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-the-nvidia-container-toolkit).
    - We have tested the workflow at [With apt: Ubuntu, Debian](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#with-apt-ubuntu-debian), you can omit the option for
`experimental packages`.

2. Configure the NVIDIA Container Toolkit using the instructions at [configuring-docker](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#configuring-docker).

## Verifying the NVIDIA Driver, Docker, and NVIDIA Container Toolkit Stack

Verify your NVIDIA Driver, docker, and NVIDIA Container Toolkit configuration by running the command below sourced from [running-a-sample-workload-with-docker](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html#running-a-sample-workload-with-docker).

```bash
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
```

>Example output:
```bash
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.07    Driver Version: 580.82.07    CUDA Version: 13.0     |
|-------------------------------+----------------------+----------------------+
| 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 GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| 41%   30C    P8     1W / 260W |   2244MiB / 11264MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+
```

<Note>
For more information on enumerating multi-GPU systems, refer to the NVIDIA Container Toolkit’s [GPU Enumeration  Docs](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html?highlight=enumerate#gpu-enumeration)
</Note>