AlphaFold2 NIM 性能#

AlphaFold2 NIM 已经过调优以提升性能。然而,多序列比对 (MSA) 和结构预测过程仍然需要大量的计算资源。性能还会因以下因素而显著变化:

  • 连接到 NIM 且可供 NIM 使用的 NVIDIA GPU

  • 可供 NIM 使用的 CPU 核心数量

  • 可供 NIM 使用的固态硬盘 (SSD) 的速度

  • 在运行时用于配置 NIM 的参数。

下面,我们将详细介绍一些性能预期并提供一般性建议。这些并非旨在指示预期性能,您系统上的性能将与这些值有所不同。

通用性能指南#

一般来说,用户应预期以下性能

  • A100 以及 >=64 个 CPU 核心和 >=180GB 内存(最佳):最长 3,000 个氨基酸的序列应能成功运行,但 NIM 可能需要数小时才能完成。最快的 MSA 配置。

  • A100 以及 >=32 个 CPU 核心和 >=128GB 内存(良好):速度与最佳配置相似,但 MSA 性能较为有限。每个 MSA 使用较少的运行器和每个 MSA 使用较少的核心(请参阅“序列到 MSA”部分)。

  • L40S 以及 >=32 个 CPU 核心和 >=128GB 内存(良好):与 A100 相比,结构预测速度有所降低。与使用相同数量核心的 A100 GPU 相比,MSA 性能相似。

  • NVIDIA CUDA GPU,具有 >=32GB 显存和 >=12 个 CPU 核心以及 $\geq$64GB 内存(最低配置,体验不佳):短序列将在此配置上运行,但长度超过 600 个氨基酸的序列可能在 MSA 或结构预测中失败。MSA 将非常慢,MSA 运行器的数量应设置为 1(请参阅“序列到 MSA”部分)。

序列到 MSA#

  • MSA 性能很大程度上取决于磁盘速度和 CPU 核心。确保您的 NIM 缓存位于快速 SSD 上,并且您已为 NIM 分配了至少 24 个核心。有关详细信息,请参阅“在运行时配置 NIM”部分。

  • 增加每个 MSA 进程使用的线程数。这可以使用 NIM_PARALLEL_THREADS_PER_MSA 环境变量来完成。有关详细信息,请参阅“在运行时配置 NIM”部分。

  • 增加并发 MSA 进程的数量。这可以使用 NIM_PARALLEL_MSA_RUNNERS 环境变量来完成。有关详细信息,请参阅“在运行时配置 NIM”部分。

短序列的 MSA 运行时可能会有很大差异,但通常运行时与序列长度呈线性关系。对于数据库中有很多命中的序列(即在许多其他蛋白质中观察到基序的序列),无论测序大小如何,MSA 运行时都会显著增加。

一般来说,预计每个查询的 MSA 耗时在一分钟到六小时之间。请注意,这些不是确切的数字,性能会因机器和输入序列的不同而有很大差异。

MSA 到结构和序列到结构#

  • 结构预测性能主要取决于 GPU 性能。如果您发现结构预测成为瓶颈,请考虑使用更强大的 GPU(例如,从 A30 切换到 A100)。

结构预测所需的时间随着序列长度呈指数增长。根据经验,长度是两倍的序列在结构预测阶段将花费至少四倍的时间。

一般来说,预计结构预测组件将花费四分钟到 24 小时。请注意,这些不是确切的数字,性能会因机器和输入序列的不同而有很大差异。