在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用NVIDIA cuFFTMp FFT解決具有挑戰性的問題

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-13 09:04 ? 次閱讀

NVIDIA 宣布發布 Early Access ( EA )的 cuFFTMp 。 cuFFTMp 是 cuFFT 的多節點、多進程擴展,使科學家和工程師能夠在 exascale 平臺上解決具有挑戰性的問題。

FFTs ( Fast Fourier Transforms )廣泛應用于分子動力學、信號處理、計算流體力學( CFD )、無線多媒體和機器學習等領域。有了 cuFFTMp , NVIDIA 現在不僅支持單個系統中的多個 GPU ,還支持跨多個節點的多個 GPU 。

圖 1 顯示, cuFFTMp 達到 1.8 PFlop / s 以上,超過該規模轉換峰值機器帶寬的 70% 。

poYBAGJWIe-AP3VhAAG5CUtpEiQ912.png

圖 1 。 Selene cluster 上的 cuFFTMp (弱伸縮)性能

在圖 2 中,問題大小保持不變,但 GPU 的數量從 8 增加到 2048 。可以看到, cuFFTMp 成功地擴展了問題,將單精度時間從 8 GPU ( 1 個節點)的 78ms 提高到 2048 GPU ( 256 個節點)的 4ms 。

poYBAGJWIf-ASC_CAAFeEUM0mnM670.png

圖 2 。 Selene cluster 上的 cuFFTMp (強伸縮)性能

圖 1 和圖 2 在 Selene 集群上運行。 Selene 由 NVIDIA DGXA100 和 NVSwitch ( 300 GB / s / GPU ,雙向)以及 Mellanox Infiniband HDR ( 200 GB / s / node ,雙向)組成,每個節點 8xA100-80GB 。使用 nvcr 提供的 CUDA 11.4 和 NVIDIA HPC SDK 21.9 Docker 容器 進行測試。 io / NVIDIA / nvhpc:21.9-runtime-cuda11 。 4-ubuntu20 。 04.GPU 應用程序時鐘設置為最大值。

性能和可擴展性

由于MPI_Alltoallv類型的全局集體通信,分布式 3D FFT 以通信受限而聞名。MPI_Alltoallv是分布式 FFT 的主要瓶頸,因為與高計算能力相比,節點間帶寬較低,而且all_to_all類型通信的加速器感知 MPI 實現在質量上各不相同。

cuFFTMp 使用 NVSHMEM ,這是一個基于 OpenSHMEM 標準的新通信庫,通過提供內核啟動的通信,為 NVIDIA GPU 設計。 NVSHMEM 創建一個全局地址空間,其中包含集群中所有 GPU 的內存。從 CUDA 內核內部執行通信可以實現細粒度遠程數據訪問,從而降低同步成本,并利用 GPU 中的大規模并行性來隱藏通信開銷。

通過使用 NVSHMEM , cuFFTMp 獨立于 MPI 實現的質量,這是至關重要的,因為不同 MPI 的性能可能會有很大差異。有關更多信息,請參閱 關于高性能系統 FFT 庫基準測試的中期報告。第三章 。

圖 3 顯示,隨著 GPU 的數量增加一倍, cuFFTMp 能夠保持大約 75% 的峰值。

poYBAGJWIhuAbGVaAAF3hRm-CRA788.png

圖 3 。硒原子團上 cuFFTMp 的弱標度,顯示為峰值性能的一小部分

峰值性能是使用 2000 GB / s / GPU 的雙向全局內存帶寬, 300 GB / s / GPU 的雙向 NVLink 帶寬和 25 GB / s / GPU 的 Infiniband 帶寬。

設 N 為 1D 變換大小, G 為 GPU 的個數。每個 GPU 都擁有 N 3/ G 元素(每個元素 8 或 16 字節),模型假設 N 3/ G 元素在全局內存中被讀/寫六次,并且 N 3 G 2元素從每個 GPU 發送一次到其他 GPU 。在 4096 GPU 上,非 InfiniBand 通信所花費的時間不到總時間的 10% 。

MPI 可移植性和多體系結構支持

如前所述, cuFFTMp 的性能不依賴于 MPI 實現。為了便于攜帶, cuFFTMp 要求啟動 MPI ,并管理 CPU 上的數據分發。

目前, TMP 靜態鏈接到 NVSHMEM 。 NVSHMEM 使用一個小型 MPI “引導插件”( NVSHMEM _ bootstrap _ MPI.so ),它是使用 MPI 構建的,并在運行時自動加載。此引導程序針對 HPC SDK 中包含的 OpenMPI 版本。對于依賴于另一個 MPI 實現的用戶應用程序, EA 包包括幫助程序腳本,用于構建針對不同 MPI 的引導程序。

cuFFTMp 同時支持 Linux x86 _ 64 和 IBM POWER 體系結構。您可以下載不同體系結構的 EA 包。圖 4 顯示,在 256 個節點中使用 1536V100 GPU , cuFFTMp 可以達到 50Tflop / s 以上,轉換 40963復雜的數據點,僅占 Summit 系統的 5% 。

pYYBAGJWIiKAR_AZAAD-yiqudas363.png

圖 4 。 cuFFTMp ( FP32 )在 Summit cluster 上的性能

圖 5 顯示,在 256 個節點中使用 1536V100 GPU 時, cuFFTMp 可以達到 4096 個以上的 TFlop / s3復雜的數據點,僅占 Summit 系統的 5% 。

pYYBAGJWIjqAeUziAAEAmSFST9Y106.png

圖 5 。 cuFFTMp ( FP64 )在 Summit cluster 上的性能

輕松過渡到 TMP

cuFFTMp 只是當前多 GPU cuFFT 庫的擴展。大多數現有的多 GPU 函數適用于 TMP 。作為一個分布式多進程庫, cuFFTMp 要求 MPI 被引導(“啟動”),并期望數據分布在 MPI 進程之間。下表顯示了將應用程序從使用 multi- GPU cuFFT 轉換為 cuFFTMp 所需的代碼。

Multi-GPU, single-process cuFFT cuFFTMp

#include

#include
#include

MPI_Init(&argc, &argv);
int rank, size;
MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); cudaSetDevice(my_device);


size_t my_NX = (NX / size) + (rank < NX %
size ?1:0);

// host buffer h_f size NX*NY*NZ // host buffer h_f size my_NX*NY*NZ
cufftHandle plan_c2c;
cufftCreate(&plan_c2c);

for (auto i =0; i < NGPUS; ++i)
whichGPUs[i] = i;
cufftXtSetGPUs(plan_c2c, NGPUS,
whichGPUs)


cufftMpAttachComm(plan, CUFFT_COMM_MPI, MPI_COMM_WORLD)

size_t worksize;
cufftMakePlan3d(plan_c2c, NX, NY, NZ, CUFFT_R2C, &worksize);

cudaLibXtDesc *d_f;
cufftXtMalloc(plan_c2c, &d_f, CUFFT_XT_FORMAT_INPLACE);

cufftXtMemcpy(plan_c2c, d_f, h_f, CUFFT_COPY_HOST_TO_DEVICE);

cufftXtExecDescriptor(plan_c2c, d_f, d_f, CUFFT_FORWARD)
// Any user-defined operations (filtering, …)
cufftXtExecDescriptor(plan_c2c, d_f, d_f, CUFFT_INVERSE)

cufftXtMemcpy(plan_c2c, h_f, d_f, CUFFT_COPY_DEVICE_TO_HOST);
cufftXtFree(d_f)

MPI_Finalize();

Slab 、 pencil 和 block 分解是多維 FFT 算法中用于跨節點并行計算的數據分布方法的典型名稱。 cuFFTMp EA 僅支持優化的 slab ( 1D )分解,并提供輔助功能,例如 cufftXtSetDistribution 和 cufftMpReshape ,以幫助用戶從任何其他數據分發重新分發到 cuFFTMp 的 slab 數據分發。

CufftMP EA 包包括 C ++和 Fortran 示例,覆蓋了一系列用例: C2C 、 R2C / C2R 、不同的計劃共享工作空間,以及從一個分布到另一個分布的數據或在 GPU 上重新分布。 cuFFTMp 使用 EA 包中包含的 HPC SDK 21.7 +編譯器和包裝器,為 Fortran 應用程序提供全面支持。

客戶體驗:湍流模擬

cuFFTMp 使科學家能夠研究具有挑戰性的流體湍流問題 物理學中最古老的懸而未決的問題 。

為了了解湍流行為,印度海得拉巴塔塔基礎研究所( TFRI )的一個研究團隊開發了 Fluid3D ,這是一個 CFD 軟件包,使用偽譜方法對 Navier-Stokes 方程進行直接數值模擬( DNS )。通過將 Fluid3D 移植到 cuFFTMp 和 CUDA ,該團隊現在可以在幾個小時內模擬數千個 GPU 上更高的雷諾數流動,這是使用 MPI CPU 版本不可能完成的任務。

在圖 6 中,湍流由不同尺度的漩渦組成,能量從大尺度的運動轉移到小尺度。模擬和理解大型 DNS 運行中最小湍流結構的各向同性行為非常重要。

DNS 是提高對湍流理解的關鍵工具,偽譜方法因其計算效率和準確性而被廣泛使用。

湍流模擬的挑戰是需要獲得高雷諾數( Re )。為了保持計算穩定性, Re 數受到網格分辨率的限制,即 Re 2.25 N 3,其中 N 是每個維度中的網格點數量。因此,模擬高 Re 數湍流需要數值分辨率,計算成本可能會很高,甚至會讓人望而卻步。

表 1 顯示了最大 Re 數所需的網格分辨率以及模擬所需的內存。

Fluid3D 在傅里葉空間中使用二階指數時間步進法。模擬通常集成在數萬個時間步上,每個時間步計算九個 3D FFT 。 FFT 主導整個仿真運行時。每個時間步長的壁面時間是衡量數值實驗特定結構的求解時間是否合理的一個重要指標。

圖 7 顯示了 Fluid3D 的每個時間步的壁時間小于 5 秒,分辨率為 81923,在 Selene 上使用 1024 個 A100 GPU ( 128 個節點)。帶有 FFTW-MPI 的 CPU 版本,每次迭代需要 23.9 秒,分辨率為 10243在單個 64 核 CPU 節點上使用 64 MPI 列組的問題大小。與同樣 1024 小時的墻時間相比3問題大小使用兩個 A100 GPU ,很明顯 Fluid3D 從 CPU 節點到單個 A100 的加速比超過 20 倍。

圖 7 。在 Selene 上運行的 Fluid3D DNS 的每個時間步長的墻時間

開始使用 cuFFTMp

有興趣嘗試使用 cuFFTMp 將應用程序轉換為在多個節點上運行嗎?請轉到 cuFFTMp EA 的入門頁面。下載 cuFFTMp 后,玩一下示例代碼,看看它們與 multi- GPU 版本有多相似,以及它們如何在多個節點上擴展。

關于作者

Leopold Cambier 于 2021 在斯坦福大學獲得了計算和數學工程博士學位。在博士期間,他專注于從理論和并行計算的角度研究大型稀疏線性系統的快速求解器。 2016 年和 2017 年,他還在NVIDIA cuDNN 團隊實習。自從他在 2021 年 1 月加入全職以來,利奧波德一直在cuFFT。

Doris Pan 是 cuFFT 團隊的軟件工程師,之前是 NVIDIA 的解決方案架構師。她的熱情在于幫助和教育世界各地的客戶加速他們的 HPC 和 DL / ML 應用程序。在加入 NVIDIA 之前,她曾在 NOAA 、 NASA 和斯倫貝謝擔任 HPC 軟件工程師和技術經理。多麗絲擁有北卡羅來納大學教堂山分校環境科學與工程博士學位。

Lukasz Ligowski 是負責cuFFT和設備擴展庫的工程經理。他于 2012 加入NVIDIA HPC 數學圖書館團隊。最初,他花了大部分時間開發 cuFFT 庫,只做了一小段 cuDNN / DL 工作。他從華沙大學超級計算中心ICM )轉入 Nvidia 。他推動了 CUDA 的早期采用,并使用其他奇特的硬件體系結構來加速科學應用。他熱衷于從硬件中提取最后一點計算性能。在空閑時間,他喜歡喝咖啡和獨角獸。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10929

    瀏覽量

    213448
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4805

    瀏覽量

    129583
  • 應用程序
    +關注

    關注

    38

    文章

    3301

    瀏覽量

    58032
收藏 人收藏

    評論

    相關推薦

    傅利葉借助NVIDIA Isaac Gym開發人形機器人GR-2

    訓練人形機器人在需要高度交互與適應的領域作業,比如科學研究、醫療保健和制造業等,非常具挑戰性且資源消耗很大。
    的頭像 發表于 02-20 09:27 ?231次閱讀

    從零到一:搭建屬于自己的海外IP代理池

    從零到一搭建屬于自己的海外IP代理池是一個復雜但具有挑戰性的任務,它涉及多個步驟和考慮因素。
    的頭像 發表于 11-15 08:15 ?683次閱讀

    Vivado中FFT IP核的使用教程

    本文介紹了Vidado中FFT IP核的使用,具體內容為:調用IP核>>配置界面介紹>>IP核端口介紹>>MATLAB生成測試數據>>測試verilogHDL>>TestBench仿真>>結果驗證>>FFT運算。
    的頭像 發表于 11-06 09:51 ?1708次閱讀
    Vivado中<b class='flag-5'>FFT</b> IP核的使用教程

    2024年ICPC與華為挑戰賽冠軍杯圓滿落幕

    近日,2024年ICPC&華為挑戰賽冠軍杯在深圳圓滿落幕。該活動由華為和ICPC聯合舉辦,匯聚全球頂尖的編程人才,共同探討和解決具有挑戰性的工業界真實問題,并對未來技術發展趨勢及關鍵挑戰
    的頭像 發表于 10-27 16:00 ?935次閱讀

    NVIDIA為AI城市挑戰賽構建合成數據集

    在一年一度的 AI 城市挑戰賽中,來自世界各地的數百支參賽隊伍在 NVIDIA Omniverse 生成的基于物理學的數據集上測試了他們的 AI 模型。
    的頭像 發表于 09-09 10:04 ?587次閱讀

    康謀分享 | 在基于場景的AD/ADAS驗證過程中,識別挑戰性場景!

    基于場景的驗證是AD/ADAS系統開發過程中的重要步驟,然而面對海量駕駛記錄數據時,如何實現自動且高效地識別、分類和提取駕駛記錄中的挑戰性場景?本文康謀為您介紹IVEX軟件識別挑戰性場景并進行數據分析的強大功能。
    的頭像 發表于 08-28 10:16 ?1191次閱讀
    康謀分享 | 在基于場景的AD/ADAS驗證過程中,識別<b class='flag-5'>挑戰性</b>場景!

    NVIDIA Isaac Lab助力銀河通用打造靈巧手抓取技能模型

    在本案例中,銀河通用的團隊借助Isaac Lab搭建了具有挑戰性的靈巧抓握基準 DexGraspNet,這是一個最近提出的基準套件,專門用于學習可泛化的靈巧抓握。DexGraspNet 包含
    的頭像 發表于 08-23 15:38 ?918次閱讀

    FPGA設計面臨的挑戰和解決方案

    設計可靠的可編程邏輯門陣列(FPGA)對于不容故障的系統來說是一項具有挑戰性的任務。本文介紹FPGA設計的復雜,重點關注如何在提高可靠的同時管理隨之帶來的功耗增加、設計復雜
    的頭像 發表于 08-06 11:33 ?585次閱讀

    人臉識別技術的可行在于矛盾具有什么

    人臉識別技術的可行在于矛盾具有普遍。 一、引言 人臉識別技術作為人工智能領域的一項重要技術,近年來得到了廣泛的關注和應用。然而,隨著技術的發展,人臉識別技術也面臨著越來越多的挑戰
    的頭像 發表于 07-04 09:28 ?623次閱讀

    革命的圖形分析: NVIDIA cuGraph 加速的下一代架構

    在我們的 先前的圖分析探索 中,我們使用 NVIDIA cuGraph 揭示了 GPU-CPU 融合的變革力量。基于這些見解,我們現在引入了一種革命的新架構,它重新定義了圖處理的邊界。 圖形處理
    的頭像 發表于 06-04 17:54 ?7696次閱讀
    革命<b class='flag-5'>性</b>的圖形分析: <b class='flag-5'>NVIDIA</b> cuGraph 加速的下一代架構

    具有密集交聯結構的明膠基水凝膠電解質(ODGelMA)

    目前,開發一種能夠成功實現兼具機械強度、離子電導率和界面適應的綜合水凝膠電解質基質仍然具有挑戰性
    的頭像 發表于 05-22 09:17 ?1019次閱讀
    <b class='flag-5'>具有</b>密集交聯結構的明膠基水凝膠電解質(ODGelMA)

    汽車雷達系統設計面臨的挑戰

    通道,以進一步提高準確和安全。 對于高價值嵌入式雷達系統的制造商來說,有很大的潛力。然而,競爭性地利用這種潛力可能具有挑戰性。在這里,我們將探討其中的一些
    的頭像 發表于 04-28 14:15 ?3169次閱讀
    汽車雷達系統設計面臨的<b class='flag-5'>挑戰</b>

    單片機開發好學嗎?學習中有哪些樂趣與挑戰

    單片機編程究竟是不是好學的問題。先來說一說單片機編程的挑戰性,對于初學者而言,單片機編程可能具有一定的挑戰性,因為它需要你具備以下幾點能力;單片機開發學習中的樂趣與
    的頭像 發表于 03-28 08:04 ?2233次閱讀
    單片機開發好學嗎?學習中有哪些樂趣與<b class='flag-5'>挑戰</b>?

    示波器的 FFT 功能怎么調?

    示波器fft功能-示波器中的快速傅立葉變換 FFT功能非常有用。是德科技與您分享keysight示波器fft調出來的方法。Keysight示波器FFT調出來的方法
    的頭像 發表于 03-19 18:04 ?3462次閱讀
    示波器的 <b class='flag-5'>FFT</b> 功能怎么調?

    探討制造中差異變量的概念和重要

    制造高端電子產品是非常復雜精密的過程。制作用于演示或原型的一次樣品可能具有挑戰性,但真正的挑戰在于如何以盈利的方式持續生產。
    的頭像 發表于 03-13 10:40 ?509次閱讀
    探討制造中差異變量的概念和重要<b class='flag-5'>性</b>
    主站蜘蛛池模板: 国产h在线播放 | 国产精品久久久久aaaa | 麻生希痴汉电车avop130 | 美脚连裤袜老师正在播放 | 午夜激情福利视频 | 天天综合色天天综合网 | 高h乱肉辣文辣书阁 | 色女人在线 | 色噜噜狠狠狠狠色综合久 | 欧美黑人性xxx猛交 欧美黑人性受xxxx精品 | 六月丁香激情网 | freesexvideo性2| h在线免费 | 欧美人与动性视频在线观 | 成人免费看黄网站无遮挡 | 五月婷婷六月丁香综合 | 免费一级片在线观看 | 天天干天天透 | 天天撸夜夜操 | 久久夜色精品国产尤物 | 日本黄大乳片免费观看 | 久久久久国产精品免费免费不卡 | 五月婷婷之婷婷 | 午夜8050| 狠狠色噜噜综合社区 | 色婷婷激婷婷深爱五月老司机 | 99精品视频免费 | 三级视频网站在线观看播放 | 99久久香蕉国产综合影院 | 欧美五月激情 | 激情五月开心网 | 欧美高清一区二区三 | 午夜精品久久久久久久第一页 | 新版天堂中文在线8官网 | 岛国中文字幕 | 久久精品国产福利国产琪琪 | 国产美女在线免费观看 | 色网站免费看 | 国产伦精品一区二区三区高清 | 欧美日韩中文字幕 | 亚州人成网在线播放 |