自 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 引擎