亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用NVIDIA RTX MU提供壓縮和子分配解決方案

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-22 10:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

加速結構在空間上組織幾何體以加速光線跟蹤遍歷性能。創(chuàng)建加速結構時,會分配保守的內存大小。

在初始構建時,圖形運行時不知道幾何體如何最佳地適應超大的加速結構內存分配。

GPU 上執(zhí)行構建之后,圖形運行時報告加速結構可以容納的最小內存分配。

這個過程稱為壓縮加速結構,它對于減少加速結構的內存開銷非常重要。

減少記憶的另一個關鍵因素是對加速結構的子分配。子分配通過使用比圖形 API 所要求的內存對齊方式更小的內存對齊方式,使加速結構能夠在內存中緊密地打包在一起。

通常,緩沖區(qū)分配對齊最小為 64 KB ,而加速結構內存對齊要求僅為 256 B 。使用許多小加速結構的游戲從子分配中受益匪淺,使許多小分配能夠緊密打包。

NVIDIA RTX 內存實用程序( RTX MU ) SDK 旨在降低與加速結構優(yōu)化內存管理相關的編碼復雜性。 RTX MU 為 DXR 和 Vulkan 光線跟蹤提供壓縮和子分配解決方案,同時客戶端管理加速結構構建的同步和執(zhí)行。 SDK 為這兩個 API 提供了子分配器和壓縮管理器的示例實現,同時為客戶機實現自己的版本提供了靈活性。

有關壓縮和子分配在減少加速結構內存開銷方面為何如此重要的更多信息,請參見 提示:加速結構壓實 。

為什么使用 RTX MU ?

RTX MU 允許您將加速結構內存縮減技術快速集成到他們的游戲引擎中。下面是這些技術的總結,以及使用 RTX MU 的一些關鍵好處

減少加速結構的內存占用,包括壓縮和子分配代碼,實現起來并不簡單。 RTX MU 可以完成繁重的工作。

抽象了底層加速結構( blase )的內存管理,但也足夠靈活,允許用戶根據引擎的需要提供自己的實現。

管理壓縮大小回讀和壓縮副本所需的所有屏障。

將句柄傳遞回引用復雜 BLAS 數據結構的客戶端。這可以防止對 CPU 內存的任何管理不當,包括訪問已經釋放或不存在的 BLAS 。

有助于將 BLAS 內存減少 50% 。

通過將更多的 BLASE 打包到 64 KB 或 4 MB 頁中,可以減少翻譯查找緩沖區(qū)( TLB )未命中。

RTX MU 設計

RTX MU 有一種設計理念,可以降低大多數開發(fā)人員的集成復雜性。該設計理念的主要原則如下:

所有函數都是線程安全的。如果同時訪問發(fā)生,它們將被阻塞。

客戶機傳入客戶機擁有的命令列表, RTX MU 填充它們。

客戶機負責同步命令列表執(zhí)行。

API 函數調用

RTX MU 抽象了與壓縮和子分配相關的編碼復雜性。本節(jié)中詳細介紹的函數描述了 RTX MU 的接口入口點。

Initialize – 指定子分配程序塊大小。

PopulateBuildCommandList – 接收 D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS 數組并返回加速結構句柄向量,以便客戶端稍后在頂級加速結構( TLAS )構造期間獲取加速結構 GPU VAs ,依此類推。

PopulateUAVBarriersCommandList –接收加速度結構輸入并為其放置 UAV 屏障

PopulateCompactionSizeCopiesCommandList –執(zhí)行拷貝以傳遞任何壓縮大小數據

PopulateUpdateCommandList – 接收 D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS 數組和有效的加速結構句柄,以便記錄更新。

PopulateCompactionCommandList – 接收有效的加速結構句柄數組,并記錄壓縮命令和屏障。

RemoveAccelerationStructures – 接收一個加速結構句柄數組,該數組指定可以完全釋放哪個加速結構。

GarbageCollection – 接收一個加速結構句柄數組,該數組指定可以釋放生成資源(暫存和結果緩沖區(qū)內存)。

GetAccelStructGPUVA – 接收加速結構句柄并根據狀態(tài)返回結果或壓縮緩沖區(qū)的 GPU VA 。

Reset – 釋放與當前加速結構句柄關聯的所有內存。

子分配程序 DXR 設計

BLAS 子分配程序通過將小的 BLAS 分配放在較大的內存堆中,來滿足 64kb 和 4mb 的緩沖區(qū)對齊要求。 BLAS 子分配程序仍然必須滿足 BLAS 分配所需的 256B 對齊。

如果應用程序請求 4mb 或更大的子分配塊,那么 RTX MU 使用具有堆的已放置資源,這些堆可以提供 4mb 對齊。

如果應用程序請求的子分配塊少于 4MB ,那么 RTX MU 將使用提交的資源,它只提供 64KB 的對齊。

BLAS 子分配程序通過維護空閑列表重用塊中的空閑子分配。如果內存請求大于子分配程序塊大小,則會創(chuàng)建一個無法子分配的分配。

壓實 DXR 設計

如果構建請求壓縮,那么 RTX MU 請求將壓縮大小寫入視頻內存塊。壓縮大小從視頻內存復制到系統(tǒng)內存后, RTX MU 分配一個子分配的壓縮緩沖區(qū),用作壓縮復制的目的地。

壓縮拷貝獲取包含未使用的內存段的原始構建,并將其截短到可以容納的最小內存占用。壓縮完成后,原始的非壓縮構建和暫存內存將釋放回子分配程序。唯一需要擔心的是傳入 allow compression 標志并用 BLAS 句柄調用 GetGPUVA 。 GPU VA 可以是原始版本,也可以是壓縮版本,這取決于 BLAS 處于什么狀態(tài)。

如何使用 RTX MU

在本節(jié)中,我將詳細介紹 RTX MU 序列循環(huán)和同步。

RTX MU 序列環(huán)路

圖 1 顯示了 RTX MU 的正常使用模式??蛻魴C管理命令列表的執(zhí)行,而其他一切都是對 RTX MU 的調用

首先,通過傳入子分配程序塊大小和負責分配子分配塊的設備來初始化 RTX MU 。在每一幀中,引擎構建新的加速結構,同時也壓縮先前幀中構建的加速結構。

在 RTX MU 填充客戶機的命令列表之后,客戶機就可以自由地執(zhí)行和管理初始構建到最終壓縮拷貝構建的同步。在調用 PopulateCompactionCommandList 之前,確保每個加速結構構建都已完全執(zhí)行,這一點很重要。這是留給客戶妥善管理。

當加速結構最終達到壓縮狀態(tài)時,客戶機可以選擇調用 GarbageCollection ,它通知 RTX MU 可以釋放暫存和原始加速結構緩沖區(qū)。如果引擎執(zhí)行大量的資產流,那么客戶端可以通過使用有效的加速結構句柄調用 RemoveAS 來釋放所有加速結構資源。

pYYBAGJiGVeAanG8AAH-8s14IW8959.png

圖 1 描述客戶機和 RTX MU 代碼的典型用例的 RTX MU 流程圖

客戶端加速結構生成同步

圖 2 顯示了客戶端正確管理壓縮就緒工作負載所需的同步。這里的示例是一個三幀緩沖循環(huán),其中客戶端最多可以有三個異步幀構建在 CPU 上并在 GPU 上執(zhí)行。

若要獲取 CPU 側可用的壓縮大小,生成 0 必須已在 GPU 上執(zhí)行完畢。在客戶端接收到來自 GPU 的 fence 信號后,客戶端可以調用 RTX MU 來開始壓縮命令列表記錄。

管理加速結構的壓縮同步的一種有用方法是使用某種類型的鍵/值對數據結構,它跟蹤 RTX MU 給定的每個加速結構句柄的狀態(tài)。加速度結構的四種基本狀態(tài)可描述如下:

Prebuilt – 生成命令記錄在命令列表中,但尚未在 GPU 上完成執(zhí)行。

Built – 初始構建已在 GPU 上執(zhí)行,并準備好執(zhí)行壓縮命令。

Compacted – 壓縮拷貝已經在 GPU 上完成,并且準備好讓 GarbageCollection 釋放暫存和初始構建緩沖區(qū)。

Released – 客戶端從內存中釋放加速結構,因為它不再在場景中。此時,與加速結構句柄相關的所有內存都被釋放回操作系統(tǒng)。

poYBAGJiGViAAK0TAAA3Gz1Ij2s900.jpg

圖 2 ??蛻魴C代碼只能在初始加速結構構建完成在 GPU 上的執(zhí)行之后啟動壓縮工作負載。

RTX MU 測試場景

RTX MU 使用六個文本場景進行了測試,以提供有關壓縮和子分配的好處的真實用例數據。下面的圖只顯示了一些場景。

RTX MU 積分結果

在測試場景中, NVIDIA RTX 卡上的壓縮平均減少了 52% 的加速度結構。壓縮記憶降低的標準差為 2 。 8% ,比較穩(wěn)定。

pYYBAGJiGViALSGmAACyAOVYQ4M683.png

圖 6 。 ZVK3] RTX 3000 系列 GPU s 上壓縮打開與關閉的比較條形圖

在 NVIDIA 和 AMD-HW 上啟用壓縮時, NVIDIA HW 上的內存節(jié)省比 AMD 上的內存節(jié)省大得多。在啟用壓縮時, NVIDIA 的加速結構內存平均比 AMD 小 3 。 26 倍。在 NVIDIA 上如此巨大的內存占用減少的原因是沒有壓縮的 AMD 使用的內存是 NVIDIA 的兩倍。壓縮還將 NVIDIA 內存平均再減少 50% ,而 AMD 傾向于只減少 75% 的內存。

poYBAGJiGVmAME5qAACz4qcP67Q449.png

圖 7 。 NVIDIA 3000 系列與 AMD 6000 系列 GPU s 的壓縮比較條形圖

子分配在這里講述了一個稍有不同的故事,其中有許多小加速結構的場景(如零日)受益匪淺。子分配帶來的平均內存節(jié)省最終為 123MB ,但標準差在 153MB 時相當大。從這些數據中,我們可以斷言子分配高度依賴于場景幾何體,并受益于數千個小三角形計數的 BLAS 幾何體。

pYYBAGJiGVqAJ_rRAACGTxYsAT4202.png

圖 8 。顯示特定場景子分配節(jié)省內存的條形圖

源代碼

NVIDIA 是一個開源的 RTX MU SDK ,以及一個集成 RTX MU 的示例應用程序。在 GitHub 上將 RTX MU 作為一個開源項目進行維護可以幫助開發(fā)人員理解邏輯流程并提供修改底層實現的訪問。 RT Bindless 示例應用程序提供了一個 RTX MU 集成的示例 Vulkan 光線跟蹤和 DXR 后端。

下面是如何構建和運行集成 RTX MU 的示例應用程序。您必須擁有以下資源:

Windows 、 Linux 或支持 DXR 或 Vulkan 光線跟蹤的操作系統(tǒng)

克馬克 3.12

C ++ 17

Git

首先,使用以下命令克隆存儲庫:

git clone --recursive https://github.com/NVIDIAGameWorks/donut_examples.git

接下來,打開 CMake 。對于 源代碼在哪里 ,輸入 /donut_examples 文件夾。在 /donut_examples 文件夾中創(chuàng)建生成文件夾。對于 在哪里構建二進制文件 ,輸入 new build 文件夾。選擇 cmake 變量 NVRHI \ u ,并將“ RTX MU ”設置為“開”,選擇“配置”,等待其完成,然后單擊“生成”。

如果要使用 Visual Studio 進行構建,請選擇 2019 和 x64 version 。在 visualstudio 中打開 donut_examples.sln 文件并生成整個項目。

在 /Examples/Bindless Ray 跟蹤下找到 rt_bindless 應用程序文件夾,選擇項目上下文(右鍵單擊)菜單,然后選擇 啟動項目 。

默認情況下,無綁定光線跟蹤在 DXR 上運行。要運行 Vulkan 版本,請在項目中添加 -vk 作為命令行參數。

Summary

RTX MU 結合了壓縮和子分配技術來優(yōu)化和減少任何 DXR 或 Vulkan 光線跟蹤應用程序的加速結構的內存消耗。數據表明,使用 RTX MU 可以顯著減少加速結構的內存。這使您可以向光線跟蹤場景添加更多幾何體,或將額外內存用于其他資源。

關于作者

Peter Morley 在 NVIDIA 擔任高級開發(fā)技術工程師。他的大部分工作集中在將 DXR 集成到 AAA 游戲引擎上。他以前的工作包括在 AMD 的驅動程序堆棧中實現 DXR1.0 和 1.1 。他于 2017 完成了羅德島大學的 MSC ,并幫助使用隱馬爾可夫模型研究體素空間光線跟蹤狀態(tài)估計。當他不玩游戲時,他喜歡和家人一起玩足球。

Jarvis McGee 是 NVIDIA 的高級開發(fā)技術工程師,致力于各種圖形技術的集成和優(yōu)化 Vulkan 。 7 年來, Jarvis 一直在游戲行業(yè)內優(yōu)化 AAA 游戲的渲染。他為 2K Games 和 Playstation 的各種游戲的發(fā)行做出了貢獻。他完成了在加利福尼亞南部加利福尼亞大學的 MSC ,并協(xié)助在美國南加州大學創(chuàng)新技術研究所展示數字人類的研究。在他的閑暇時間,你可以發(fā)現他在舊金山灣地區(qū)嘗試新的渲染技術和徒步旅行。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5461

    瀏覽量

    108710
  • API
    API
    +關注

    關注

    2

    文章

    2012

    瀏覽量

    65930
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NVIDIA RTX PRO 4500 Blackwell GPU測試分析

    今天我們帶來全新 NVIDIA Blackwell 架構 GPU —— NVIDIA RTX PRO 4500 Blackwell 的測試,對比上一代產品 NVIDIA
    的頭像 發(fā)表于 08-28 11:02 ?2316次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>RTX</b> PRO 4500 Blackwell GPU測試分析

    NVIDIA三臺計算機解決方案如何協(xié)同助力機器人技術

    NVIDIA DGX、基于 NVIDIA RTX PRO 服務器的 Omniverse 和 Cosmos,以及 Jetson AGX Thor,正全面加速從人形機器人到機器人工廠等基于物理 AI 的系統(tǒng)的開發(fā),貫穿訓練、仿真和推
    的頭像 發(fā)表于 08-27 11:48 ?1864次閱讀

    NVIDIA Omniverse Extension開發(fā)秘籍

    NVIDIA Omniverse 是一個模塊化平臺,使用高級 API 和微服務來構建由 OpenUSD 和 NVIDIA RTX 提供支持的 3D 應用。OpenUSD 功能強大的 3
    的頭像 發(fā)表于 08-22 15:52 ?3202次閱讀
    <b class='flag-5'>NVIDIA</b> Omniverse Extension開發(fā)秘籍

    亞馬遜基于NVIDIA技術實現創(chuàng)新型制造解決方案

    基于 NVIDIA 技術構建的創(chuàng)新型制造解決方案,使機械臂能夠實現設備自主檢測,并能將新產品無縫整合到生產線中。
    的頭像 發(fā)表于 08-18 11:44 ?1498次閱讀

    Ansys使用NVIDIA技術優(yōu)化CFD仿真解決方案

    領先的解決方案提供商正在使用 OpenUSD、RTXNVIDIA Blackwell 實現實時物理數字孿生。
    的頭像 發(fā)表于 08-05 16:08 ?1070次閱讀

    NVIDIA RTX AI加速FLUX.1 Kontext現已開放下載

    NVIDIA RTXNVIDIA TensorRT 現已加速 Black Forest Labs 的最新圖像生成和編輯模型;此外,Gemma 3n 現可借助 RTX
    的頭像 發(fā)表于 07-16 09:16 ?1599次閱讀

    NVIDIA Omniverse Kit 107的安裝部署步驟

    NVIDIA Omniverse 是一個模塊化平臺,使用高級 API 和微服務來構建由 OpenUSD 和 NVIDIA RTX 提供支持的 3D 應用。OpenUSD 功能強大的 3
    的頭像 發(fā)表于 03-28 10:37 ?1034次閱讀
    <b class='flag-5'>NVIDIA</b> Omniverse Kit 107的安裝部署步驟

    使用NVIDIA RTX PRO Blackwell系列GPU加速AI開發(fā)

    NVIDIA GTC 推出新一代專業(yè)級 GPU 和 AI 賦能的開發(fā)者工具—同時,ChatRTX 更新現已支持 NVIDIA NIM,RTX Remix 正式結束測試階段,本月的 NVIDIA
    的頭像 發(fā)表于 03-28 09:59 ?948次閱讀

    NVIDIA RTX 4500 Ada與NVIDIA RTX A5000的對比

    基于大眾所熟知的 NVIDIA Ada Lovelace 架構,NVIDIA RTX 4500 Ada Generation是一款介于 NVIDIA
    的頭像 發(fā)表于 03-05 10:30 ?3062次閱讀

    技嘉 GeForce RTX? 50 系列顯示卡正式上市,散熱方案全面升級釋放強勁性能

    與穩(wěn)定性全面提升,滿足游戲玩家及 AI 運算領域的多元需求。 技嘉 GeForce RTX? 50 系列顯卡提供水冷與風冷兩種方案,使用服務器等級導熱凝膠以提升散熱效率,確保長時間
    的頭像 發(fā)表于 02-21 09:53 ?1273次閱讀

    技嘉科技發(fā)布GeForce RTX 5090 D 和RTX 5080系列顯卡

    旗艦散熱方案,釋放顯卡強勁性能 ?日前— 技嘉科技-主板、顯卡和硬件解決方案制造商,隆重推出搭載 NVIDIA? 革命性 Blackwell 架構的 GeForce RTX 5090
    的頭像 發(fā)表于 01-28 10:31 ?1920次閱讀
    技嘉科技發(fā)布GeForce <b class='flag-5'>RTX</b> 5090 D 和<b class='flag-5'>RTX</b> 5080系列顯卡

    NVIDIA推出面向RTX AI PC的AI基礎模型

    NVIDIA 今日發(fā)布能在 NVIDIA RTX AI PC 本地運行的基礎模型,為數字人、內容創(chuàng)作、生產力和開發(fā)提供強大助力。
    的頭像 發(fā)表于 01-08 11:01 ?786次閱讀

    技嘉于 CES 2025 首度亮相升級散熱設計與精實體積的 NVIDIA GeForce RTX 50 系列顯卡

    NVIDIA GeForce RTX? 50 系列顯示芯片設計的散熱系統(tǒng),可大幅提升高負載需求的游戲表現。以 "Evolution of Ten" 為設計概念,技嘉新系列顯卡提升高達 10% 散熱效率,并減少 10% 整體體積,提供
    的頭像 發(fā)表于 01-07 17:57 ?705次閱讀

    NVIDIA和GeForce RTX GPU專為AI時代打造

    NVIDIA 和 GeForce RTX GPU 專為 AI 時代打造。
    的頭像 發(fā)表于 01-06 10:45 ?1139次閱讀

    Supermicro推出直接液冷優(yōu)化的NVIDIA Blackwell解決方案

    【2024年11月22日,加州圣何塞、佐治亞州亞特蘭大及超級計算大會訊】Supermicro, Inc. (NASDAQ:SMCI) 為AI、云端、存儲和5G/邊緣領域的全方位IT解決方案提供企業(yè)
    發(fā)表于 11-25 10:39 ?1049次閱讀
    Supermicro推出直接液冷優(yōu)化的<b class='flag-5'>NVIDIA</b> Blackwell<b class='flag-5'>解決方案</b>