先决条件#

docker run -it --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

示例输出

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.78.01    Driver Version: 525.78.01    CUDA Version: 12.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      |
|=============================================================================|
+-----------------------------------------------------------------------------+

注意

有关枚举多 GPU 系统的更多信息,请参阅 NVIDIA Container Toolkit 的GPU 枚举文档

支持的硬件#

AlphaFold2-Multimer NIM 配置为在单个 GPU 上运行。AlphaFold2-Multimer NIM 的最低 GPU 内存要求为 32GB。AlphaFold2-Multimer NIM 应在满足此最低硬件要求且计算能力 ≥ 8.0 的任何 NVIDIA GPU 上运行。AlphaFold2-Multimer NIM 还至少需要 512GB 的可用硬盘空间来存储 NIM 公开的终端节点所需的各种 MSA 数据库。

总而言之,希望成功运行用于短序列/多聚体的 AlphaFold2-Multimer NIM 的用户应拥有以下系统:

  • 一个 NVIDIA GPU,具有 ≥ 32GB VRAM 和计算能力 ≥ 8.0。

  • 至少 64 GB 的 RAM。

  • 一个具有至少 24 个可用内核的 CPU。

  • 至少 512GB 的可用 SSD 硬盘空间。

为了在长序列/多聚体和多个 MSA 数据库上获得最佳性能,我们建议使用以下系统:

  • 至少一个 NVIDIA GPU,具有 80GB RAM(例如 A100 80GB)。

  • 至少 128GB 的 RAM。

  • 一个具有至少 36 个可用内核的 CPU。

  • 至少 512GB 的可用快速 NVMe SSD 硬盘空间。

NGC (NVIDIA GPU Cloud) 帐户#

  1. 在 NGC 上创建帐户.

  2. 生成 API 密钥.

  3. 使用您的 NGC API 密钥登录 Docker:docker login nvcr.io --username='$oauthtoken' --password=${NGC_CLI_API_KEY}

NGC CLI 工具#

  1. 为您的操作系统下载 NGC CLI 工具 <https://org.ngc.nvidia.com/setup/installers/cli>

重要提示

使用 NGC CLI 版本 3.41.1 或更高版本。以下是在 AMD64 Linux 中您的主目录上安装此版本的命令

wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/versions/3.41.3/files/ngccli_linux.zip -O ~/ngccli_linux.zip && \
unzip ~/ngccli_linux.zip -d ~/ngc && \
chmod u+x ~/ngc/ngc-cli/ngc && \
echo "export PATH=\"\$PATH:~/ngc/ngc-cli\"" >> ~/.bash_profile && source ~/.bash_profile
  1. 在本地设置您的 NGC CLI 工具。(您将需要您的 API 密钥!)

ngc config set

注意

输入 API 密钥后,您可能会看到组织和团队的多个选项。根据需要选择或按 Enter 键接受默认值。

  1. 登录到 NGC。

您需要通过 Docker 登录到 NGC 并设置 NGC_API_KEY 环境变量以拉取镜像

docker login nvcr.io
Username: $oauthtoken
Password: <Enter your NGC key here>

然后,在您的 shell 中设置相关的环境变量。您将需要设置 NGC_CLI_API_KEY 变量

export NGC_CLI_API_KEY=<Enter your NGC key here>
  1. 设置您的 NIM(模型)缓存。

NIM 缓存允许您下载模型并存储先前下载的模型,这样您就不需要在稍后再次运行 NIM 时再次下载它们。NIM 缓存必须可供 NIM读取写入,因此除了创建目录外,还需要将此目录的权限设置为全局可读写。NIM 缓存目录可以按如下方式设置

## Create the NIM cache directory.
mkdir -p /home/$USER/.cache/nim

## Set the NIM cache directory permissions to 777.
chmod -R 777 /home/$USER/.cache/nim

## If you hit permissions issues after running the NIM and downloading the model for AlphaFold2,
## set model & database permissions to 777 as well. Required for running the NIM!
sudo chmod -R 777 /home/$USER/.cache/nim/alphafold2-data_v1.1.0

重要提示

如果您在通过运行 NIM 下载模型时遇到问题,例如在“气隙”环境中部署,您可以手动下载 AlphaFold2 模型,使用以下命令:ngc registry model download-version nim/deepmind/alphafold2-data:1.1.0,然后执行 sudo chmod -R 777 /home/$USER/.cache/nim/alphafold2-data_v1.1.0

在本文档中,$LOCAL_NIM_CACHE 环境变量假定使用本地 ~/.cache/nim 目录。您可以将模型缓存路径设置为任何目录。NVIDIA 建议使用高速 SSD 以便快速读取和写入 AF2 模型和数据库。运行 sudo chmod -R 777 $LOCAL_NIM_CACHE 命令以避免 NIM 容器的文件权限问题,无论指定的目录是什么。

现在,您应该能够拉取容器并使用环境变量下载模型。要开始使用,请查看快速入门指南