计算机视觉/视频分析

聚焦:Honeywell 借助 NVIDIA cuDSS 加速工业流程仿真

多年来,传统的工业流程建模和仿真方法一直在努力充分利用多核 CPU 或加速设备以并行运行模拟和优化计算。使用在流程建模和仿真中的多核线性求解器没有达到预期的改进,在某些情况下甚至表现不如优化的单核求解器。

NVIDIA cuDSS 是一个优化后的第一代 GPU 加速直接稀疏求解器库,用于解决具有非常稀疏矩阵的线性系统。它使用 CUDA 在 GPU 上并行求解矩阵分解和解,并集成到 Honeywell UniSim 设计 称为 UniSim EO。

Honeywell 拥有一组由 UniSim EO 流程模型应用生成的非对称矩阵。该组包括上游和中游石油和天然气、炼油、精细化工和化学工艺单元的模型。Honeywell 的内部稀疏线性方程求解器 DOTAXB 用作与 cuDSS 的比较基础。计算平台是由 Microsoft Azure 实例提供支持的 NVIDIA A100 Tensor Core GPU

在本文中,我们将分享 NVIDIA cuDSS 求解器如何显著提升 Honeywell 现有的稀疏线性方程式求解器的性能,该求解器曾在以往的测试中优于其他测试对象,包括多核求解器。

使用 Honeywell UniSim Design 进行工业流程仿真

Honeywell Connected Industrial (HCI) 是行业数字化转型的领导者,致力于打造可持续、更安全、更智能的未来。该部门提供工业过程应用软件解决方案 .Honeywell 在其基于方程式的解决方案架构方面进行了重大投资,可以使用由多核 CPU 和 GPU 驱动的硬件平台来加速线性系统解决方案。

他们的流程仿真产品 UniSim Design 是一款基于原理的软件包,用于解决通用流程流程图建模问题。它用于各种 Honeywell 应用程序,包括流程工厂设计、流程运营仿真和优化、流程性能监控、虚拟传感器、数据整合、排放管理、流程数字孪生和操作员训练模拟器 (图 1)。它还用于高级流程控制应用程序支持。

使用模拟进行设计、运营决策支持和高级控制支持的工程师可以利用 UniSim Design 通过新的可持续性单元操作模型和排放计算功能减少其碳足迹。

Diagram of UniSim Design used in Honeywell Performance Solutions, including Honeywell Process Digital Twin, Plant Wide Optimizer, Corrosion Predict Suite, and more.
图 1. NVIDIA cuDSS 已集成到 Honeywell UniSim Design,用于各种 Honeywell 应用程序

UniSim Design 包含一种以方程为中心的建模功能,称为 UniSim EO。该系统使用一种同时解决所有流程模型方程式的方法来高效、可靠地解决庞大的流程模型。然而,大型模型的解决时间可能会限制工程师进行许多设计或运营案例研究的生产力,也可能会限制流程数字孪生解决方案的范围,这些解决方案通常需要频繁执行并在严格的周期内执行。

UniSim EO 使用大规模约束非线性方程组求解器,需要在每次迭代中求解线性方程组。这些方程组的矩阵非常稀疏,具有超过 100 万个非零值,并且在许多情况下,因子化和求解可能会占用多达 90%的总解算时间。因此,加快矩阵求解时间可以显著提高此类模型的性能。

测试用于工业流程仿真的 NVIDIA cuDSS

评估来自 UniSim EO 应用程序生成的大规模稀疏矩阵的线性系统解决方案时间,可以准确指示在非线性方程或优化求解器中使用 NVIDIA 软件和硬件组合时的预期性能提升 .Honeywell 拥有一套工业测试矩阵,即 Jacobian 矩阵J以下形式的线性化过程模型方程:

J(x_k)\delta x_k = -f(x_k)

两种线性求解器进行了比较: NVIDIA cuDSS 和 Honeywell DOTAXB 求解器 .DOTAXB 是一个单核直接稀疏矩阵分解和解决包,包括稀疏 LU 分解、块三角矩阵分解和同步分析和因式分解 (numerical pivoting) 阶段。

三十多年来,DOTAXB 一直是 NOVA 优化求解器的实际标准,该求解器用于工业流程设计优化、实时优化和非线性模型预测控制应用程序。在过去十年中,它还用于 NOVA 非线性方程求解器,用于流程模拟解决方案。DOTAXB 经过高度优化,用于流程流程图建模结构和解决方案。迄今为止,尚未有任何多核稀疏线性代数包在测试案例中超越 DOTAXB 求解器。

Honeywell 拥有一个测试系统,用于读取矩阵数据并执行分析、分解和求解步骤,以获得解决线性方程组的解决方案。测试系统随后会生成每个步骤的解决时间和解决准确率性能数据。

以下是测试环境的硬件和软件基础的详细信息:

  • Windows 10 操作系统
  • CUDA 工具包 12.3
  • NVIDIA DLL:cudss.dll v0.1.0
  • UniSim DLL:dotaxb.dll R500
  • GPU: NVIDIA A100 80 GB PCIe Tensor Core GPU
  • CPU:AMD EPYC 7V13 64 核处理器 (2.44 GHz)
  • Microsoft Azure 服务器
  • 所有测试矩阵均采用缩放和数值零处理,并且在下降容差范围内删除
  • cuDSS 矩阵重排选项CUDSS_ALG_1和旋转类型CUDSS_PIVOT_ROW最适合我们的矩阵

冷启动和热启动的解决方案加速

冷启动是一种不使用前一次因子化信息的解决方案。总解决方案时间是分析、因子化和求解时间的总和。热启动是使用前一次因子化信息来缩短计算时间的解决方案。总解决方案时间为分析和求解时间的总和。加速指标是 DOTAXB 总解决方案时间与 cuDSS 总解决方案时间的比率。

测试结果表明,cuDSS 比 DOTAXB 在所有测试案例中都更快 (表 1 和表 2)。

稀疏求解器性能加速:冷启动
矩阵 n nnz (A) cuDSS (秒) DOTAXB (秒) 加速 (DOTAXB/CUDSS)
lgcmpdis 1136993 76789656 18.29 1421.68 77.7
bsreoncp 809340 10759259 6.77 15.92 2.4
catnaput 91896 558409 0.25 0.25 1.0
cndlckut 54789 468490 0.04 0.14 3.1
cpsbtfrc 360069 4057273 1.98 2.87 1.4
dlhytrut 194406 586646 0.21 0.73 3.6
krhytrut 159260 443687 0.10 0.31 3.2
nphytrut 158361 423116 0.09 0.32 3.5
osothcut 424072 1442526 0.87 2.83 3.3
otdlckut 55241 504224 0.05 0.15 3.2
hpdtcudm 265616 3355299 1.95 5.27 2.7
tsrchcut 605693 1987192 1.32 4.55 3.5
表 1.冷启动稀疏求解器性能结果

除最大测试案例外,cuDSS 的平均加速速度为 3 倍 (冷启动) 和 19 倍 (热启动)。在最大测试案例中,cuDSS 的性能加速速度为 78 倍 (冷启动) 和 200 倍 (热启动),表明 cuDSS 在更大的矩阵上具有卓越的可扩展性和效率,这一结果对于未来的求解器技术尤为重要,并且是一次重大突破。

稀疏求解器性能加速:热启动
矩阵 n nnz (A) cuDSS (秒) DOTAXB (秒) 加速 (DOTAXB/CUDSS)
lgcmpdis 1136993 76789656 5.19 1421.68 274.0
bsreoncp 809340 10759259 0.57 15.92 28.0
catnaput 91896 558409 0.05 0.25 5.2
cndlckut 54789 468490 0.01 0.14 13.5
cpsbtfrc 360069 4057273 0.16 2.87 18.0
dlhytrut 194406 586646 0.04 0.73 19.5
krhytrut 159260 443687 0.03 0.31 12.2
nphytrut 158361 423116 0.03 0.32 12.7
osothcut 424072 1442526 0.12 2.83 23.1
otdlckut 55241 504224 0.01 0.15 14.1
hpdtcudm 265616 3355299 0.16 5.27 33.5
tsrchcut 605693 1987192 0.17 4.55 27.3
表 2.热启动稀疏求解器性能结果

更快的流程模型解决方案的优势

借助 cuDSS 提供的性能改进,可以在合理的时间内解决范围更大的第一性原理模型,从而实现可靠的流程数字孪生执行 .cuDSS 还消除了在应用程序工作流程中包含代理或减少模型开发的需要,从而实现更快的解决方案,从而减少维护问题。

对于设计工程师而言,cuDSS 性能提升有助于更快完成复杂模拟,从而提高工程效率。因此,可以在相同时间范围内考虑更多设计场景。

对于重构模式,在没有分析阶段的情况下进行热启动可显著加快测试矩阵的速度,但在过程建模领域中应该小心使用这一功能,因为取决于初始条件,可能需要在每次迭代中更改梯度序列,而且缺少完整的分解阶段可能会导致不准确的线性系统解。

但是,使用合适的解算器指标可以在合适的时间使用热启动,因此,重构选项可以安全使用,并且可以为 Honeywell 解算器的未来版本提供更多性能提升。

总结

Honeywell 正在努力将 NVIDIA cuDSS 作为 UniSim Design 中非线性方程求解和优化的线性求解器选项完成产品化,包括优化过程模拟领域的求解器配置并评估使用不同的 NVIDIA GPU 和新兴的 NVIDIA 硬件的改进情况。

将 cuDSS 融入 Honeywell 的 UniSim Design 产品将提高其流程仿真用户群的工作效率,为运营决策支持提供大型流程数字孪生,以在执行周期内准确解决问题,并创造更多时间来探索更好的流程设计,从而降低新工业设施的资本成本、运营成本和碳足迹。

下载 NVIDIA cuDSS 并开始探索。

想要了解更多信息?欢迎报名参加 NVIDIA GTC 2024,并参加与 Honeywell 的会议 使用 NVIDIA 的 cuDSS 稀疏线性系统求解器加速流程仿真性能

 

Tags