• <td id="46i6g"><rt id="46i6g"></rt></td>
    <td id="46i6g"><kbd id="46i6g"></kbd></td>
  • <xmp id="46i6g"><option id="46i6g"></option><option id="46i6g"><option id="46i6g"></option></option>
  • <td id="46i6g"></td>
    發布時間:2020-10-26 10:47 原文鏈接: GPU是如何工作的?與CPU、DSP有什么區別?(二)

      第三步,rasterisation。因為電腦的屏幕是由一個又一個的像素組成,因此,需要將一條連續的直線,使用繪圖的演算法,以方格繪出該直線。圖形也是以此方式,先標出邊線,再用方格填滿整個平面。

      第四步,fragment shader。將格點化后的圖形著上顏色。所需著上的顏色也是于輸入時便被注記。在游玩游戲時,這一步相當耗費 GPU 的計算資源,因為光影的效果、物體表面材質皆是在這一步進行,這些計算決定著游戲畫面的精細程度。因此在游玩游戲時,調高游戲畫面品質大幅增加這一步的計算負擔,降低游戲品質。

      將一個三角形,用方格呈現近似原始圖案,并著上顏色。一塊又一塊的方格,就是顯示器上的像素

      最后一步,testing and blending。便是將第一步所獲得的投影垂直距離取出,和第四步的結果一同做最后處理。在去除被會被其他較近距離的物體擋住的物體后,讓剩下的圖形放進 GPU 的輸出內存。之后,結果便會被送到電腦屏幕顯示。

      GPU與DSP區別

      GPU在幾個主要方面有別于DSP(Digital Signal Processing,簡稱DSP(數字信號處理)架構。其所有計算均使用浮點算法,而且目前還沒有位或整數運算指令。此外,由于GPU專為圖像處理設計,因此存儲系統實際上是一個二維的分段存儲空間,包括一個區段號(從中讀取圖像)和二維地址(圖像中的X、Y坐標)。此外,沒有任何間接寫指令。輸出寫地址由光柵處理器確定,而且不能由程序改變。這對于自然分布在存儲器之中的算法而言是極大的挑戰。最后一點,不同碎片的處理過程間不允許通信。實際上,碎片處理器是一個SIMD數據并行執行單元,在所有碎片中獨立執行代碼。

      盡管有上述約束,但是GPU還是可以有效地執行多種運算,從線性代數和信號處理到數值仿真。雖然概念簡單,但新用戶在使用GPU計算時還是會感到迷惑,因為GPU需要專有的圖形知識。這種情況下,一些軟件工具可以提供幫助。兩種高級描影語言CG和HLSL能夠讓用戶編寫類似C的代碼,隨后編譯成碎片程序匯編語言。Brook是專為GPU計算設計,且不需要圖形知識的高級語言。因此對第一次使用GPU進行開發的工作人員而言,它可以算是一個很好的起點。

      Brook是C語言的延伸,整合了可以直接映射到 GPU的簡單數據并行編程構造。經GPU存儲和操作的數據被形象地比喻成“流”(stream),類似于標準C中的數組。核心(Kernel)是在流上操作的函數。在一系列輸入流上調用一個核心函數意味著在流元素上實施了隱含的循環,即對每一個流元素調用核心體。Brook還提供了約簡機制,例如對一個流中所有的元素進行和、最大值或乘積計算。Brook還完全隱藏了圖形API的所有細節,并把GPU中類似二維存儲器系統這樣許多用戶不熟悉的部分進行了虛擬化處理。用Brook編寫的應用程序包括線性代數子程序、快速傅立葉轉換、光線追蹤和圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速緩存、SSE匯編優化Pentium 4執行條件下,許多此類應用的速度提升高達7倍之多。

      對GPU計算感興趣的用戶努力將算法映射到圖形基本元素。類似Brook這樣的高級編程語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪制引擎,而是會成為個人電腦的主要計算引擎。

      GPU和CPU的區別是什么?

      要解釋兩者的區別,要先明白兩者的相同之處:兩者都有總線和外界聯系,有自己的緩存體系,以及數字和邏輯運算單元。一句話,兩者都為了完成計算任務而設計。


  • <td id="46i6g"><rt id="46i6g"></rt></td>
    <td id="46i6g"><kbd id="46i6g"></kbd></td>
  • <xmp id="46i6g"><option id="46i6g"></option><option id="46i6g"><option id="46i6g"></option></option>
  • <td id="46i6g"></td>
    亚洲日本va中文字幕久久道具