GPU編程簡介培訓
GPU 程式設計是一種利用 GPU 的並行處理能力來加速需要高性能計算的應用程式的技術,例如人工智慧、遊戲、圖形和科學計算。有幾種框架和工具可以實現 GPU 程式設計,每種框架和工具都有自己的優點和缺點。一些最受歡迎的是 OpenCL、CUDA、ROCm 和 HIP。
這種以講師為主導的現場培訓(現場或遠端)針對的是希望學習GPU程式設計基礎知識以及開發GPU應用程式的主要框架和工具的初級到中級開發人員。
- 在培訓結束時,參與者將能夠:
瞭解 CPU 和 GPU 計算之間的區別以及 GPU 程式設計的好處和挑戰。 - 為他們的 GPU 應用程式選擇正確的框架和工具。
- 創建一個基本的 GPU 程式,該程式使用一個或多個框架和工具執行向量加法。
- 使用相應的 API、語言和庫來查詢設備資訊、分配和解除分配設備記憶體、在主機和設備之間複製數據、啟動內核以及同步線程。
- 使用相應的記憶體空間(如全域、本地、常量和專用)來優化數據傳輸和記憶體訪問。
- 使用相應的執行模型(如工作項、工作組、線程、塊和網格)來控制並行度。
- 使用 CodeXL 、 CUDA-GDB 、 CUDA-MEMCHECK 和 NVIDIA Nsight 等工具調試和測試 GPU 程式。
- 使用合併、緩存、預取和分析等技術優化 GPU 程式。
課程形式
- 互動講座和討論。
- 大量的練習和練習。
- 在現場實驗室環境中動手實施。
課程自定義選項
- 如需申請本課程的定製培訓,請聯繫我們進行安排。
課程簡介
介紹
- 什麼是 GPU 程式設計?
- 為什麼要使用 GPU 程式設計?
- GPU 程式設計的挑戰和權衡是什麼?
- GPU 程式設計的框架和工具是什麼?
- 為您的應用程式選擇正確的框架和工具
OpenCL
- 什麼是OpenCL?
- OpenCL的優點和缺點是什麼?
- 為 OpenCL 設置開發環境
- 創建一個執行向量加法的基本 OpenCL 程式
- 使用 OpenCL API 查詢設備資訊、分配和釋放設備記憶體、在主機和設備之間複製數據、啟動內核和同步線程
- 使用 OpenCL C 語言編寫在設備上執行的內核並操作數據
- 使用 OpenCL 內置函數、變數和庫執行常見任務和操作
- 使用 OpenCL 記憶體空間(例如全域、本地、常量和專用)來優化數據傳輸和記憶體訪問
- 使用 OpenCL 執行模型來控制定義並行度的工作項、工作組和 ND 範圍
- 使用 CodeXL 等工具調試和測試 OpenCL 個程式
- 使用合併、緩存、預取和分析等技術優化 OpenCL 個程式
CUDA的
- 什麼是CUDA?
- CUDA的優缺點是什麼?
- 設置 CUDA 的開發環境
- 創建一個執行向量加法的基本 CUDA 程式
- 使用 CUDA API 查詢設備資訊、分配和釋放設備記憶體、在主機和設備之間複製數據、啟動內核和同步線程
- 使用 CUDA C/C++ 語言編寫在設備上執行的內核並操作數據
- 使用 CUDA 內建函數、變數和庫執行常見任務和操作
- 使用 CUDA 記憶體空間(例如全域、共用、常量和本地)來優化數據傳輸和記憶體訪問
- 使用 CUDA 執行模型來控制定義並行度的線程、塊和網格
- 使用 CUDA-GDB、CUDA-MEMCHECK 和 NVIDIA Nsight 等工具調試和測試 CUDA 程式
- 使用合併、緩存、預取和分析等技術優化 CUDA 程式
中華民國
- 什麼是ROCm?
- ROCm的優缺點是什麼?
- 為 ROCm 設定開發環境
- 創建執行向量加法的基本 ROCm 程式
- 使用 ROCm API 查詢設備資訊、分配和釋放裝置記憶體、在主機和設備之間複製數據、啟動內核和同步線程
- 使用 ROCm C/C++ 語言編寫在設備上執行的內核並操作數據
- 使用 ROCm 內建函數、變數和庫執行常見任務和操作
- 使用 ROCm 記憶體空間(如全域、本地、常量和專用)來優化數據傳輸和記憶體訪問
- 使用 ROCm 執行模型來控制定義並行度的線程、塊和網格
- 使用 ROCm Debugger 和 ROCm Profiler 等工具調試和測試 ROCm 程式
- 使用合併、緩存、預取和分析等技術優化 ROCm 程式
臀部
- 什麼是HIP?
- HIP的優點和缺點是什麼?
- 設置 HIP 的開發環境
- 創建執行向量加法的基本 HIP 程式
- 使用 HIP 語言編寫在設備上執行的內核並操作數據
- 使用 HIP 內置函數、變數和庫執行常見任務和操作
- 使用 HIP 記憶體空間(如全域、共用、常量和本地)來優化數據傳輸和記憶體訪問
- 使用 HIP 執行模型來控制定義並行度的線程、塊和網格
- 使用 ROCm Debugger 和 ROCm Profiler 等工具調試和測試 HIP 程式
- 使用合併、緩存、預取和分析等技術優化 HIP 程式
比較
- 比較 OpenCL、CUDA、ROCm 和 HIP 的功能、性能和相容性
- 使用基準和指標評估 GPU 個程式
- 學習 GPU 程式設計的最佳實踐和技巧
- 探索 GPU 程式設計的當前和未來趨勢和挑戰
總結和下一步
最低要求
- 瞭解 C/C++ 語言和並行程式設計概念
- 計算機體系結構和記憶體層次結構的基礎知識
- 具有命令行工具和代碼編輯器的經驗
觀眾
- 希望學習 GPU 程式設計基礎知識以及開發GPU應用程式的主要框架和工具的開發人員
- 希望編寫可在不同平臺和設備上運行的可移植和可擴展代碼的開發人員
- 希望探索 GPU 程式設計和優化的好處和挑戰的程式師
需要幫助選擇合適的課程嗎?
GPU編程簡介培訓 - 詢問
GPU編程簡介 - 咨詢詢問
相關課程
使用華爲Ascend和CANN開發AI應用
21 小時Huawei Ascend是一系列專爲高性能推理和訓練設計的AI處理器。
本次由講師指導的培訓(線上或線下)面向中級AI工程師和數據科學家,旨在幫助他們使用華爲Ascend平臺和CANN工具包開發和優化神經網絡模型。
培訓結束後,參與者將能夠:
- 設置和配置CANN開發環境。
- 使用MindSpore和CloudMatrix工作流開發AI應用。
- 使用自定義算子和分塊優化Ascend NPU的性能。
- 將模型部署到邊緣或雲環境。
課程形式
- 互動式講座和討論。
- 在示例應用中動手使用華爲Ascend和CANN工具包。
- 專注於模型構建、訓練和部署的指導練習。
課程定製選項
- 如需根據您的基礎設施或數據集定製本課程,請聯繫我們安排。
使用CANN和Ascend AI處理器部署AI模型
14 小時CANN(Neural Networks計算架構)是華爲的AI計算堆棧,用於在Ascend AI處理器上部署和優化AI模型。
本次由講師指導的培訓(線上或線下)面向中級AI開發人員和工程師,旨在幫助他們使用CANN工具包及MindSpore、TensorFlow或PyTorch等工具,將訓練好的AI模型高效部署到Huawei Ascend硬件上。
通過本次培訓,學員將能夠:
- 瞭解CANN架構及其在AI部署流程中的作用。
- 將來自流行框架的模型轉換爲與Ascend兼容的格式。
- 使用ATC、OM模型轉換和MindSpore等工具進行邊緣和雲端推理。
- 診斷部署問題並優化Ascend硬件上的性能。
課程形式
- 互動式講座和演示。
- 使用CANN工具和Ascend模擬器或設備進行動手實驗。
- 基於真實AI模型的實際部署場景。
課程定製選項
- 如需爲本課程定製培訓,請聯繫我們安排。
AI Inference and Deployment with CloudMatrix
21 小時CloudMatrix 是華爲統一的 AI 開發和部署平臺,旨在支持可擴展的生產級推理管道。
本課程由講師主導,採用線上或線下培訓形式,面向初級到中級 AI 專業人員,幫助他們使用 CloudMatrix 平臺與 CANN 和 MindSpore 集成來部署和監控 AI 模型。
在培訓結束時,參與者將能夠:
- 使用 CloudMatrix 進行模型打包、部署和服務。
- 轉換和優化模型以適應 Ascend 芯片組。
- 爲即時和批量推理任務設置管道。
- 在生產環境中監控部署並調整性能。
課程形式
- 互動式講座和討論。
- 在實際部署場景中動手使用 CloudMatrix。
- 專注於轉換、優化和擴展的指導練習。
課程定製選項
- 如需根據您的 AI 基礎設施或雲環境定製本課程,請聯繫我們進行安排。
GPU Programming 關於Biren AI加速器
21 小時Biren AI 加速器是專爲 AI 和高性能計算(HPC)工作負載設計的高性能 GPU,支持大規模訓練和推理。
本課程爲講師主導的培訓(線上或線下),面向中級到高級開發者,旨在教授如何使用 Biren 的專有 GPU 棧進行編程和優化,並與基於 CUDA 的環境進行實際對比。
在本課程結束時,學員將能夠:
- 理解 Biren GPU 架構和內存層次結構。
- 搭建開發環境並使用 Biren 的編程模型。
- 轉換並優化基於 CUDA 的代碼以適用於 Biren 平臺。
- 應用性能調優和調試技術。
課程形式
- 互動式講座與討論。
- 在示例 GPU 工作負載中實踐使用 Biren SDK。
- 專注於移植和性能調優的指導練習。
課程定製選項
- 如需根據您的應用棧或集成需求定製本課程,請聯繫我們安排。
Cambricon MLU Development with BANGPy and Neuware
21 小時Cambricon MLUs (Machine Learning 单元) 是专为边缘和数据中心场景中的推理和训练优化的AI芯片。
本次由讲师指导的培训(线上或线下)面向中级开发者,旨在帮助他们使用BANGPy框架和Neuware SDK在Cambricon MLU硬件上构建和部署AI模型。
通过本次培训,参与者将能够:
- 设置和配置BANGPy和Neuware开发环境。
- 开发和优化基于Python和C++的模型,适用于Cambricon MLUs。
- 将模型部署到运行Neuware运行时的边缘和数据中心设备。
- 将ML工作流与MLU特定的加速功能集成。
课程形式
- 互动式讲座和讨论。
- 动手实践,使用BANGPy和Neuware进行开发和部署。
- 指导练习,专注于优化、集成和测试。
课程定制选项
- 如需根据您的Cambricon设备型号或使用场景定制本次培训,请联系我们安排。
CANN AI 框架開發者入門
7 小時CANN(Neural Networks的計算架構)是華爲的AI計算工具包,用於在Ascend AI處理器上編譯、優化和部署AI模型。
本次由講師指導的培訓(線上或線下)面向初級的AI開發者,旨在幫助他們瞭解CANN如何融入從訓練到部署的模型生命週期,以及它如何與MindSpore、TensorFlow和PyTorch等框架協作。
在培訓結束時,參與者將能夠:
- 理解CANN工具包的用途和架構。
- 搭建包含CANN和MindSpore的開發環境。
- 將簡單的AI模型轉換並部署到Ascend硬件上。
- 爲未來的CANN優化或集成項目打下基礎。
課程形式
- 互動式講座和討論。
- 實踐實驗,包含簡單模型部署。
- 逐步講解CANN工具鏈和集成點。
課程定製選項
- 如需定製本課程,請聯繫我們安排。
CANN 用於 Edge AI 部署
14 小時華爲的Ascend CANN工具包能夠在邊緣設備(如Ascend 310)上實現強大的AI推理。CANN提供了在計算和內存受限的環境中編譯、優化和部署模型所需的必要工具。
本次由講師指導的培訓(線上或線下)面向希望使用CANN工具鏈在Ascend邊緣設備上部署和優化模型的中級AI開發人員和集成人員。
培訓結束後,學員將能夠:
- 使用CANN工具爲Ascend 310準備和轉換AI模型。
- 使用MindSpore Lite和AscendCL構建輕量級推理管道。
- 在計算和內存受限的環境中優化模型性能。
- 在實際邊緣用例中部署和監控AI應用。
課程形式
- 互動講座與演示。
- 針對邊緣特定模型和場景的實踐操作。
- 在虛擬或物理邊緣硬件上進行即時部署示例。
課程定製選項
- 如需爲本課程定製培訓,請聯繫我們進行安排。
理解華為AI計算堆疊:從CANN到MindSpore
14 小時華爲的AI技術棧——從底層的CANN SDK到高層的MindSpore框架——提供了一個緊密集成的AI開發和部署環境,專爲Ascend硬件優化。
本次由講師指導的培訓(線上或線下)面向初級到中級的技術專業人員,旨在幫助他們理解CANN和MindSpore組件如何協同工作,以支持AI生命週期管理和基礎設施決策。
培訓結束後,學員將能夠:
- 理解華爲AI計算棧的分層架構。
- 瞭解CANN如何支持模型優化和硬件級部署。
- 評估MindSpore框架和工具鏈,並與行業替代方案進行比較。
- 將華爲的AI技術棧定位到企業或雲/本地環境中。
課程形式
- 互動講座與討論。
- 即時系統演示和基於案例的講解。
- 可選的指導實驗,涵蓋從MindSpore到CANN的模型流程。
課程定製選項
- 如需爲本課程定製培訓,請聯繫我們安排。
使用CANN SDK優化神經網絡性能
14 小時CANN SDK(Neural Networks 的計算架構)是華為的 AI 計算基礎,允許開發者在 Ascend AI 處理器上微調和優化已部署的神經網絡性能。
這是一個由講師主導的培訓(線上或線下),旨在針對高級 AI 開發者和系統工程師,他們希望使用 CANN 的先進工具集(包括 Graph Engine、TIK 和自定義算子開發)來優化推理性能。
培訓結束時,參與者將能夠:
- 了解 CANN 的運行時架構和性能生命周期。
- 使用性能分析工具和 Graph Engine 進行性能分析和優化。
- 使用 TIK 和 TVM 創建和優化自定義算子。
- 解決內存瓶頸並提高模型吞吐量。
課程形式
- 互動式講座和討論。
- 實時性能分析和算子調優的實踐實驗室。
- 使用邊緣案例部署示例的優化練習。
課程定制選項
- 如需為此課程請求定制培訓,請聯繫我們進行安排。
CANN SDK用於計算機視覺與自然語言處理管道
14 小時CANN SDK(神經網絡計算架構)爲計算機視覺和自然語言處理中的即時AI應用提供了強大的部署和優化工具,尤其是在華爲Ascend硬件上。
本次由講師主導的培訓(線上或線下)面向中級AI從業者,旨在幫助他們使用CANN SDK構建、部署和優化視覺與語言模型,以用於實際生產場景。
培訓結束後,學員將能夠:
- 使用CANN和AscendCL部署和優化CV與NLP模型。
- 使用CANN工具轉換模型,並將其集成到即時管道中。
- 優化檢測、分類和情感分析等任務的推理性能。
- 爲邊緣或雲端部署場景構建即時CV/NLP管道。
課程形式
- 互動式講座與演示。
- 動手實驗,包括模型部署與性能分析。
- 使用實際CV和NLP用例設計即時管道。
課程定製選項
- 如需定製本課程,請聯繫我們安排。
使用CANN TIK和TVM构建自定义AI算子
14 小時CANN TIK(張量指令內核)和Apache TVM能夠對Huawei Ascend硬件的AI模型操作符進行高級優化和定製。
本次由講師指導的培訓(線上或線下)面向高級系統開發者,旨在幫助他們使用CANN的TIK編程模型和TVM編譯器集成,構建、部署和調優AI模型的自定義操作符。
培訓結束後,參與者將能夠:
- 使用TIK DSL爲Ascend處理器編寫和測試自定義AI操作符。
- 將自定義操作符集成到CANN運行時和執行圖中。
- 使用TVM進行操作符調度、自動調優和基準測試。
- 調試和優化自定義計算模式的指令級性能。
課程形式
- 互動講座與演示。
- 使用TIK和TVM管道進行實際操作符編碼。
- 在Ascend硬件或模擬器上進行測試和調優。
課程定製選項
- 如需爲本課程定製培訓,請聯繫我們安排。
Migrating CUDA Applications to Chinese GPU Architectures
21 小時中國的GPU架構,如Huawei Ascend、Biren和Cambricon MLU,提供了專為本地AI和HPC市場量身定制的CUDA替代方案。
這項由講師指導的培訓(線上或線下)旨在為高級GPU程式設計師和基礎設施專家提供遷移和優化現有CUDA應用程序,以便在中國硬件平台上部署的能力。
培訓結束後,參與者將能夠:
- 評估現有CUDA工作負載與中國芯片替代方案的兼容性。
- 將CUDA代碼庫移植到華為CANN、Biren SDK和Cambricon BANGPy環境中。
- 比較性能並識別跨平台的優化點。
- 解決跨架構支持和部署中的實際挑戰。
課程形式
- 互動式講座和討論。
- 實踐代碼翻譯和性能比較實驗。
- 專注於多GPU適應策略的指導練習。
課程定制選項
- 如需根據您的平台或CUDA項目定制培訓,請聯繫我們安排。
Performance Optimization on Ascend, Biren, and Cambricon
21 小時Ascend、Biren 和 Cambricon 是中國領先的 AI 硬體平台,各自提供獨特的加速和性能分析工具,用於生產規模的 AI 工作負載。
這項由講師指導的培訓(線上或線下)針對高級 AI 基礎設施和性能工程師,旨在優化跨多個中國 AI 晶片平台的模型推理和訓練工作流程。
在培訓結束時,參與者將能夠:
- 在 Ascend、Biren 和 Cambricon 平台上進行模型基準測試。
- 識別系統瓶頸和記憶體/計算效率低下的問題。
- 應用圖層級、核心層級和操作層級的優化。
- 調整部署管道以提高吞吐量和減少延遲。
課程形式
- 互動式講座和討論。
- 在每個平台上實際使用性能分析和優化工具。
- 專注於實際調整情境的指導練習。
課程定制選項
- 如需根據您的性能環境或模型類型定制此課程,請聯繫我們安排。