多年來,傳統的工業流程建模和仿真方法一直在努力充分利用多核 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 通過新的可持續性單元操作模型和排放計算功能減少其碳足跡。

UniSim Design 包含一種以方程為中心的建模功能,稱為 UniSim EO。該系統使用一種同時解決所有流程模型方程式的方法來高效、可靠地解決龐大的流程模型。然而,大型模型的解決時間可能會限制工程師進行許多設計或運營案例研究的生產力,也可能會限制流程數字孿生解決方案的范圍,這些解決方案通常需要頻繁執行并在嚴格的周期內執行。
UniSim EO 使用大規模約束非線性方程組求解器,需要在每次迭代中求解線性方程組。這些方程組的矩陣非常稀疏,具有超過 100 萬個非零值,并且在許多情況下,因子化和求解可能會占用多達 90%的總解算時間。因此,加快矩陣求解時間可以顯著提高此類模型的性能。
測試用于工業流程仿真的 NVIDIA cuDSS
評估來自 UniSim EO 應用程序生成的大規模稀疏矩陣的線性系統解決方案時間,可以準確指示在非線性方程或優化求解器中使用 NVIDIA 軟件和硬件組合時的預期性能提升 .Honeywell 擁有一套工業測試矩陣,即 Jacobian 矩陣以下形式的線性化過程模型方程:
兩種線性求解器進行了比較: 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 |
除最大測試案例外,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 |
更快的流程模型解決方案的優勢
借助 cuDSS 提供的性能改進,可以在合理的時間內解決范圍更大的第一性原理模型,從而實現可靠的流程數字孿生執行 .cuDSS 還消除了在應用程序工作流程中包含代理或減少模型開發的需要,從而實現更快的解決方案,從而減少維護問題。
對于設計工程師而言,cuDSS 性能提升有助于更快完成復雜模擬,從而提高工程效率。因此,可以在相同時間范圍內考慮更多設計場景。
對于重構模式,在沒有分析階段的情況下進行熱啟動可顯著加快測試矩陣的速度,但在過程建模領域中應該小心使用這一功能,因為取決于初始條件,可能需要在每次迭代中更改梯度序列,而且缺少完整的分解階段可能會導致不準確的線性系統解。
但是,使用合適的解算器指標可以在合適的時間使用熱啟動,因此,重構選項可以安全使用,并且可以為 Honeywell 解算器的未來版本提供更多性能提升。
總結
Honeywell 正在努力將 NVIDIA cuDSS 作為 UniSim Design 中非線性方程求解和優化的線性求解器選項完成產品化,包括優化過程模擬領域的求解器配置并評估使用不同的 NVIDIA GPU 和新興的 NVIDIA 硬件的改進情況。
將 cuDSS 融入 Honeywell 的 UniSim Design 產品將提高其流程仿真用戶群的工作效率,為運營決策支持提供大型流程數字孿生,以在執行周期內準確解決問題,并創造更多時間來探索更好的流程設計,從而降低新工業設施的資本成本、運營成本和碳足跡。
下載 NVIDIA cuDSS 并開始探索。
想要了解更多信息?歡迎報名參加 NVIDIA GTC 2024,并參加與 Honeywell 的會議 使用 NVIDIA 的 cuDSS 稀疏線性系統求解器加速流程仿真性能。
?