此實作坊將教導你使用 CUDA® 和 Numba 編譯 GPU,來執行 GPU 加速的 Python 應用程式的基本工具和技術。你將完成數十種編碼實作練習。在訓練結束後,你將實作新的工作流程,以加速原本專為 CPU 設計之功能完備的線性代數程式,來大幅提升效能。在實作坊結束後,你將可以使用其他資源,自行創造新的 GPU 加速應用程式。

 

學習目標


參加本實作坊可學會:
  • 使用幾行程式碼打造 GPU 加速的 NumPy 通用函數(ufunc)
  • 運用 CUDA 執行緒階層設定程式碼平行處理
  • 編寫自訂 CUDA 裝置核心,提供最高效能與最大彈性
  • 使用合併記憶體和裝置上的共用記憶體,以增加 CUDA 核心頻寬
  • 在 GPU 上產生隨機數
  • 學習中階 GPU 記憶體管理技術

下載實作坊大綱與簡介  (PDF 298 KB)

實作坊大綱

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

實作坊詳情

時間:8 小時

價格:如需瞭解價格,請聯絡我們。

必備基礎能力:

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

技術:Numba、NumPy

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

硬體需求:可運作最新版本 Chrome 或 Firefox 的桌上型電腦或筆記型電腦。每位參與者都能在雲端上使用專屬且全面設定完成的 GPU 加速伺服器。

教材語言:英文、簡體中文繁體中文

Upcoming Workshops

若貴組織希望為員工提升 AI、加速運算、加速資料科學等的關鍵開發技能,歡迎申請由講師帶領的 NVIDIA DLI 實作坊。

需要任何協助?