NVIDIA 与 ANSYS 合作开发了一个高性能、可靠和可伸缩的 GPU 加速的 AMG 库。我们将此库称为 AmgX(表示 AMG 加速)。Fluent 使用 AmgX 作为其默认的线性求解器,并会在检测到支持 CUDA 的 GPU 时利用它。 AmgX 甚至可以使用 MPI 来连接服务器集群,以求解需要数十个 GPU 的极大型问题。启用 GPU 加速功能后,可以使用该功能执行有关线性系统(最多含有 5 个耦合方程)的 AMG 计算,而且计算需求随着域中的单元格数量增加而增长。如果问题包含的单元格少于数百万个,则由于与 CPU 双向传递矩阵会产生通信开销,GPU 并不能加速求解此类问题。但是,对于包含数千万和数亿个单元格的网格,由于通信开销与 AMG 求解器中的计算时间相比较小,加速效果会很显著。
耦合求解器从 GPU 中受益最多。在仅限流动的问题中,耦合求解器通常花费大约 60% 到 70% 的时间使用 AMG 来求解线性系统,因此选用 GPU 很合适。分离式求解器仅花费 30% 到 40% 的时间来执行 AMG 计算,这样一来,GPU 可能会因显存传输开销的缘故而显不出优势。默认情况下,GPU 加速自动应用到耦合系统而不应用到标量系统,原因是标量系统的计算开销通常没有耦合系统那么高。但是,如果需要,您可以使用以下文本命令为耦合系统和标量系统启用/禁用 AMG 求解器的 GPGPU 加速功能,以及列出支持的每种方程类型(允许您启用/禁用 GPGPU 加速、在 AMG 和 FGMRES 求解器之间选择和指定不同的求解器选项)。