0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從Shader編成入手了解GPU應(yīng)用方案

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-05-17 09:18 ? 次閱讀

Graphics Processing Unit(GPU),即可編程圖形處理單元, 通常也稱(chēng)之為可編程圖形硬件。

由于GPU有高并行結(jié)構(gòu)(highly parallel structure),所以GPU在處理圖形數(shù)據(jù)和復(fù)雜算法方面擁有比CPU更高的效率。圖 1 GPU VS CPU 展示了 GPU 和 CPU 在結(jié)構(gòu)上的差異,CPU 大部分面積為控制器寄存器,與之相比,GPU擁有更多的 ALU(Arithmetic Logic Unit,邏輯運(yùn)算單元)用于數(shù)據(jù)處理,而非數(shù)據(jù)高速緩存和流控制,這樣的結(jié)構(gòu)適合對(duì)密集型數(shù)據(jù)進(jìn)行并行處理。CPU 執(zhí)行計(jì)算任務(wù)時(shí),一個(gè)時(shí)刻只處理一個(gè)數(shù)據(jù),不存在真正意義上的并行,而 GPU 具有多個(gè)處理器核,在一個(gè)時(shí)刻可以并行處理多個(gè)數(shù)據(jù)。

GPU 采用流式并行計(jì)算模式,可對(duì)每個(gè)數(shù)據(jù)進(jìn)行獨(dú)立的并行計(jì)算,所謂“對(duì) 數(shù)據(jù)進(jìn)行獨(dú)立計(jì)算”,即,流內(nèi)任意元素的計(jì)算不依賴(lài)于其它同類(lèi)型數(shù)據(jù),例如,計(jì)算一個(gè)頂點(diǎn)的世界位置坐標(biāo),不依賴(lài)于其他頂點(diǎn)的位置。而所謂“并行計(jì)算” 是指“多個(gè)數(shù)據(jù)可以同時(shí)被使用,多個(gè)數(shù)據(jù)并行運(yùn)算的時(shí)間和 1 個(gè)數(shù)據(jù)單獨(dú)執(zhí)行的時(shí)間是一樣的”。圖 2 中代碼目的是提取 2D 圖像上每個(gè)像素點(diǎn)的顏色值,在 CPU 上運(yùn)算的 C++代碼通過(guò)循環(huán)語(yǔ)句依次遍歷像素;而在 GPU 上,則只需要一條語(yǔ)句就足夠。

其一,object space coordinate 就是模型文件中的頂點(diǎn)值,這些值是在模型建模時(shí)得到的,例如,用 3DMAX 建 立一個(gè)球體模型并導(dǎo)出為.max 文件,這個(gè)文件中包含的數(shù)據(jù)就是 object space coordinate;其二,object space coordinate 與其他物體沒(méi)有任何參照關(guān)系,注意,這個(gè)概念非常重要,它是將 object space coordinate 和 world space coordinate 區(qū)分 開(kāi)來(lái)的關(guān)鍵。無(wú)論在現(xiàn)實(shí)世界,還是在計(jì)算機(jī)的虛擬空間中,物體都必須和一個(gè)固定的坐標(biāo)原點(diǎn)進(jìn)行參照才能確定自己所在的位置,這是 world space coordinate 的實(shí)際意義所在。

從 object space coordinate 到 world space coordinate 的變換過(guò)程由一個(gè)四階矩陣控制,通常稱(chēng)之為 world matrix。需要高度注意的是:頂點(diǎn)法向量在模型文件中屬于 object space,在 GPU 的 頂點(diǎn)程序中必須將法向量轉(zhuǎn)換到 world space 中才能使用,如同必須將頂點(diǎn)坐標(biāo)從 object space 轉(zhuǎn)換到 world space 中一樣,但兩者的轉(zhuǎn)換矩陣是不同的,準(zhǔn)確的說(shuō),法向量從 object space 到 world space 的轉(zhuǎn)換矩陣是 world matrix 的轉(zhuǎn)置矩陣的逆矩陣。

每個(gè)人都是從各自的視點(diǎn)出發(fā)觀(guān)察這個(gè)世界,無(wú)論是主觀(guān)世界還是客觀(guān)世界。同樣,在計(jì)算機(jī)中每次只能從唯一的視角出發(fā)渲染物體。在游戲中,都會(huì)提供視點(diǎn)漫游的功能,屏幕顯示的內(nèi)容隨著視點(diǎn)的變化而變化。這是因?yàn)?GPU 將 物體頂點(diǎn)坐標(biāo)從 world space 轉(zhuǎn)換到了 eye space。 所謂 eye space,即以 camera(視點(diǎn)或相機(jī))為原點(diǎn),由視線(xiàn)方向、視角和遠(yuǎn)近平面,共同組成一個(gè)梯形體的三維空間,稱(chēng)之為 viewing frustum(視錐), 如圖 4 所示。近平面,是梯形體較小的矩形面,作為投影平面,遠(yuǎn)平面是梯形體 較大的矩形,在這個(gè)梯形體中的所有頂點(diǎn)數(shù)據(jù)是可見(jiàn)的,而超出這個(gè)梯形體之外的場(chǎng)景數(shù)據(jù),會(huì)被視點(diǎn)去除(Frustum Culling,也稱(chēng)之為視錐裁剪)。

從視點(diǎn)坐標(biāo)空間到屏幕坐標(biāo)空間 (screen coordinate space)事實(shí)上是由三步組成:

1. 用透視變換矩陣把頂點(diǎn)從視錐體中變換到裁剪空間的 CVV 中;2. 在 CVV 進(jìn)行圖元裁剪;3. 屏幕映射:將經(jīng)過(guò)前述過(guò)程得到的坐標(biāo)映射到屏幕坐標(biāo)系上。

從物理結(jié)構(gòu)而言,寄存器是 cpu 或 gpu 內(nèi)部的存儲(chǔ)單元,即寄存器是嵌入在 cpu 或者 gpu 中的,而內(nèi)存則可以獨(dú)立存在;

從功能上而言,寄存器是有限存儲(chǔ) 容量的高速存儲(chǔ)部件,用來(lái)暫存指令、數(shù)據(jù)和位址。

Shader 編成是基于計(jì)算機(jī)圖形硬件的,這其中就包括 GPU 上的寄存器類(lèi)型,glsl 和 hlsl 的著色虛擬機(jī)版本就是基于 GPU 的寄存器和指令集而區(qū)分的。

頂點(diǎn)著色器控制頂點(diǎn)坐標(biāo) 轉(zhuǎn)換過(guò)程;片段著色器控制像素顏色計(jì)算過(guò)程。這樣就區(qū)分出頂點(diǎn)著色程序和片 段著色程序的各自分工:Vertex program 負(fù)責(zé)頂點(diǎn)坐標(biāo)變換;Fragment program 負(fù)責(zé)像素顏色計(jì)算;前者的輸出是后者的輸入。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5295

    瀏覽量

    119824
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4673

    瀏覽量

    128594

原文標(biāo)題:GPU學(xué)習(xí)筆記

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--了解算力芯片GPU

    本篇閱讀學(xué)習(xí)第七、八章,了解GPU架構(gòu)演進(jìn)及CPGPU存儲(chǔ)體系與線(xiàn)程管理 █圖形到計(jì)算的GPU架構(gòu)演進(jìn) GPU圖像計(jì)算發(fā)展 ●
    發(fā)表于 11-03 12:55

    【一文看懂】大白話(huà)解釋“GPUGPU算力”

    隨著大模型的興起,“GPU算力”這個(gè)詞正頻繁出現(xiàn)在人工智能、游戲、圖形設(shè)計(jì)等工作場(chǎng)景中,什么是GPU,它與CPU的區(qū)別是什么?以及到底什么是GPU算力?本篇文章主要從以下5個(gè)角度,讓您全方位
    的頭像 發(fā)表于 10-29 08:05 ?165次閱讀
    【一文看懂】大白話(huà)解釋“<b class='flag-5'>GPU</b>與<b class='flag-5'>GPU</b>算力”

    GPU超頻設(shè)置技巧

    超頻GPU(圖形處理單元)可以提高顯卡的性能,但同時(shí)也可能增加熱量和功耗,甚至可能縮短硬件的壽命。在進(jìn)行GPU超頻之前,確保你了解可能的風(fēng)險(xiǎn),并且愿意承擔(dān)這些風(fēng)險(xiǎn)。以下是一些基本的GPU
    的頭像 發(fā)表于 10-27 11:09 ?209次閱讀

    如何選擇適合的GPU

    在現(xiàn)代計(jì)算領(lǐng)域,GPU(圖形處理單元)的作用已經(jīng)遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)的圖形渲染。深度學(xué)習(xí)到科學(xué)計(jì)算,再到視頻編輯,GPU都在發(fā)揮著越來(lái)越重要的作用。然而,市場(chǎng)上的GPU型號(hào)繁多,性能和價(jià)格
    的頭像 發(fā)表于 10-27 11:07 ?168次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--全書(shū)概覽

    、GPU、NPU,給我們剖析了算力芯片的微架構(gòu)。書(shū)中有對(duì)芯片方案商處理器的講解,理論聯(lián)系實(shí)際,使讀者能更好理解算力芯片。 全書(shū)共11章,由淺入深,較系統(tǒng)全面進(jìn)行講解。下面目錄對(duì)全書(shū)內(nèi)容有一個(gè)整體了解
    發(fā)表于 10-15 22:08

    GPU云服務(wù)器架構(gòu)解析及應(yīng)用優(yōu)勢(shì)

    GPU云服務(wù)器作為一種高性能計(jì)算資源,近年來(lái)在人工智能、大數(shù)據(jù)分析、圖形渲染等領(lǐng)域得到了廣泛應(yīng)用。它結(jié)合了云計(jì)算的靈活性與GPU的強(qiáng)大計(jì)算能力,為企業(yè)和個(gè)人用戶(hù)提供了一種高效、便捷的計(jì)算解決方案。下面我們將從架構(gòu)解析和技術(shù)優(yōu)勢(shì)兩
    的頭像 發(fā)表于 08-14 09:43 ?301次閱讀

    暴漲預(yù)警!NVIDIA GPU供應(yīng)大跳水

    gpu
    jf_02331860
    發(fā)布于 :2024年07月26日 09:41:42

    恒訊科技的GPU云解決方案有什么特點(diǎn)和優(yōu)勢(shì)?

    GPU云解決方案通常指的是云服務(wù)提供商提供的、基于圖形處理單元(GPU)的計(jì)算服務(wù)。這些服務(wù)利用GPU的并行處理能力,為用戶(hù)提供高性能的計(jì)算資源,特別適用于需要大量圖形處理或并行計(jì)算的
    的頭像 發(fā)表于 06-12 17:24 ?358次閱讀

    FPGA在深度學(xué)習(xí)應(yīng)用中或?qū)⑷〈?b class='flag-5'>GPU

    現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA) 解決了 GPU 在運(yùn)行深度學(xué)習(xí)模型時(shí)面臨的許多問(wèn)題 在過(guò)去的十年里,人工智能的再一次興起使顯卡行業(yè)受益匪淺。英偉達(dá) (Nvidia) 和 AMD 等公司的股價(jià)也大幅
    發(fā)表于 03-21 15:19

    自學(xué)STM32的話(huà)應(yīng)該入手

    麻煩問(wèn)一下自學(xué)STM32應(yīng)該怎樣入手呢,很多庫(kù)文件引用有點(diǎn)看不懂,是要從51開(kāi)始學(xué)起嗎
    發(fā)表于 03-21 09:28

    為什么GPU比CPU更快?

    大規(guī)模數(shù)據(jù)集時(shí)比CPU更快的根本原因。內(nèi)存帶寬:GPU的內(nèi)存帶寬比CPU高得多。內(nèi)存帶寬是指數(shù)據(jù)在內(nèi)存之間傳輸?shù)乃俣取?b class='flag-5'>GPU可以更快地將數(shù)據(jù)內(nèi)存?zhèn)鬏數(shù)胶诵?,并更快?/div>
    的頭像 發(fā)表于 01-26 08:30 ?2169次閱讀
    為什么<b class='flag-5'>GPU</b>比CPU更快?

    了解EMI濾波器:基礎(chǔ)到應(yīng)用?

    了解EMI濾波器:基礎(chǔ)到應(yīng)用?|深圳比創(chuàng)達(dá)電子
    的頭像 發(fā)表于 01-23 10:26 ?484次閱讀
    <b class='flag-5'>了解</b>EMI濾波器:<b class='flag-5'>從</b>基礎(chǔ)到應(yīng)用?

    OpenHarmony開(kāi)源GPU庫(kù)Mesa3D適配說(shuō)明

    Dislay HDI的GFX合成->調(diào)用KMS完成數(shù)據(jù)轉(zhuǎn)換->LCD硬件完成顯示 2.2 適配前提條件 適配框架圖可以看出,GPU適配,需要建立在Dislay HDI、DRM
    發(fā)表于 12-25 11:38

    GPU集群組網(wǎng)技術(shù)詳解

    ? 流行的GPU/TPU集群網(wǎng)絡(luò)組網(wǎng),包括:NVLink、InfiniBand、ROCE以太網(wǎng)Fabric、DDC網(wǎng)絡(luò)方案等,深入了解它們之間的連接方式以及如何在LLM訓(xùn)練中發(fā)揮作用。為了獲得良好的訓(xùn)練性能,
    的頭像 發(fā)表于 12-25 10:11 ?4887次閱讀
    <b class='flag-5'>GPU</b>集群組網(wǎng)技術(shù)詳解

    了解AI,它的底層技術(shù)開(kāi)始

    隨著科技的高速發(fā)展,人工智能(AI)毫無(wú)懸念的成為了當(dāng)今科技領(lǐng)域的熱門(mén)話(huà)題,它正在改變我們的生活方式,工作方式,甚至是我們的思考方式。然而,AI并不是一夜之間就能實(shí)現(xiàn)的,它需要一系列的關(guān)鍵技術(shù)作為支撐。想要了解AI,就得它的底層技術(shù)開(kāi)始
    的頭像 發(fā)表于 11-24 09:53 ?945次閱讀