• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 數據中心/云端

    使用 QUELO-G 和 CUDA 圖進行量子力學增強型藥物研發

    在藥物研發中,人們經常使用基于所謂經典力場的方法,并認為這些方法很有用。然而,人們也廣泛認識到,力場模型中缺少一些重要的物理特性,導致應用受限。

    例如,在比較兩種具有不同形式電荷的分子時,力場模型無法提供準確的預測,因為模型中未考慮蛋白質極化。此外,由于缺乏形成和打破化學鍵的能力,這些模型不適用于共價藥物分子。

    許多人一致認為,基于量子力學 (管理微觀世界的基本物理學) 的模擬是解決這些問題的方法,但量子力學模擬被認為過于昂貴和耗時,不實用。

    QSimulate 近期宣布推出 QUELO-G 平臺,該平臺能夠實現基于量子力學的自由能微擾(FEP)模擬,并實現出色的吞吐量。每個 GPU 卡每天的吞吐量超過 100 納秒,因此這些模擬可以在幾小時內完成。基于量子力學的模擬的直接應用將改變計算機輔助藥物研發,特別是在識別新的藥物分子方面。

    本文將介紹 QSimulate 如何通過開發創新算法來應對挑戰,并將其應用到利用 NVIDIA 提供的最新 GPU 硬件的軟件中,例如 NVIDIA A100NVIDIA H100。這些緊密優化的軟件利用了最近在 NVIDIA Omniverse 中提供的一些功能,包括 CUDA 工具包 中的條件圖節點和 CUDA 圖,這是在 版本 12.3 中引入,并在 版本 12.4 中進一步完善。

    量子力學的吞吐量挑戰

    藥物研發模擬的一個重要方面是,每個能量和力評估都必須在幾毫秒內完成。這一要求源于這樣一個事實,即由于蛋白質是靈活的,并且隨著時間的推移會改變其形狀,因此有必要通過分子動力學 (MD) 模擬在多個納秒內對熱力學集合進行采樣,以準確預測特性。例如,藥物分子與蛋白質標的結合親和力。

    如果目標是實現每天 100 納秒的動力學吞吐量(標準時間步長為 2 飛秒),則每個時間步長必須在不到 2 毫秒的墻面時間內完成。經典力場模擬已被證明能夠實現此吞吐量。例如,請參閱以下相關文章:GROMACSNAMD 等經典力場模擬軟件的相關文章。

    通常認為,即使使用現代 NVIDIA GPU 硬件,也很難甚至不可能將量子力學模擬加速到毫秒級步進機制。這也是 GPU 上大多數現有量子力學模擬實現專注于加速大型計算(例如 集群計算大規模密度泛函理論計算),通常從幾小時到幾分鐘不等,或者從幾天到幾小時不等。如需了解詳情,請參閱 GPU 加速的量子化學和分子動力學 會議。

    雖然這些模型有用,但并不能直接用于藥物研發的自由能計算,因為吞吐量降低了幾個數量級。從技術角度講,量子力學的吞吐量挑戰源于量子力學本質上是一個優化問題,必須以迭代方式解決大量參數。

    這勢必會引入復雜的控制邏輯并限制并發程度。單純地實施量子力學的復雜邏輯會導致設備到主機的頻繁通信,從而降低 GPU 的利用率。

    QUELO-G 通過將 CUDA 圖形與緊密結合的量子力學方法相結合,克服了使用 GFN-xTB混合量子力學/分子力學 (QM/MM) 方案 時所面臨的挑戰。

    使用 CUDA 圖形和條件節點的技術解決方案

    作為迭代量子力學算法的示例,請考慮 Krylov 子空間算法。該方法通過構建一個由試驗向量組成的子空間來迭代求解,其中新的試驗向量是從上一次迭代的最佳解生成的。該過程會進行迭代,直到滿足收標準。圖 1 顯示了算法的原理圖表示。

    Two side-by-side flow charts comparing the standard and CUDA Graph-based algorithms.
    圖 1. 使用 CPU 上的控制代碼在 GPU 上實現迭代求解器的標準方法 (左),與使用條件圖形節點功能的基于 CUDA 圖形的方法 (右) 相比

    實現此算法的標準方法是讓主機負責循環和條件分支,同時將所有其他部分卸載到設備。試驗向量 (以及子空間) 可以保留在設備內存中。但是,殘差誤差是標量值,需要在主機上執行的控制邏輯的每次迭代中從設備傳輸到主機。

    即使是標量變量,設備到主機通信的延遲也絕非可以忽略不計。由于底層算法的結構,這種情況會反復發生,因此在推動實現毫秒級每步吞吐量的同時,它對基于量子力學的動力學模擬的整體性能具有重要意義。

    QUELO-G 中的軟件實現使用最近在 CUDA Graphs (自 CUDA 12.3 起) 中引入的條件圖節點。使用此功能,量子力學算法中的整個迭代過程可以映射到 CUDA Graphs,在其中在設備中執行循環和條件分支 (圖 2)。這消除了在每次迭代中從設備到主機通信標量的需求。這種方法不僅可以顯著提高性能,而且由于更好的抽象化,還簡化了代碼結構。

    CUDA Graph for quantum mechanics optimization.
    圖 2.CUDA Graph 表示 QUELO-G 中用于量子力學波函數優化的算法。每列都對應于條件節點的主體

    此外,通過使用 CUDA Graphs 提取代碼,該軟件將自動受益于針對現有 NVIDIA A100 和 NVIDIA H100 GPU 以及未來 NVIDIA GPU 的 CUDA Graphs 運行時的進一步開發和優化。

    基于量子力學的自由能微擾模擬性能

    通過采用上述實施策略,可以實現每天超過 100 納秒的 QM/MM 動態吞吐量。由于 QSimulate 的生產平臺旨在出于商業原因最大限度地降低每次模擬的成本,通常在 GPU 上執行七個并發動力學模擬,以充分發揮 多實例 GPU (MIG) 的優勢。圖 3 編譯了在 A100 和 H100 GPU 上測量的蛋白質配體系統 (由單元細胞中大約 25 K 個經典原子組成) 的吞吐量。

    在 A100 中,由 74 個原子 (一種典型的小分子藥物) 組成的量子力學區域的 QM/MM MD 模擬吞吐量已超過每天 100 納秒。使用一個 H100 時,QM/MM MD 和 FEP 的吞吐量分別為 120 和 90 納秒。當量子力學區域由 200 個原子組成時,A100 和 H100 之間的速度加快了50%以上。請注意,未來的創新和軟件優化可以進一步改善這些時間。

    NVIDIA A100 GPU acceleration of QM/MM FEP simulations against those on a CPU core.
    NVIDIA H100 GPU acceleration of QM/MM FEP simulations against those on a CPU core.
    圖 3.在 NVIDIA A100 和 H100 GPU 上測量的 QM/MM MD (綠色) 和 FEP (藍色) 模擬的吞吐量。使用 MIG 執行七個并發動力學模擬

    我們將這些結果與之前由 QSimulate 團隊與 NVIDIA Omniverse 合作開發的優化 CPU 實現進行比較,即 RIKEN 的 Sugita 小組。圖 4 顯示了結果。圖 4 中的四列對應圖 3 中的四個量子力學區域。值得注意的是,CPU 和 GPU 實現中的基礎算法相同,包括截止、值和參數。由于 CPU 代碼與 GPU 實現緊密優化,因此圖 4 表示不同硬件架構之間的合理比較。

    CPU 計時基準測試使用 Intel Xeon 8375C (Ice Lake) 的四個 CPU 核心進行測量,并為簡便起見,將結果轉換為一個 CPU 核心的結果。請注意,與此計時基準測試一樣,QSimulate 的面向 CPU 硬件的生產平臺使用四個 CPU 核心,主要原因是難以將 CPU 模擬擴展到更多線程和 CPU 核心。

    GPU acceleration of QM/MM FEP simulations against those on a CPU core.
    圖 4.與 CPU 內核上的 QM/MM FEP 模擬相比,QM/MM FEP 模擬的 GPU 加速

    即使是由 74 個量子力學原子組成的最小量子力學區域,我們也可以觀察到,對于 A100 和 H100 卡,GPU 卡和 CPU 核心上的吞吐量比分別約為 140 和 170.隨著量子力學區域的擴大,該比率變得更加顯著。對于 200 個量子力學原子,使用 H100 卡的吞吐量等于使用 265 個 CPU 核心的吞吐量。

    AI 時代的模擬

    隨著 AI 正在改變社會,基于物理的模擬比以往任何時候都更加重要。復雜工作流程(如藥物研發中的工作流程)的數字化轉型需要通過準確的模擬方法快速可靠地評估 AI 預測,然后再向 AI 模型提供更多數據。本文總結了 QSimulate 的進步(在毫秒級時間分步機制中首次基于量子力學的模擬),展示了 QSimulate 的領域知識和軟件工程如何與 NVIDIA 硬件和軟件結合使用,包括最新的 CUDA 工具包 和軟件堆棧,以幫助實現下一個數字發現范式的飛躍。

    欲了解更多信息并開始使用 GPU 加速的量子力學模擬進行藥物研發,請訪問 QUELO-G 產品頁面,獲取詳細信息。

    ?

    0

    標簽

    人人超碰97caoporen国产