《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 硬件光線追蹤的優(yōu)勢(shì)

硬件光線追蹤的優(yōu)勢(shì)

2020-03-23
來(lái)源:電子工程世界

    生成和使用加速數(shù)據(jù)結(jié)構(gòu)來(lái)有效地表示需要做相交測(cè)試的幾何體意味著GPU可能要完成一個(gè)全新的執(zhí)行階段,然后我們需要用全新的接口函數(shù)處理這些新的數(shù)據(jù)結(jié)構(gòu),測(cè)試是否相交,之后在程序員的控制下根據(jù)相交測(cè)試的結(jié)果實(shí)現(xiàn)一些功能。GPU是并行的設(shè)計(jì),所以同時(shí)處理一堆光線意味著什么?這樣做是否發(fā)現(xiàn)了新挑戰(zhàn),而這些挑戰(zhàn)與傳統(tǒng)的幾何和像素并行處理所帶來(lái)的挑戰(zhàn)卻大不相同?

    上一個(gè)問(wèn)題的答案是非常肯定的,的確這些差異對(duì)如何將光線追蹤映射到現(xiàn)有的GPU執(zhí)行的模型中有著深遠(yuǎn)的影響。這些GPU存在計(jì)算資源和內(nèi)存資源的不平衡,導(dǎo)致內(nèi)存訪問(wèn)成為一種寶貴的資源,而浪費(fèi)這些資源是導(dǎo)致效率和性能低下的最主要原因之一。

    哦不——我們做了些什么?

    GPU被設(shè)計(jì)成可以任何形式充分利用與之連接的DRAM的訪問(wèn),利用內(nèi)存訪問(wèn)的空間或時(shí)間局部性來(lái)作為實(shí)現(xiàn)這一目的的方法。值得慶幸的是,最常見(jiàn)和最現(xiàn)代化的光柵化渲染有一個(gè)很好的特性,即在著色期間(尤其是像素著色通常是任何給定幀的主要工作負(fù)載)三角形和像素頂點(diǎn)有可能與它們的近鄰共享相關(guān)數(shù)據(jù)。因此,您訪問(wèn)一組像素所需的任何緩存數(shù)據(jù),很可能下一個(gè)相鄰的組將需要使用您已經(jīng)從DRAM中提取并緩存的部分或全部?jī)?nèi)存數(shù)據(jù)。對(duì)于當(dāng)今大多數(shù)柵格化渲染工作負(fù)載而言,這都是正確的,因此我們都可以松一口氣,并圍繞該屬性設(shè)計(jì)GPU架構(gòu)。

    

5e74b014661a8.jpg

    當(dāng)我們使用光線追蹤,這些就都失效了。光線追蹤使所有空間局部性消失。下面讓我們來(lái)分析其中的原因。

    物體表面的問(wèn)題

    最簡(jiǎn)單的思考方式就是觀察四周,在你坐下來(lái)閱讀這篇文章時(shí)注意光線在你所處環(huán)境中的作用。由于光線追蹤建模了光線從所有光源傳播時(shí)的屬性,因此它必須處理光線照射在場(chǎng)景中任何表面時(shí)發(fā)生的情況。也許我們只關(guān)心光線照射哪些物體,也許物體的表面以均勻的方向散射光線,但它也可能完全是隨機(jī)的。也許表面吸收了所有的光,因此不會(huì)有次級(jí)光線的傳播。也許表面有一種材質(zhì)屬性,使它能夠部分吸收幾乎所有照射來(lái)的光線,然后隨機(jī)散射它不能捕獲的少量光線。

    只有第一種場(chǎng)景可以映射到GPU的利用內(nèi)存訪問(wèn)局部性的工作模式,即使如此也只有當(dāng)所有并行處理的光線都照射到同一類型的三角形時(shí)才可以。

    正是這種明顯分歧的可能性導(dǎo)致了這些問(wèn)題,如果并行處理的任何光線相互之間可能會(huì)有不同的作用,包括撞擊不同的加速數(shù)據(jù)結(jié)構(gòu)或發(fā)出新的光線,那么GPU能高效工作的基本前提就會(huì)被破壞,而且這通常比在傳統(tǒng)的幾何圖形或像素處理中遇到的發(fā)散現(xiàn)象更具有破壞性。

    相干性聚集

    PowerVR對(duì)光線追蹤硬件加速的實(shí)現(xiàn)所做的是硬件光線追蹤和排序,它與當(dāng)今行業(yè)內(nèi)任何其他硬件光線追蹤加速相比都是獨(dú)一無(wú)二的,這對(duì)軟件方面來(lái)說(shuō)是完全透明的,確保硬件上并行追蹤的發(fā)射光線具有潛在的相似性。我們稱之為相干性聚集。

    硬件維護(hù)了一個(gè)數(shù)據(jù)結(jié)構(gòu),用于層次化的存儲(chǔ)軟件發(fā)出的正在被硬件處理的光線,并能夠根據(jù)它們的方向按它們?cè)诩铀俳Y(jié)構(gòu)中前進(jìn)的位置進(jìn)行選擇和分組。這意味著當(dāng)它們被處理時(shí)更可能共享存儲(chǔ)器中被訪問(wèn)的加速數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù),且額外的優(yōu)勢(shì)是能夠最大化隨后要并行處理的光線-幾何體相交計(jì)算的數(shù)量。

    通過(guò)分析由硬件調(diào)度的光線,我們可以確保以GPU友好的方式對(duì)它們進(jìn)行分組,從而更高效地進(jìn)行后續(xù)處理,這些是該系統(tǒng)成功的關(guān)鍵,有助于避免打破GPU行業(yè)為高效的光柵化渲染而精心設(shè)計(jì)的運(yùn)行模式,這就避免了光線追蹤硬件對(duì)特殊類型存儲(chǔ)系統(tǒng)的需求,因此提供了與GPU的其他部分更容易集成的方案。

     

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。