繪圖處理器設計

基於OpenCL架構之平行運算處理器設計

本實驗室依據OpenCL框架所定義的記憶體和平台模組設計出此處理器。如下圖所示,每四個著色器核心會集合成為一個compute unit,每個核心被視為processing element;每個processing element可以透過on-chip的local memory互相溝通,而為了降低每個核心存取local memory可能的structural hazard機會,它採用了multi-bank的local memory架構設計。

(圖一) 基於OpecCL架構的平行運算處理器之設計

綜合而言,此平行運算處理器共包含以下特點:向量指令集純量著色核心、多執行緒排程切換、單一埠暫存器之設計、共享式特殊函數(含貼圖功能)單元、階層式記憶體、多個bank的Local Memory、同步barrier指令支援及一組簡易開發之API。

(圖二) 多執行緒範例應用 - Follow the ball

高效率光線追蹤系統之BVH建構單元設計

光線追蹤演算法能夠繪製呈像出比傳統基於深度緩衝區呈像法更逼真的圖像,如下圖所示。唯受限於其大量的耗時計算特性,並無法應用於須要即時性的應用上。為了能夠推動光線追蹤之應用,本實驗室提出一個高效率的BVH建構單元電路架構設計,該單元能夠很快速的建構適用於光線追蹤系統的樹狀結構。另外,此架構之設計能夠達到與先前文獻之設計相當的建構速度,而其所需之硬體面積僅是原來的三分之一。

(圖三) 傳統呈像與光線追蹤呈像之差異

最後,本實驗室還使用一個dual-tree interleaving的技術,以交錯方式進行節點分割的處理,比起常見的depth-first節點分割處理,能更提高硬體整體使用率避免硬體閒置。

(圖四) BVH Builder架構圖