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

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

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

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

許可要求

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

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

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

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

在日志文件中運(yùn)行 FDTD GPU 引擎時(shí)

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

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

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

模擬要求

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

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

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

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

腳本訪問(wèn)/自動(dòng)化

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,不會(huì)驗(yàn)證“GPU 設(shè)備”的值。默認(rèn)值為“自動(dòng)”。用戶需要設(shè)置一個(gè)整數(shù)值。

當(dāng)前限制

FDTD 求解器

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

來(lái)源

模式源/端口:

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

總場(chǎng)散射場(chǎng) (TFSF) 來(lái)源:

  • 不支持 TFSF 源。

顯示器

時(shí)間監(jiān)視器:

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

頻域監(jiān)視器:

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

其他

圖層構(gòu)建器

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