CUDA C ++ – NVIDIA 技術博客 http://www.open-lab.net/zh-cn/blog 閱讀開發者創建的最新技術信息、頭條新聞 和內容。 Thu, 16 Nov 2023 06:13:20 +0000 zh-CN hourly 1 196178272 借助 NVIDIA Grace Hopper 超級芯片簡化 HPC 的 GPU 編程 http://www.open-lab.net/zh-cn/blog/simplifying-gpu-programming-for-hpc-with-the-nvidia-grace-hopper-superchip/ Mon, 13 Nov 2023 06:07:54 +0000 http://www.open-lab.net/zh-cn/blog/?p=8229 Continued]]> NVIDIA RTX GPU 中的 NVIDIA Grace Hopper 超級芯片 系統為開發者處理 GPU 編程的方式帶來了一些戲劇性的變化。最值得注意的是,CPU 和 GPU 顯存之間的雙向、高帶寬和緩存一致性連接意味著用戶可以在使用單個統一地址空間的同時為這兩個處理器開發應用程序。 每個處理器都保留自己的物理內存,該內存的設計具有與最適合每個處理器的工作負載相匹配的帶寬、延遲和容量特性。針對現有的獨立顯存 GPU 系統編寫的代碼將繼續保持高性能運行,而無需針對新的 NVIDIA Grace Hopper 架構進行修改。 我們最近的博文 借助異構內存管理簡化 GPU 應用程序開發 詳細介紹了單地址空間為開發者帶來的一些優勢,以及它在通過 PCIe 連接至 x86_64 CPU 的 NVIDIA GPU 系統上的工作原理。所有應用程序線程(GPU 或…

Source

]]>
8229
利用異構內存管理簡化 GPU 應用程序開發 http://www.open-lab.net/zh-cn/blog/simplifying-gpu-application-development-with-heterogeneous-memory-management/ Tue, 22 Aug 2023 05:06:42 +0000 http://www.open-lab.net/zh-cn/blog/?p=7676 Continued]]> 異構內存管理(HMM)是一種 CUDA 內存管理功能,它擴展了 CUDA 統一內存 的編程模型,包括系統分配內存在具有 PCIe 連接的 NVIDIA GPU 的系統上。系統分配內存是指最終由操作系統分配的內存;例如,通過 malloc,mmap,C++ 新操作員(當然使用前面的機制),或為應用程序設置 CPU 可訪問內存的相關系統例程。 以前,在基于 PCIe 的機器上, GPU 無法直接訪問系統分配的內存。 GPU 只能訪問來自特殊分配器的內存,例如庫達馬洛克或cudaMallocManaged。 啟用 HMM 后,所有應用程序線程( GPU 或 CPU )都可以直接訪問應用程序系統分配的所有內存。與統一內存(可以被認為是 HMM 的子集或前身)一樣,不需要在處理器之間手動復制系統分配的內存。這是因為它會根據處理器的使用情況自動放置在 CPU 或 GPU 上。

Source

]]>
7676
調試混合 Python 和 C 語言堆棧 http://www.open-lab.net/zh-cn/blog/debugging-mixed-python-and-c-language-stack/ Sun, 23 Apr 2023 05:46:07 +0000 http://www.open-lab.net/zh-cn/blog/?p=6793 Continued]]> 調試很困難。跨多種語言調試尤其具有挑戰性,跨設備調試通常需要一個具有不同技能和專業知識的團隊來揭示潛在問題 然而,項目通常需要使用多種語言,以確保必要時的高性能、用戶友好的體驗以及可能的兼容性。不幸的是,沒有一種編程語言能夠提供上述所有功能,這就要求開發人員變得多才多藝。 這篇文章展示了RAPIDS該團隊著手調試多種編程語言,包括使用GDB以識別和解決死鎖。該團隊致力于設計加速和擴展數據科學解決方案的軟件。 這篇文章中的 bug 是RAPIDS 項目這一問題在 2019 年夏天得到了確認和解決。它涉及到一個包含多種編程語言的復雜堆棧,主要是 C 、 C ++和 Python ,以及CUDA對于 GPU 加速度 記錄這個歷史錯誤及其解決方案有幾個目的,包括: 這篇文章中的內容應該有助于你理解這些錯誤是如何表現出來的,以及如何在你自己的工作中解決類似的問題。

Source

]]>
6793
人人超碰97caoporen国产