使用CUDA進行GPU編程培訓
CUDA是一種開放標準的GPU編程語言,允許代碼在NVIDIA GPU上運行。NVIDIA GPU廣泛用於高性能計算、人工智能(AI)、遊戲和圖形處理。CUDA讓程序員能夠深入瞭解硬體細節,並完全掌控平行化過程。然而,這也要求對設備架構、記憶體模型、執行模型以及最佳化技術有充分的理解。
此培訓為由導師指導的現場課程(線上或線下),旨在幫助初級至中級開發人員使用CUDA編程NVIDIA GPU,並充分利用其平行運算能力。
完成此培訓後,學員將能夠:
- 搭建包含CUDA Toolkit、NVIDIA GPU和Visual Studio Code的開發環境。
- 創建基本的CUDA程序,在GPU上執行向量加法並將結果從GPU記憶體取回。
- 使用CUDA API查詢設備資訊、配置和釋放裝置記憶體、在主機與設備間複製數據、啟動內核以及同步執行緒。
- 使用CUDA C/C++語言編寫在GPU上執行的內核並操作數據。
- 使用CUDA內建函式、變數和庫來完成常見任務和操作。
- 使用CUDA記憶體空間(如全域、共享、常數和本地)來優化資料傳輸和記憶體存取。
- 使用CUDA執行模型控制定義平行化的執行緒、區塊和網格。
- 使用CUDA-GDB、CUDA-MEMCHECK及NVIDIA Nsight等工具調試和測試CUDA程序。
- 通過並行存取、快取利用、預取以及分析技術最佳化CUDA程序。
課程形式
- 互動式講授與討論。
- 大量的練習與實踐機會。
- 在即時實驗室環境中進行實作操作。
課程客製化選項
- 如需此課程的客製化培訓,請聯繫我們安排。
- 96% 的客戶滿意
課程簡介
介紹
- CUDA是什麼?
- CUDA與OpenCL和SYCL的比較
- CUDA特性和架構概述
- 設置開發環境
入門指南
- 使用Visual Studio Code創建新的CUDA項目
- 探索項目結構和文件
- 編譯並運行程序
- 使用printf和fprintf顯示輸出
CUDA API
- 了解CUDA API在主機程式中的作用
- 使用CUDA API查詢設備資訊和能力
- 使用CUDA API配置和釋放裝置記憶體
- 使用CUDA API在主機與設備間複製數據
- 使用CUDA API啟動內核並同步執行緒
- 使用CUDA API處理錯誤和異常
CUDA C/C++
- 了解CUDA C/C++在設備程式中的作用
- 使用CUDA C/C++編寫在GPU上執行的內核並操作數據
- 使用CUDA C/C++的數據類型、修飾符、運算符和表達式
- 使用CUDA C/C++內建函式,如數學函式、原子操作、Warp功能等
- 使用CUDA C/C++內建變數,如threadIdx、blockIdx、blockDim等
- 使用CUDA C/C++庫,如cuBLAS、cuFFT、cuRAND等
CUDA記憶體模型
- 理解主機和設備記憶體模型的差異
- 使用CUDA記憶體空間,如全域、共享、常數和本地
- 使用CUDA記憶體物件,如指標、陣列、紋理和表面
- 使用CUDA記憶體存取模式,如唯讀、寫入只讀、讀寫等
- 使用CUDA記憶體一致性模型和同步機制
CUDA執行模型
- 理解主機和設備執行模型的差異
- 使用CUDA的執行緒、區塊和網格定義平行化
- 使用CUDA執行緒函式,如threadIdx、blockIdx、blockDim等
- 使用CUDA區塊函式,如__syncthreads、__threadfence_block等
- 使用CUDA網格函式,如gridDim、gridSync、協作群組等
調試
- 了解CUDA程式中常見的錯誤和Bug
- 使用Visual Studio Code除錯器檢查變數、斷點、呼叫堆疊等
- 在Linux上使用CUDA-GDB調試CUDA程式
- 使用CUDA-MEMCHECK檢測記憶體錯誤和洩漏
- 在Windows上使用NVIDIA Nsight調試和分析CUDA程式
最佳化
- 了解影響CUDA程式效能的因素
- 使用CUDA並行存取技術提高記憶體吞吐量
- 使用CUDA快取和預取技術降低記憶體延遲
- 使用CUDA共享記憶體和本地記憶體技術優化記憶體存取和頻寬
- 使用CUDA分析及分析工具衡量並改進執行時間和資源利用率
總結與下一步
最低要求
- 理解C/C++語言及平行程式設計概念。
- 具備電腦架構和記憶體層級的基本知識。
- 具有使用命令列工具和程式碼編輯器的經驗。
對象
- 希望學習如何使用CUDA編程NVIDIA GPU並發揮其平行能力的開發人員。
- 希望撰寫可在不同CUDA設備上運行的高效能和可擴展程式的開發人員。
- 希望探索GPU編程底層細節並最佳化代碼效能的程序員。
需要幫助選擇合適的課程嗎?
macao@nobleprog.com 或 +852 81990613
使用CUDA進行GPU編程培訓 - 詢問
使用CUDA進行GPU編程 - 咨詢詢問
相關課程
使用華為昇騰和CANN開發AI應用
21 小時華為昇騰是專為高性能推理和訓練設計的一系列AI處理器。
本課程由講師親自授課,提供線上或線下培訓形式,旨在協助具備中級水平的AI工程師及數據科學家利用華為昇騰平台和CANN工具包來開發與優化神經網絡模型。
完成本課程後,學員將能夠:
- 設置並配置CANN開發環境。
- 使用MindSpore和CloudMatrix工作流開發AI應用。
- 通過自定義運算元和分片技術在昇騰NPU上優化性能。
- 將模型部署至邊緣或雲端環境。
課程形式
- 互動式講授與討論。
- 在示例應用中實際操作華為昇騰和CANN工具包。
- 圍繞模型構建、訓練及部署的引導式練習。
課程定製選項
- 如需根據您的基礎設施或數據集對此課程進行定製培訓,請聯繫我們以安排相關事宜。
部署使用 CANN 和 Ascend AI 處理器的 AI 模型
14 小時CANN(神經網路計算架構)是華為用於在 Ascend AI 處理器上部署及優化 AI 模型的 AI 計算棧。
本課程採用講師授課模式,提供線上或線下培訓。對象為希望使用 CANN 工具組及 MindSpore、TensorFlow 或 PyTorch 等工具,高效部署訓練好的 AI 模型至華為 Ascend 硬件的中級 AI 開發人員和工程師。
完成本課程後,學員將能夠:
- 理解 CANN 架構及其在 AI 部署流程中的角色。
- 將來自熱門框架的模型轉換並適應為 Ascend 兼容格式。
- 使用 ATC、OM 模型轉換及 MindSpore 等工具,進行邊緣和雲端推理部署。
- 診斷部署問題,並優化 Ascend 硬件上的性能表現。
課程形式
- 互動式講授與示範演示。
- 透過使用 CANN 工具組及 Ascend 模擬器或設備,進行實作實驗室操作。
- 以真實世界 AI 模型為基礎的實務部署場景。
課程自訂選項
- 如需申請本課程的客製化培訓,請聯繫我們以安排。
使用CloudMatrix進行AI推理和部署
21 小時CloudMatrix是華為推出的統一AI開發和部署平台,旨在支援可擴展且符合生產標準的推理管道。
這門由講師指導的實地培訓(線上或線下),針對初級至中級的AI專業人士,他們希望使用CloudMatrix平台以及CANN和MindSpore整合來部署和監控AI模型。
通過本次培訓,學員將能夠:
- 使用CloudMatrix進行模型打包、部署及服務化。
- 為昇騰晶片組轉換並優化模型。
- 設置用於實時和批量推理任務的管道。
- 監控部署情況並在生產環境中調整效能。
課程形式
- 互動式講授和討論。
- 在實際部署場景中動手使用CloudMatrix。
- 重點關注轉換、優化及擴展的引導式練習。
課程定制選項
- 如需基於您的AI基礎設施或雲端環境請求定制培訓,請聯繫我們安排。
在必能 AI 加速器上進行 GPU 程式設計
21 小時必能 AI 加速器是為 AI 和 HPC 負載設計的高效能 GPU,支援大規模訓練與推論。
此種由講師帶領的即時培訓(線上或線下),旨在針對初級至進階開發人員,讓他們學習使用必能專有 GPU 堆疊進行程式編寫與應用最佳化,並與基於 CUDA 的環境進行實際比較。
完成此培訓後,參與者將能夠:
- 了解必能 GPU 架構及記憶體階層。
- 設定開發環境並使用必能的程式設計模型。
- 針對必能平台轉換並最佳化 CUDA 風格的程式碼。
- 應用效能微調與除錯技術。
課程形式
- 互動式講座與討論。
- 在範例 GPU 負載中實際使用必能 SDK。
- 專注於移植與效能微調的引導式練習。
課程客製化選項
- 若要依據您的應用程式堆疊或整合需求請求此課程的客製化培訓,請聯繫我們以安排。
使用BANGPy和Neuware進行Cambricon MLU開發
21 小時Cambricon MLU(機器學習單元)是專為邊緣數據中心場景中的推理和訓練而優化的AI芯片。
此有講師指導的實地培訓(線上或線下)旨在面向中級開發人員,幫助他們在Cambricon MLU硬件上使用BANGPy框架和Neuware SDK構建和部署AI模型。
通過參加本次培訓,參與者將能夠:
- 設置並配置BANGPy與Neuware開發環境。
- 為Cambricon MLU開發及優化基於Python和C++的模型。
- 在運行Neuware runtime的邊緣設備與數據中心設備上部署模型。
- 將ML工作流與MLU特定加速功能整合。
課程格式
- 互動講座與討論。
- 實地使用BANGPy和Neuware進行開發及部署。
- 專注於優化、整合和測試的指導練習。
課程自定義選項
- 如需為本課程申請基於您的Cambricon設備型號或使用案例的自定義培訓,請聯繫我們安排。
AI框架開發者CANN入門
7 小時CANN(神經網絡計算架構)是華為的AI計算工具包,用於在昇騰AI處理器上編譯、優化並部署AI模型。
本課程為講師指導的實時培訓(線上或線下),旨在幫助初級AI開發者理解CANN如何融入從訓練到部署的模型生命週期,以及它如何與MindSpore、TensorFlow和PyTorch等框架協同工作。
完成本課程後,學員將能夠:
- 了解CANN工具包的目的和架構。
- 使用CANN和MindSpore設置開發環境。
- 將簡單的AI模型轉換並部署至昇騰硬件。
- 為未來的CANN優化或集成項目奠定基礎知識。
課程形式
- 互動式講授與討論。
- 包含簡單模型部署的實操實驗。
- 逐步講解CANN工具鏈及集成點。
課程定制選項
- 如需此課程的定制化培訓,請聯繫我們安排。
CANN用於邊緣AI部署
14 小時華為的Ascend CANN工具包讓Ascend 310等邊緣設備能夠實現強大的AI推理。CANN為在算力和內存受限的環境中編譯、優化及部署模型提供了必要的工具。
此培訓由講師帶領進行,提供線上或線下(Onsite)形式。旨在協助中級水平的AI開發者和整合人員使用CANN工具鏈部署並優化Ascend邊緣設備上的模型。
完成本課程後,學員將能夠:
- 準備並使用CANN工具將AI模型轉換為Ascend 310可用格式。
- 使用MindSpore Lite和AscendCL構建輕量級的推理管道。
- 針對受限的算力和內存環境優化模型性能。
- 在真實世界邊緣應用場景中部署並監控AI應用程式。
課程形式
- 互動式授課與示範。
- 結合邊緣特定模型和情境的實作練習。
- 在虛擬或實體邊緣硬體上的即時部署範例。
課程客製化選項
- 如需此課程的客製化培訓,請聯繫我們安排。
深入理解華為AI計算棧:從CANN到MindSpore
14 小時華為的AI棧涵蓋了從底層CANN SDK到高層MindSpore框架,為Ascend硬件量身打造了一個緊密整合的AI開發與部署環境。
此培訓由講師主導,提供線上或線下實體課程(live形式)。對象為初級至中級的技術專業人士,旨在幫助其理解CANN和MindSpore組件如何協同工作,以支援AI生命週期管理及基礎設施決策。
培訓結束時,學員將能夠:
- 掌握華為AI計算棧的分層架構。
- 識別CANN如何支援模型優化與硬體級部署。
- 評估MindSpore框架及工具鏈,並對比業界其他替代方案。
- 將華為AI棧置於企業雲端或本機端環境中的定位。
課程形式
- 互動式講授與討論。
- 實時系統演示與案例導向的 walkthrough。
- 可選的指導實驗室練習,涵蓋從MindSpore到CANN的模型流程。
課程客製化選項
- 如需此課程的客製化培訓,請聯繫我們安排。
使用CANN SDK優化神經網路效能
14 小時CANN SDK(用於神經網路的計算架構)是華為的AI運算基礎設施,可讓開發人員調整和優化部署在昇騰AI處理器上的神經網路效能。
本課程由講師指導,提供線上或線下培訓形式。目標受眾為希望使用CANN進階工具集(包括圖引擎、TIK和自訂算子開發)來優化推論效能的初級AI開發人員及系統工程師。
完成本課程後,學員將能夠:
- 理解CANN的運行時架構與效能生命週期。
- 使用剖析工具和圖引擎進行效能分析與優化。
- 使用TIK和TVM建立並優化自訂算子。
- 解決記憶體瓶頸並提升模型吞吐量。
課程形式
- 互動式講授與討論。
- 實作練習,包括即時剖析與算子調整。
- 使用邊緣部署案例進行優化練習。
課程客製化選項
- 如需為本課程申請客製化培訓,請與我們聯繫以安排。
CANN SDK for Computer Vision and NLP Pipelines
14 小時CANN SDK(神經網路計算架構)提供強大的部署和優化工具,用於在華為昇騰硬體上進行電腦視覺和自然語言處理的即時人工智慧應用。
此培訓由講師指導,可線上或線下進行,旨在幫助具有中級水平的 AI 從業人員構建、部署並使用 CANN SDK 優化視覺和語言模型以滿足生產需求。
完成本課程後,參與者將能夠:
- 使用 CANN 和 AscendCL 部署和優化電腦視覺(CV)及自然語言處理(NLP)模型。
- 利用 CANN 工具轉換模型,並將其整合至即時流水線。
- 優化檢測、分類和情感分析等任務的推理效能。
- 構建適用於邊緣或雲端部署場景的即時 CV/NLP 流水線。
課程格式
- 互動式講授與演示。
- 實作練習:包含模型部署與效能分析。
- 使用真實 CV 和 NLP 應用案例設計即時流水線。
課程客製化選項
- 如需申請此課程的客製化培訓,請聯絡我們安排。
使用 CANN TIK 和 TVM 構建自定義 AI 運算子
14 小時CANN TIK(張量指令核心)與 Apache TVM 可實現華為昇騰硬件上 AI 模型運算子的高級優化與定制。
本培訓由導師現場指導,提供線上或線下實時課程。對象為希望使用 CANN 的 TIK 編程模型及 TVM 編譯器集成來構建、部署並調優 AI 模型自定義運算子的高級系統開發人員。
完成本培訓後,學員將能夠:
- 使用昇騰處理器的 TIK DSL 編寫和測試自定義 AI 運算子。
- 將自定義運算子集成至 CANN 運行時與執行圖中。
- 使用 TVM 進行運算子調度、自動調優及基準測試。
- 除錯並優化針對自定義計算模式的指令級性能。
課程形式
- 互動式講授與演示。
- 使用 TIK 和 TVM 管線進行運算子實作編碼。
- 在昇騰硬件或模擬器上進行測試與調優。
課程定制選項
- 如需申請本課程的定制培訓,請聯繫我們以安排相關事宜。
將 CUDA 應用程式遷移至中國 GPU 架構
21 小時華為昇騰、比特大陸以及寒武紀 MLU 等中國 GPU 架構,提供了針對本地 AI 和高性能計算 (HPC) 市場量身定制的 CUDA 替代方案。
此講師指導的培訓(線上或線下)旨在為希望遷移並優化現有 CUDA 應用程式以在中國硬體平台上部署的高階 GPU 程式設計師和基礎設施專家而設計。
完成本培訓後,學員將能夠:
- 評估現有 CUDA 工作負載與中國晶片替代方案的相容性。
- 將 CUDA 程式碼庫遷移至華為 CANN、比特大陸 SDK 以及寒武紀 BANGPy 環境。
- 比較各平台的效能並識別優化點。
- 解決跨架構支援和部署中的實際挑戰。
課程格式
- 互動式講授與討論。
- 實作程式碼遷移與效能比較實驗室。
- 聚焦於多 GPU 適應策略的引導練習。
課程客製化選項
- 如需根據您的平台或 CUDA 專案申請此課程的客製化培訓,請聯繫我們以安排。
昇騰、壁仞和寒武紀的性能優化
21 小時昇騰、壁仞和寒武紀是中國領先的AI硬件平台,各自為生產級AI工作負載提供獨特的加速和剖析工具。
本課程採用講師在場指導形式,提供線上或線下培訓。目標受眾為希望優化跨多個中國AI芯片平台模型推理與訓練工作流程的高階AI基礎設施及性能工程師。
完成本課程後,學員將能夠:
- 在昇騰、壁仞和寒武紀平台上對模型進行基準測試。
- 識別系統瓶頸以及記憶體/運算效率問題。
- 應用圖層、核心層和運算元層的優化技術。
- 調整部署流程以提升吞吐量並降低延遲。
課程格式
- 互動式授課與討論。
- 實作使用各平台上的剖析與優化工具。
- 著重於實際調參情境的引導練習。
課程客製化選項
- 如需根據您的性能環境或模型類型為本課程請求客製化培訓,請聯繫我們進行安排。