感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
介紹
- 什麼是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程序
- 使用ROCm API查詢設備信息、分配和釋放設備內存、在主機和設備之間複製數據、啓動內核並同步線程
- 使用ROCm C/C++語言編寫在設備上執行並操作數據的內核
- 使用ROCm內置函數、變量和庫來執行常見任務和操作
- 使用ROCm內存空間(如全局、本地、常量和私有)來優化數據傳輸和內存訪問
- 使用ROCm執行模型來控制定義並行性的線程、塊和網格
- 使用ROCm調試器和ROCm分析器等工具調試和測試ROCm程序
- 使用合併、緩存、預取和分析等技術優化ROCm程序
比較
- 比較OpenCL、CUDA和ROCm的特性、性能和兼容性
- 使用基準測試和指標評估GPU程序
- 學習GPU編程的最佳實踐和技巧
- 探索GPU編程的當前和未來趨勢與挑戰
總結與下一步
最低要求
- 瞭解C/C++語言和並行編程概念
- 具備計算機架構和內存層次結構的基礎知識
- 有使用命令行工具和代碼編輯器的經驗
受衆
- 希望學習如何使用不同框架進行GPU編程並比較其特性、性能和兼容性的開發者
- 希望編寫可在不同平臺和設備上運行的便攜且可擴展代碼的開發者
- 希望探索GPU編程和優化的權衡與挑戰的程序員
28 時間: