NVIDIA 認證課程

CUDA Python 加速運算的基本原理
Fundamentals of Accelerated Computing with CUDA Python

CUDA 是 NVIDIA 研發的平行運算平台及編程模型,可利用繪圖處理單元 (GPU) 的能力大幅提升運算效能。此實作坊將教導您使用 CUDA® GPU 和 Numba 編譯器執行 GPU 加速的 Python 應用程式

學習目標

參加本實作坊可學會:

  • 在實作坊結束時,您將瞭解採用 CUDA 和 Numba 的 GPU 加速 Python 應用程式適用的。
  • 使用幾行程式碼打造 GPU 加速的 NumPy 通用函數 (ufunc)。
  • 運用 CUDA 執行緒階層設定程式碼平行處理。
  • 編寫自訂 CUDA 裝置核心,提供最高效能與最大彈性。
  • 使用合併記憶體和裝置上的共用記憶體增加 CUDA 核心頻寬

實作坊大綱

時程 程序項目
15 分鐘   概覽
  • 認識講師
  • 在 learn.nvidia.com/join 建立帳號
120 分鐘   在 CUDA Python 使用 Numba 的簡介
  • 開始在 Python 上使用 Numba 編譯和 CUDA 程式。
  • 使用 Numba 裝飾器以 GPU 加速 Python 數值函數。
  • 最佳化 H2D/D2H 的記憶體傳輸。
60 分鐘 休息時間
120 分鐘   運用 Numba 在 Python 內自訂 CUDA 核心
  • 瞭解 CUDA 的平行執行緒階層,以及如何延伸平行程式的可能性。
  • 在 GPU 上啟動大規模平行的自訂 CUDA 核心。
  • 運用 CUDA 原子操作避免平行執行期間的競爭條件。
15 分鐘 休息時間
120 分鐘   多維網格,以及採用 Numba 的 CUDA Python 使用的共用記憶體
  • 使用 xoroshiro128+ 隨機數生成(RNG)以支援 GPU 加速的蒙地卡羅方法。
  • 瞭解如何建立多維度網格,以及如何在 2D 矩陣上同時作業。
  • 利用裝置上的共用記憶體,在重新調整 2D 矩陣時促成記憶體的合併。
15 分鐘   最後回顧
  • 回顧主要學習內容並總結問題。
  • 完成測驗並取得認證。
  • 填寫實作坊調查問卷。

實作坊詳情

時間: 8 小時

必備基礎能力:

  • 基礎 Python 專長能力並熟悉變數類型、迴圈、條件陳述式、函數和陣列操作
  • NumPy 專長能力,包括使用多維陣列(ndarray)和通用函數(ufunc)
  • 無需具備 CUDA 程式編寫的經驗

技術: Numba、NumPy

認證證書: 完成測驗後,參與者將會收到 NVIDIA DLI 認證證書,證明他們具有相關主題的能力,支援其專業職涯成長。