GPGPU渲染GPU的认知总结
GPGPU代表general purpose computing on graphics procesing unit,就是“圖形處理器通用計算技術”。這種新型的加速技術試圖把個人計算機上的顯卡當作CPU這樣的通用處理器來用,使顯卡的強勁動力不僅僅發揮在圖形處理上。從2009年開始,利用顯卡進行計算已經漸成主流。
GPU的工作過程,它從CPU處獲得三維模型,這些模型是用頂點坐標和色彩信息組成的,GPU對這些頂點的位置進行一系列的變換,然后投影到幀緩存上。投影的同時,GPU根據顯示其的大小和分辨率對投影結果進行裁減,光柵化,每個幀緩存里的像素或者像素多邊形的色彩經過GPU的一系列變換,最后的結果被GPU輸出到顯示器上。
GPU在計算機中的位置:
這一系列的工作是先后有序,不可顛倒的,前面步驟的輸出是后面步驟的輸入,這一連串的圖形處理任務被成為圖形流水線,圖形流水線的入口是頂點坐標和顏色信息,輸出是一幀適合當前顯示器顯示的圖像,流水線以較高的頻率工作(高于顯示器的刷新頻率),期間不斷有數據從中流過,同時連續的一幀幀圖像被輸出到顯示器上。
應用程序輸入GPU的是三維的點云數據,從流水線輸入端直到頂點著色器,流水線計算的對象都是三維幾何模型,從光柵化器開始,所有操作都幀度二維像素了。
1.在計算機科學史上,某個算法一旦被設計出來就會被持續不斷的改進,來達到更高的直行效率,一般來說,某個算法若在改進后比原來快了20%或者50%,就會被認為是個顯著的貢獻,并有機會發表在學術論文中。但顯著改進某個算法的性能絕非易事,除了要深入了解算法的內涵,還要求算法設計者有較身后的理論基礎和很強的創新能力。
2.2004年之后,CPU發展已經告別了主頻時代,單核CPU的性能自此之后很難靠提高主頻來提高性能。然而依靠重新設計算法來顯著提高程序的運行效率是一項艱巨的腦力勞動,且成效較為有限。所以,為了充分利用CPU的計算資源,越來越多的算法被重新設計成并行結構,以適應多核CPU架構,但是,和主頻一樣,多核CPU的核心數目也受到各種因素的限制,比如成本,散熱燈技術難題。
3.要使用GPU做并行計算,就要保證并行計算算法滿足幾個條件,首先每個線程的任務互不相關,其次,每個線程執行相同的指令。與之相應,具有以下特點的算法能夠在GPU上達到最高的直行效率,首先每個數據(數據包)都需要經過相同的流程來處理,其次數據之間沒有相干性,即某些數據的計算不依賴于另一些數據的計算結果,最后,數據量龐大。需要注意的事,以上的要求都是針對局部算法而言的,比如,算法中的一步操作,一個循環語句等等,并不要求整個程序都滿足線程的不相干性和指令一致性,一個完整的程序可以是由多個滿足以上條件的部分接合起來的,而對程序全劇的控制和個部分的協調可以放在CPU上完成,這也就是所謂的異構并行計算。也就是說,計算資源含有多個不同的處理器,比如由GPU,CPU,甚至還有其他的處理器比如NPU,組成的處理器陣列,而GPGPU的計算過程是由CPU和GPU等共同完成的,開發人員可以將算法復雜的,要求精度高的數據量小的部分交給CPU,而將算法枯燥的,對精度要求不是很高的,數據量龐大的部分交給GPU來完成。
結束
總結
以上是生活随笔為你收集整理的GPGPU渲染GPU的认知总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锐捷Ruijie交换机补丁升级及补丁卸载
- 下一篇: 不定积分公式表