PyData – NVIDIA 技術博客 http://www.open-lab.net/zh-cn/blog 閱讀開發者創建的最新技術信息、頭條新聞 和內容。 Thu, 02 Feb 2023 07:01:50 +0000 zh-CN hourly 1 196178272 使用 cuNumeric 和 Legate 加速 Python 應用程序 http://www.open-lab.net/zh-cn/blog/accelerating-python-applications-with-cunumeric-and-legate/ Tue, 31 Jan 2023 06:58:36 +0000 http://www.open-lab.net/zh-cn/blog/?p=6113 Continued]]> cuNumeric 是一個庫,旨在為支持所有 indexing view 功能(如就地更新、 NumPy 和完整 indexing view 語義)的 NumPy API 提供分布式和加速插入替換。這意味著,當切換到使用 cuNumeric 時,任何使用 NumPy 在大型數據集上操作的 Python 代碼都可以自動并行化,以利用 CPU 和 GPU 的大型集群的功能。 NumPy 是科學計算中的基礎 Python 庫,用于執行基于陣列的數值計算。大多數程序員使用的 NumPy 的規范實現在單個 CPU 內核上運行,只有少數操作在內核之間并行化。對單個節點 CPU 執行的這種限制限制了可以處理的數據的大小和解決問題的速度。 到目前為止, NumPy 的幾個替換庫加速下降(例如 CuPy 和 NumS )。然而,它們中沒有一個在具有許多 CPU 和 GPU…

Source

]]>
6113
CUDA 上下文無關模塊加載 http://www.open-lab.net/zh-cn/blog/cuda-context-independent-module-loading/ Mon, 12 Dec 2022 06:46:00 +0000 http://www.open-lab.net/zh-cn/blog/?p=5952 Continued]]> 大多數 CUDA 開發人員都熟悉 API 及其對應的 API ,用于將包含設備代碼的模塊加載到 CUDA context 中。在大多數情況下,您希望在所有設備上加載相同的設備代碼。這需要將設備代碼顯式加載到每個 CUDA 上下文中。此外,不控制上下文創建和銷毀的庫和框架必須跟蹤它們,以顯式加載和卸載模塊。 本文討論了 CUDA 12.0 中引入的上下文無關加載,它解決了這些問題。 傳統上,模塊加載總是與 CUDA 上下文相關聯。下面的代碼示例顯示了將相同的設備代碼加載到兩個設備中,然后在它們上啟動內核的傳統方法。 在每個設備上啟動內核需要檢索每個模塊,如以下代碼示例所示: 這增加了應用程序中的代碼復雜性,因為您必須檢索和跟蹤每個上下文和每個模塊類型。您還必須使用 API 顯式卸載每個模塊。 當庫或框架主要使用 CUDA 驅動程序 API 來加載自己的模塊時,

Source

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