高性能GPU模擬器的實現(xiàn)
發(fā)布時間:2021-07-20 16:39
基于圖形處理器(GPU)由固定功能管線與可編程流處理器單元構成的特點,設計了一種半周期精確的模擬器實現(xiàn)方法,并結合一種GPU結構進行了GPU模擬器的實現(xiàn)。GPU模擬器支持OpenGL 2.0 API,在實現(xiàn)了固定功能管線的基礎上,支持統(tǒng)一著色器渲染架構。模擬器對GPU結構進行半周期精確模擬。固定功能管線部分實現(xiàn)為完全周期精確模擬,可以進行3D圖形算法的正確性驗證以及性能評估。對可編程流處理器單元進行指令級功能模擬,在固定功能管線部分的配合下,可以快速輕量地對整個GPU結構進行結構與功能的驗證。文章使用模擬器運行了glmark2測試集,并且根據(jù)測試結果對GPU結構進行3D圖形算法正確性驗證與性能評估,結果表明基于本文設計方法的GPU模擬器可以快速輕量地實現(xiàn)3D圖形算法正確性驗證與性能分析。
【文章來源】:高技術通訊. 2020,30(06)北大核心
【文章頁數(shù)】:8 頁
【部分圖文】:
GPU模擬器結構示意圖
圖元處理引擎結構各流水級完成各種不同數(shù)據(jù)的乘加運算或其他數(shù)學運算,所有運算部件設計為全流水部件,流水級內部同樣實現(xiàn)更細粒度的周期模擬。流水級內部通過虛假執(zhí)行與逆序流水的方式實現(xiàn)細分流水。圖2表示2個流水級之間的數(shù)據(jù)傳遞與數(shù)據(jù)計算,每一流水級包括4級細分流水級。如第1步所示,Clock函數(shù)執(zhí)行時,后序流水級首先判定其最后一級細分流水級是否為空,如果為空,則將其前3級細分流水數(shù)據(jù)傳遞至后一級細分流水級,同時將第1級細分流水級標為空。如第2步所示,當前序流水級最后1級細分流水級不為空,且后序流水級第1級細分流水級為空時,前序流水級將數(shù)據(jù)傳遞至后序流水級,后序流水級直接將數(shù)據(jù)進行計算,并將結果寫入后序流水級第1級細分流水級。如第3步所示,前序流水級進行流水級內細分流水級數(shù)據(jù)傳遞。圖元處理引擎將整條流水線逆向調用所有流水級的Clock操作,來實現(xiàn)整條流水線的并行周期執(zhí)行。3.2.2 光柵化單元
圖3是商業(yè)顯卡GPU環(huán)境下build測試項的標準渲染結果,圖4是GPU模擬器渲染結果。對比發(fā)現(xiàn),肉眼無法看出2圖之間的差別。對圖3與圖4進行逐像素對比,對比方式為對2圖中每一相同位置像素值進行做差運算,差值結果為正數(shù),則將差值數(shù)據(jù)保存至圖5,差值結果為負數(shù),則將差值數(shù)據(jù)絕對值保存至圖6。對圖5與圖6進行對比,可以發(fā)現(xiàn)圖5呈現(xiàn)出build測試場景的下邊沿,圖6則呈現(xiàn)出build測試場景的上邊沿,表示圖3與圖4存在輕微的位置偏移,這是由于光柵化算法的實現(xiàn)不同所引起,屬于差異而不是錯誤。而圖5與圖6中除了模型邊沿數(shù)據(jù),不再有其他差別,表明GPU模擬器對build測試項繪制正確。圖4 GPU模擬器繪制效果圖
【參考文獻】:
期刊論文
[1]自主CPU發(fā)展道路及在航天領域應用[J]. 胡偉武. 上海航天. 2019(01)
本文編號:3293193
【文章來源】:高技術通訊. 2020,30(06)北大核心
【文章頁數(shù)】:8 頁
【部分圖文】:
GPU模擬器結構示意圖
圖元處理引擎結構各流水級完成各種不同數(shù)據(jù)的乘加運算或其他數(shù)學運算,所有運算部件設計為全流水部件,流水級內部同樣實現(xiàn)更細粒度的周期模擬。流水級內部通過虛假執(zhí)行與逆序流水的方式實現(xiàn)細分流水。圖2表示2個流水級之間的數(shù)據(jù)傳遞與數(shù)據(jù)計算,每一流水級包括4級細分流水級。如第1步所示,Clock函數(shù)執(zhí)行時,后序流水級首先判定其最后一級細分流水級是否為空,如果為空,則將其前3級細分流水數(shù)據(jù)傳遞至后一級細分流水級,同時將第1級細分流水級標為空。如第2步所示,當前序流水級最后1級細分流水級不為空,且后序流水級第1級細分流水級為空時,前序流水級將數(shù)據(jù)傳遞至后序流水級,后序流水級直接將數(shù)據(jù)進行計算,并將結果寫入后序流水級第1級細分流水級。如第3步所示,前序流水級進行流水級內細分流水級數(shù)據(jù)傳遞。圖元處理引擎將整條流水線逆向調用所有流水級的Clock操作,來實現(xiàn)整條流水線的并行周期執(zhí)行。3.2.2 光柵化單元
圖3是商業(yè)顯卡GPU環(huán)境下build測試項的標準渲染結果,圖4是GPU模擬器渲染結果。對比發(fā)現(xiàn),肉眼無法看出2圖之間的差別。對圖3與圖4進行逐像素對比,對比方式為對2圖中每一相同位置像素值進行做差運算,差值結果為正數(shù),則將差值數(shù)據(jù)保存至圖5,差值結果為負數(shù),則將差值數(shù)據(jù)絕對值保存至圖6。對圖5與圖6進行對比,可以發(fā)現(xiàn)圖5呈現(xiàn)出build測試場景的下邊沿,圖6則呈現(xiàn)出build測試場景的上邊沿,表示圖3與圖4存在輕微的位置偏移,這是由于光柵化算法的實現(xiàn)不同所引起,屬于差異而不是錯誤。而圖5與圖6中除了模型邊沿數(shù)據(jù),不再有其他差別,表明GPU模擬器對build測試項繪制正確。圖4 GPU模擬器繪制效果圖
【參考文獻】:
期刊論文
[1]自主CPU發(fā)展道路及在航天領域應用[J]. 胡偉武. 上海航天. 2019(01)
本文編號:3293193
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3293193.html
最近更新
教材專著