(1)GPU體系架構(gòu)與并行計(jì)算基礎(chǔ):理解GPU與CPU的架構(gòu)差異,掌握GPU的發(fā)展歷程和可編程GPU的工作流程。學(xué)習(xí)SIMT(單指令多線程)執(zhí)行模型、線程層次結(jié)構(gòu)(網(wǎng)格、線程塊、線程)以及GPU存儲(chǔ)體系(全局內(nèi)存、共享內(nèi)存、寄存器、常量?jī)?nèi)存、紋理內(nèi)存)的組織方式。掌握GPU在通用計(jì)算中的優(yōu)勢(shì)及未來(lái)發(fā)展趨勢(shì)。
(2)CUDA編程模型與開(kāi)發(fā)環(huán)境搭建:學(xué)習(xí)CUDA編程模型的核心概念,包括內(nèi)核函數(shù)定義與調(diào)用、線程組織方式、內(nèi)置變量和API函數(shù)。搭建CUDA開(kāi)發(fā)環(huán)境,掌握NVCC編譯器使用、項(xiàng)目配置和調(diào)試工具(NVIDIA Nsight、cuda-gdb)的應(yīng)用。編寫(xiě)第一個(gè)CUDA程序,實(shí)現(xiàn)向量加法并理解主機(jī)與設(shè)備間的數(shù)據(jù)傳遞機(jī)制。
(3)CUDA存儲(chǔ)器優(yōu)化技術(shù):深入理解各類存儲(chǔ)器的特性與適用場(chǎng)景。掌握全局內(nèi)存的合并訪問(wèn)原則,利用共享內(nèi)存減少全局內(nèi)存訪問(wèn)次數(shù),使用常量?jī)?nèi)存和紋理內(nèi)存加速特定訪問(wèn)模式。學(xué)習(xí)寄存器壓力管理、本地內(nèi)存溢出及bank conflict的避免策略。
(4)并行算法模式與CUDA實(shí)現(xiàn):掌握GPU上常見(jiàn)并行算法的設(shè)計(jì)模式,包括映射(Map)、規(guī)約(Reduce)、掃描(Scan/Prefix Sum)、散列(Scatter)和聚集(Gather)。實(shí)現(xiàn)并行規(guī)約算法進(jìn)行數(shù)組求和,理解線程間同步與原子操作的適用場(chǎng)景。
(5)圖像處理基礎(chǔ)算法的GPU加速:學(xué)習(xí)將像素級(jí)圖像處理算法映射到GPU線程模型的方法。實(shí)現(xiàn)彩色圖轉(zhuǎn)灰度圖、圖像亮度/對(duì)比度調(diào)整、閾值分割等點(diǎn)運(yùn)算算法的GPU加速。實(shí)現(xiàn)圖像翻轉(zhuǎn)、縮放、旋轉(zhuǎn)等幾何變換算法,處理坐標(biāo)映射與插值計(jì)算。
(6)圖像卷積與濾波的并行優(yōu)化:深入理解卷積運(yùn)算的并行化策略,實(shí)現(xiàn)基于共享內(nèi)存的tiled卷積優(yōu)化。掌握二維卷積的邊界處理、步長(zhǎng)卷積和擴(kuò)張卷積的GPU實(shí)現(xiàn)。實(shí)現(xiàn)均值濾波、高斯濾波、Sobel邊緣檢測(cè)、中值濾波等經(jīng)典濾波算法的GPU加速。
(7)圖像直方圖與統(tǒng)計(jì)特征計(jì)算:實(shí)現(xiàn)圖像直方圖計(jì)算的GPU并行算法,處理原子操作帶來(lái)的性能瓶頸。學(xué)習(xí)使用共享內(nèi)存和私有化直方圖技術(shù)優(yōu)化性能。實(shí)現(xiàn)均值、方差、熵等統(tǒng)計(jì)特征的GPU并行計(jì)算。
(8)cuFFT庫(kù)與頻域圖像處理:學(xué)習(xí)CUDA快速傅立葉變換庫(kù)(cuFFT)的API接口和使用方法。掌握cuFFT在圖像處理中的應(yīng)用,實(shí)現(xiàn)圖像的高通濾波、低通濾波和同態(tài)濾波的頻域?qū)崿F(xiàn)。比較頻域處理與時(shí)域處理的性能差異。
(9)NPP庫(kù)與高性能圖像處理原語(yǔ):學(xué)習(xí)NVIDIA Performance Primitives(NPP)庫(kù)的架構(gòu)和功能模塊。掌握NPP庫(kù)中圖像處理函數(shù)的調(diào)用方法,包括圖像初始化、顏色空間轉(zhuǎn)換、圖像濾波、形態(tài)學(xué)操作和圖像金字塔構(gòu)建。對(duì)比手寫(xiě)CUDA內(nèi)核與NPP庫(kù)函數(shù)的性能差異。
(10)特征提取與匹配的GPU加速:實(shí)現(xiàn)尺度不變特征變換(SIFT)、加速穩(wěn)健特征(SURF)、ORB等特征提取算法的GPU加速。學(xué)習(xí)使用cuBLAS庫(kù)加速特征描述子計(jì)算和匹配過(guò)程中的矩陣運(yùn)算。實(shí)現(xiàn)基于GPU的快速最近鄰搜索和特征匹配。
(11)高級(jí)優(yōu)化技術(shù)與混合編程:學(xué)習(xí)CUDA流(Streams)實(shí)現(xiàn)計(jì)算與數(shù)據(jù)傳輸?shù)闹丿B,提高設(shè)備利用率。掌握異步并發(fā)執(zhí)行和事件同步機(jī)制。了解多GPU編程模型和任務(wù)劃分策略。學(xué)習(xí)OpenCL異構(gòu)編程框架的基本概念,了解跨平臺(tái)GPU開(kāi)發(fā)的思路。
(12)綜合項(xiàng)目實(shí)戰(zhàn):結(jié)合所學(xué)知識(shí),完成一個(gè)完整的基于GPU加速的圖像處理系統(tǒng)項(xiàng)目(如實(shí)時(shí)視頻濾鏡系統(tǒng)、圖像拼接系統(tǒng)、目標(biāo)檢測(cè)預(yù)處理流水線等)。涵蓋算法設(shè)計(jì)、CUDA內(nèi)核實(shí)現(xiàn)、性能優(yōu)化、功能驗(yàn)證和結(jié)果分析的全流程,形成規(guī)范的項(xiàng)目報(bào)告。