自 2023 R2 版本起,F(xiàn)DTD 支持 GPU 計算。本頁總結(jié)了FDTD GPU求解器的要求和當(dāng)前限制。

要在GPU上運行FDTD模擬,您需要Nvidia CUDA驅(qū)動程序版本450.80.02或更高版本(Linux)和版本452.39或更高版本(Windows)。此外,您的 Nvidia GPU 必須符合以下規(guī)定:

  • GPU 必須提供大于或等于 3.0(開普勒微架構(gòu)或更高版本)的計算能力。
    • 舊設(shè)備的驅(qū)動程序已于 2019 年 <> 月停產(chǎn)。
  • 統(tǒng)一內(nèi)存必須可用且已啟用
    • 始終在臺式機(jī)、筆記本電腦和裸機(jī)服務(wù)器上啟用
    • 通常在通告“GPU 直通”的云實例(包括 AWS EC2 實例)上啟用
    • 其他虛擬環(huán)境服務(wù)提供商應(yīng)查閱 NVidia 虛擬 GPU 軟件用戶指南。
      • 虛擬機(jī)監(jiān)控程序必須配置為提供 GPU 直通(其中物理設(shè)備專用于特定虛擬機(jī))
      • 可能需要為每個特定的 vGPU 啟用統(tǒng)一內(nèi)存。

要監(jiān)控 GPU 使用情況,請使用 NVidia 系統(tǒng)管理命令行實用程序報告的“GPU-Util”值。Windows 用戶應(yīng)注意,Windows 任務(wù)管理器僅報告與圖形相關(guān)的 GPU 利用率。

許可要求

GPU 求解器許可證消耗與 CPU 求解器類似(請參見 Ansys 光學(xué)求解、加速器和 Ansys HPC 許可證消耗)。對于許可證使用情況計算,我們將流式處理多處理器 (SM) 視為 CPU 的核心。例如,對于Ansys標(biāo)準(zhǔn)/商業(yè)許可,每32條SM都需要Lumerical Accelerator(引擎許可證),且不進(jìn)行部分計數(shù)。例如,具有 40 條短信的 GPU 需要兩個許可證才能運行任何作業(yè)。

FDTD 作業(yè)將使用 GPU 中所有可用的 SM,即每個作業(yè)的 SM 數(shù)量不是用戶可配置的。因此,必須有足夠的許可證可用于所有 GPU SM。

對于多個作業(yè),建議串聯(lián)運行它們,而不是并行運行。并行運行所需的許可證數(shù)量與作業(yè)數(shù)量一樣多,但與串行運行所需的時間大致相同。例如,在具有 32 個或更少 SMS 的 GPU 中同時運行兩個作業(yè)需要兩個許可證,但這與僅使用一個許可證在同一臺計算機(jī)上運行一個作業(yè)所需的時間大致相同。

GPU 中的 SM 數(shù)量可以在 NVidia 的文檔、第三方網(wǎng)站上找到,方法是運行 GPU 資源的作業(yè)管理器配置測試(僅限本地主機(jī)),

在日志文件中運行 FDTD GPU 引擎時

start loading CUDA query DLL...
load CUDA query DLL successfully.
GPU streaming multiprocessors(SMs): 16

或在FDTD GPU引擎運行后,F(xiàn)DTD結(jié)果“總GPU短信”

注意:與 CPU 一樣,總內(nèi)存帶寬對于性能比內(nèi)核數(shù)量更重要(請參閱 CPU 上的 FDTD 基準(zhǔn)測試)。

模擬要求

FDTD GPU 求解器只能運行 3D FDTD 模擬?!翱焖倌J健边x項應(yīng)在FDTD對象屬性(高級選項選項卡)中啟用。

GPU 求解器適用于窄帶仿真或使用非色散材料進(jìn)行仿真。
禁用所有動畫監(jiān)視器。

用戶將作業(yè)管理器從“CPU”切換到“GPU”

  • 如果本地計算機(jī)上有多個 GPU,用戶可以在作業(yè)管理器中選擇特定的 GPU。運行引擎時,作業(yè)管理器將配置標(biāo)準(zhǔn)CUDA_VISIBLE_DEVICES環(huán)境變量。
  • 如果遠(yuǎn)程計算機(jī)上有多個 GPU,用戶可以通過為 mpiexec.exe 指定適當(dāng)?shù)摹邦~外命令行選項”來選擇特定的 GPU。例如,要在具有 Microsoft MPI 的遠(yuǎn)程計算機(jī)上選擇 GPU 3,請?zhí)峁╊~外的命令行選項 /env CUDA_VISIBLE_DEVICES 3

腳本訪問/自動化

FDTD 求解器屬性“快速模式”

setnamed("FDTD", "express mode", true);

FDTD 資源管理器:

setresource("FDTD","GPU", true);
setresource("FDTD", 3, "GPU Device", "Auto");
setresource("FDTD", "GPU", false);
setresource("FDTD", "CPU", true); //< equivalent to previous line

為了允許遠(yuǎn)程主機(jī) GPU,不會驗證“GPU 設(shè)備”的值。默認(rèn)值為“自動”。用戶需要設(shè)置一個整數(shù)值。

當(dāng)前限制

FDTD 求解器

僅支持 PML 邊界條件。不支持布洛赫、周期、對稱、反對稱、PEC、PMC 邊界條件。

來源

模式源/端口:

  • 不支持頻率相關(guān)模式配置文件。

總場散射場 (TFSF) 來源:

  • 不支持 TFSF 源。

顯示器

時間監(jiān)視器:

  • 時間監(jiān)視器會限制 GPU 性能。我們建議僅將它們用于調(diào)試和初步模擬。
  • 不支持空間插值。

頻域監(jiān)視器:

  • 不支持部分和總光譜平均
  • 不支持切趾

其他

圖層構(gòu)建器

  • 如果任何層生成器使用受限進(jìn)程文件,則無法使用 FDTD GPU 引擎