?近年來,隨著深度學習的高速發展,大數據技術的普及,接下來緊接的會普及發展的想必就是硬件層面的配合,而GPU無疑是最重要的趨勢。過去幾年,計算領域我們目睹了英偉達(NVIDIA)公司帶來的變革。計算統一設備架構(Compute Unified Device Architecture, CUDA)編程語言的引入,第一次使這些非常強大的圖形處理器為程序員日常所用,以應對日益復雜的計算工作。從嵌入式設備行業到家庭用戶,再到超級計算機,所有的一切都因此而改變。
? ???
計算機軟件界較大的變遷是從串行編程轉向了并行編程。其中,CUDA起到了重要的作用。究其本質,圖形處理單元(Graphics Processor Unit,GPU)是為高速圖形處理而設計的,它具有天然的并行性。CUDA采用了一種簡單的數據并行模型,再結合編程模型,從而無需操縱復雜的圖形基元。
一. GPU與CUDA背景基礎介紹
第1部份 CUDA硬件環境,體系結構,軟件環境介紹,包括平臺、架構、開發工具和熱點技術
第2部份 并行編程介紹,CUDA核心概念,包括網格、線程塊,不同類型內存的工作機制
二. CUDA編程基礎
第3部份 CUDA設備內存、常量內存、共享內存和紋理內存,CUDA流和事件
第4部份 CUDA執行模式、線程調度、內核執行和CUDA存儲器的使用
第5部份 CUDA流處理器簇、多GPU編程、紋理操作
三. CUDA性能優化與設計
第6部份 CPU/GPU協同編程,串行/并行程序中提高并行度的常用策略
第7部份 流式負載以及使用GPU做應用程序性能優化常用策略
第8部份 在集群中使用CUDA
四. 實戰項目經驗
第9部份 應用CUDA做高維數據處理
第10部份 CUDA+OpenGL做圖形渲染
第11部份 CPGPU實現視頻流實時光流跟蹤
第12部份 深度學習框架中的GPU應用
|