欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

如何使用NVAPI將DX12資源上傳到GPU

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Louis Bavoil ? 2022-04-20 16:59 ? 次閱讀

如何通過 PCIe 總線優(yōu)化從 CPUGPU 的 DX12 資源上傳是一個(gè)老問題,有許多可能的解決方案,每個(gè)解決方案都有其優(yōu)缺點(diǎn)。在這篇文章中,我將展示如何使用 NVAPI 將 DX12 上傳堆移動(dòng)到 CPU-Visible VRAM ( CVV ),這是一個(gè)加速 PCIe 有限工作負(fù)載的簡(jiǎn)單解決方案。

CPU-Visible VRAM :工具箱中的新工具

以頂點(diǎn)緩沖區(qū)( VB )上載為例,數(shù)據(jù)不能跨幀重用。將 VB 上載到 GPU 的最簡(jiǎn)單方法是直接從 GPU 讀取 CPU 內(nèi)存:

首先,應(yīng)用程序創(chuàng)建 DX12 UPLOAD 堆或等效的 CUSTOM 堆。 DX12 上傳堆分配在系統(tǒng)內(nèi)存中,也稱為 CPU 內(nèi)存,其中 WRITE_COMBINE ( WC )頁面針對(duì) CPU 寫入進(jìn)行了優(yōu)化。 CPU 首先將 VB 數(shù)據(jù)寫入此系統(tǒng)內(nèi)存堆。

其次,應(yīng)用程序使用 IASetVertexBuffers 命令將上載堆中的 VB 綁定到 GPU draw 命令。

在 GPU 中執(zhí)行繪制時(shí),將啟動(dòng)頂點(diǎn)著色器。接下來,頂點(diǎn)屬性提取( VAF )單元通過 GPU 的二級(jí)緩存讀取 VB 數(shù)據(jù),二級(jí)緩存本身從存儲(chǔ)在系統(tǒng)內(nèi)存中的 DX12 上載堆加載 VB 數(shù)據(jù):

poYBAGJfy1eAJ8cbAACa6E7DUpE334.png

圖 1 直接從 DX12 上傳堆獲取 VB 。

來自系統(tǒng)內(nèi)存的 L2 訪問具有高延遲,因此最好在執(zhí)行 draw 命令之前通過將數(shù)據(jù)從系統(tǒng)內(nèi)存復(fù)制到 VRAM 來隱藏該延遲。

從 CPU 到 GPU 的預(yù)上載可以通過使用 copy 命令來完成,可以使用 COPY 隊(duì)列異步完成,也可以在主直接隊(duì)列上同步完成。

poYBAGJfy56AGJyaAAA-CsbwiLY489.png

圖 2 使用 copy 命令將 VB 預(yù)加載到 VRAM

復(fù)制引擎可以在復(fù)制隊(duì)列中與其他 GPU 工作同時(shí)執(zhí)行復(fù)制命令,并且可以同時(shí)使用多個(gè)復(fù)制隊(duì)列。但是,使用異步復(fù)制隊(duì)列的一個(gè)問題是,您必須注意將隊(duì)列與 DX12 Fences 同步,這可能很難實(shí)現(xiàn),并且可能會(huì)有很大的開銷。

在 GTC 2021 的 Nsight Graphics : GPU Trace 的下一級(jí)優(yōu)化建議 會(huì)議上,我們宣布 NVIDIA GPU 上 DX12 應(yīng)用程序的替代解決方案是有效地使用 CPU 線程作為復(fù)制引擎。這可以通過使用 NVAPI 在 CVV 中創(chuàng)建 DX12 上載堆來實(shí)現(xiàn)。 CPU 然后通過 PCIe 總線將寫入此特殊上載堆的數(shù)據(jù)直接轉(zhuǎn)發(fā)到 VRAM (圖 3 )。

poYBAGJfy1iAOdMOAAB9auqoT8g282.png

圖 3 在 CPU 線程中使用 CPU 寫操作將 VB 預(yù)加載到 VRAM

對(duì)于 DX12 ,以下 NVAPI 函數(shù)可用于查詢系統(tǒng)中可用的 CVV 量,并用于分配這種新風(fēng)格的堆( CPU – 可寫 VRAM ,具有快速 CPU 寫入和慢速 CPU 讀?。?/p>

NvAPI_D3D12_QueryCpuVisibleVidmem

NvAPI_D3D12_CreateCommittedResource

NvAPI_D3D12_CreateHeap2

這些新功能需要最新的驅(qū)動(dòng)程序: 466 。 11 或更高版本。

NvAPI_D3D12_QueryCpuVisibleVidmem 應(yīng)報(bào)告以下 CVV 內(nèi)存量:

使用 Windows 11 (例如,使用 Windows11 內(nèi)幕預(yù)覽 )時(shí) NVIDIA RTX 20xx 和 30xx GPU s 的容量為 200-256 MB 。

可調(diào)整大小的條_ RTX 30xx GPU s 在 Windows 10 或 Windows 11 中超過 256 MB ,且 NVIDIA 控制面板中的 可調(diào)整大小的條_ 報(bào)告為 NVIDIA 。有關(guān)如何啟用可調(diào)整大小欄的更多信息,請(qǐng)參閱 GeForce RTX 30 系列通過可調(diào)整大小的桿支撐加速性能 。

使用 Nsight Graphics 從 CPU-Visible VRAM 檢測(cè)并量化 GPU 性能增益機(jī)會(huì)

NVIDIA NSight 圖形 2021 。 3 中的 GPU 跟蹤工具可輕松檢測(cè) GPU 性能提升機(jī)會(huì)。啟用 高級(jí)模式 時(shí), GPU 內(nèi)的 Analysis 面板將根據(jù)預(yù)測(cè)的幀減少百分比,通過修復(fù)此 GPU 工作負(fù)載中的特定問題,跟蹤幀內(nèi)的顏色代碼 perf 標(biāo)記。

以下是在 RTX NVIDIA 3080 上,從 看門狗:軍團(tuán) ( DX12 )預(yù)發(fā)布版本中選擇 Analyze 后的幀的外觀:

poYBAGJfy1mAR_KFAALR96_q8Rc811.png

圖 4 帶有顏色編碼 GPU 工作負(fù)載的 GPU 跟蹤分析工具

(越綠,幀上的預(yù)計(jì)增益越高)。

現(xiàn)在,選擇幀末尾的用戶界面繪制命令,分析工具顯示,修復(fù) 二級(jí)未命中到系統(tǒng)內(nèi)存 性能問題后 GPU 幀時(shí)間預(yù)計(jì)減少 0 。 9% 。該工具還顯示,通過二級(jí)緩存?zhèn)鬏數(shù)拇蠖鄶?shù)系統(tǒng)內(nèi)存流量是由基本引擎請(qǐng)求的,該引擎包括頂點(diǎn)屬性獲取單元:

poYBAGJfy2KAPj-gAAKq4djMzOs795.png

圖 5 GPU 跟蹤分析工具,關(guān)注單個(gè)工作負(fù)載。

通過在 CVV 中分配此 draw 命令的 VB ,而不是使用常規(guī) DX12 上載堆分配系統(tǒng)內(nèi)存,此機(jī)制的 GPU 時(shí)間從 0.2 ms 減少到 0.01 ms 以下。 GPU 幀時(shí)間也減少了 0.9% 。在此工作負(fù)載中, VB 數(shù)據(jù)現(xiàn)在直接從 VRAM 獲?。?/p>

poYBAGJfy2SARVDtAAKr65sYXhE997.png

圖 6 GPU 跟蹤分析工具,在優(yōu)化了工作負(fù)載之后。

使用 Nsight 系統(tǒng)避免 CPU 讀取 CPU – 可見 VRAM

CPU 不應(yīng)讀取常規(guī) DX12 上載堆,而應(yīng)僅將其寫入。與常規(guī)堆一樣, CVV 堆的 CPU 內(nèi)存頁已啟用 寫合并 。這提供了快速的 CPU 寫入性能,但緩慢的非緩存 CPU 讀取性能。此外,由于從 CVV 讀取 CPU 會(huì)通過 PCIe 、 GPU L2 和 VRAM 進(jìn)行往返,因此從 CVV 讀取的延遲遠(yuǎn)大于從常規(guī) DX12 上載堆讀取的延遲。

要檢測(cè)應(yīng)用程序 CPU 的性能是否受到來自 CVV 的 CPU 讀取的負(fù)面影響,并獲取 CPU 調(diào)用導(dǎo)致這種情況的信息,我建議使用 Nsight 系統(tǒng) 2021.3 。

示例 1 : CVV CPU 讀取 ReadFromSubresource

下面是一個(gè)在 Nsight 系統(tǒng)跟蹤中從 DX12 ReadFromSubresource 讀取災(zāi)難性 CPU 的示例。為了捕獲此跟蹤,在獲取跟蹤時(shí),我在 Nsight 系統(tǒng)項(xiàng)目配置中啟用了新的 收集 GPU 指標(biāo) 選項(xiàng),以及默認(rèn)設(shè)置,其中包括 樣本目標(biāo)過程 。

以下是 Nsight Systems 在放大一個(gè)代表性幀后顯示的內(nèi)容:

pYYBAGJfy2SASoxxAAEj2snqqqw207.png

圖 7 Nsight 系統(tǒng)顯示 2 。 6 ms ReadFromSubresource 調(diào)用與來自 BAR1 的高 PCIe 讀取請(qǐng)求計(jì)數(shù)相關(guān)的 CPU 線程。

在這種情況下(單個(gè) – GPU 機(jī)器), Nsight Systems 中的 對(duì) BAR1 的 PCIe 讀取請(qǐng)求 GPU 指標(biāo)測(cè)量發(fā)送到 PCIe 的 CPU 讀取請(qǐng)求數(shù),以獲取 CVV ( BAR1 )中分配的資源。 Nsight Systems 顯示 CPU 線程上的長(zhǎng) DX12 ReadFromSubresource 調(diào)用與來自 CVV 的大量 PCIe 讀取請(qǐng)求之間存在明顯的相關(guān)性。因此,您可以得出結(jié)論,此調(diào)用很可能是從 CVV 執(zhí)行 CPU 回讀,并在應(yīng)用程序中修復(fù)此問題。

示例 2 : CVV CPU 從映射指針讀取

CPU 從 CVV 讀取的數(shù)據(jù)不限于 DX12 命令。當(dāng)使用 DX12 資源映射調(diào)用返回的任何 CPU 內(nèi)存指針時(shí),它們可能發(fā)生在任何 CPU 線程中。這就是為什么建議使用 Nsight 系統(tǒng)對(duì)其進(jìn)行調(diào)試,因?yàn)槌诉x定的 GPU 硬件指標(biāo)外, Nsight 系統(tǒng)還可以定期對(duì)每個(gè) CPU 線程的調(diào)用堆棧進(jìn)行采樣。

以下是 Nsight 系統(tǒng)的一個(gè)示例,其中顯示了從 CVV 進(jìn)行的 CPU 讀取與沒有 DX12 API 調(diào)用相關(guān),但與 CPU 線程活動(dòng)開始相關(guān):

pYYBAGJfy2WAbA_kAADI3HDLE9E352.png

圖 8 Nsight Systems 顯示了執(zhí)行映射調(diào)用的 CPU 線程與對(duì) BAR1 的 PCIe 讀取請(qǐng)求之間的相關(guān)性,之后該相關(guān)性立即增加。

通過懸停在 CPU 線程下面的橙色采樣點(diǎn),您可以看到該線程正在執(zhí)行一個(gè)名為 RenderCollectedTrees 的 C ++方法,這對(duì)查找正在進(jìn)行 CVV 堆讀/寫操作的代碼是有幫助的:

Nsight-systems-call-stack.png

圖 9 Nsight Systems 顯示 CPU 線程的調(diào)用堆棧采樣點(diǎn),該線程與對(duì) BAR1 的高 PCIe 讀取請(qǐng)求相關(guān)。

在這種情況下,提高性能的一種方法是對(duì) CPU 內(nèi)存的單獨(dú)塊執(zhí)行讀/寫訪問,而不是在 DX12 上載堆中。完成所有讀/寫更新后,從 CPU 讀/寫內(nèi)存向上載堆執(zhí)行 memcpy 調(diào)用。

結(jié)論

在 Windows 11 PC 上運(yùn)行的所有 PC 游戲都可以在 NVIDIA RTX 20xx 和 30xx GPU s 上使用 256 MB 的 CVV 。 NVAPI 可用于查詢系統(tǒng)中可用 CVV 內(nèi)存的總量,并在此空間中分配 DX12 內(nèi)存。如果 CPU 從未從原始 DX12 上載堆讀取數(shù)據(jù),則只需更改分配堆的代碼即可將 DX12 上載堆替換為 CVV 堆。

要檢測(cè)將 DX12 上載堆移動(dòng)到 CVV 時(shí) Nsight 圖形 的性能提升機(jī)會(huì),建議使用 GPU 中的 GPU 跟蹤分析工具。要檢測(cè)和調(diào)試從 CVV 讀取 CPU 時(shí)的性能損失,我建議在啟用 GPU 指標(biāo)的情況下使用 Nsight 系統(tǒng) 。

關(guān)于作者

Louis Bavoil 自 2007 年以來一直在 NVIDIA 的開發(fā)者技術(shù)小組工作,從事 GPU 性能優(yōu)化和 GameWorks 軟件開發(fā)的混合工作,目標(biāo)是幫助提高 PC 游戲的生產(chǎn)價(jià)值。

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5082

    瀏覽量

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

    關(guān)注

    28

    文章

    4790

    瀏覽量

    129446
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3583

    瀏覽量

    89420
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GPU按需計(jì)費(fèi)的優(yōu)勢(shì)

    GPU按需計(jì)費(fèi),是指用戶根據(jù)實(shí)際使用的GPU資源和時(shí)間進(jìn)行費(fèi)用結(jié)算,而非傳統(tǒng)的一次性購買或固定租賃模式。以下,是對(duì)GPU按需計(jì)費(fèi)優(yōu)勢(shì)的總結(jié),由AI部落小編整理。
    的頭像 發(fā)表于 01-14 10:43 ?108次閱讀

    GPU加速云服務(wù)器怎么用的

    GPU加速云服務(wù)器是GPU硬件與云計(jì)算服務(wù)相結(jié)合,通過云服務(wù)提供商的平臺(tái),用戶可以根據(jù)需求靈活租用帶有GPU資源的虛擬機(jī)實(shí)例。那么,
    的頭像 發(fā)表于 12-26 11:58 ?137次閱讀

    英特爾12月或發(fā)布Battlemage GPU芯片

    近日,有關(guān)英特爾即將在12月發(fā)布全新Battlemage GPU芯片的傳聞再次被證實(shí)。據(jù)硬件挖掘者和泄密者Tomasz Gawrońsk分享的預(yù)告圖顯示,英特爾極有可能在AMD RDNA 4和英偉達(dá)Blackwell之前,率先推出其Battlemage
    的頭像 發(fā)表于 11-19 17:37 ?479次閱讀

    怎么把電表監(jiān)測(cè)到的數(shù)據(jù)上傳平臺(tái)?

    在電力行業(yè),很多電力儀表都需要具備4G通訊的功能,可以直接電表采集到的數(shù)據(jù)上傳監(jiān)測(cè)平臺(tái)。這樣就能在平臺(tái)上清晰直觀的看到電表監(jiān)測(cè)的線路的三相電壓、電流、頻率、功率等電參量。所以,要把電表監(jiān)測(cè)到的數(shù)據(jù)上傳到平臺(tái)上,就需要電表具有4
    的頭像 發(fā)表于 11-12 14:52 ?247次閱讀
    怎么把電表監(jiān)測(cè)到的數(shù)據(jù)<b class='flag-5'>上傳</b>平臺(tái)?

    請(qǐng)問各位3256EVM-U通過麥克風(fēng)采集到的數(shù)據(jù)能上傳到電腦嗎?

    請(qǐng)問各位,3256EVM-U通過麥克風(fēng)采集到的數(shù)據(jù)能上傳到電腦嗎? 如果能,在電腦上用什么軟件接收呢?
    發(fā)表于 11-07 07:32

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

    每個(gè)CUDA單元在 OpenCL 編程框架中都有對(duì)應(yīng)的單元。 倒金字塔結(jié)構(gòu)GPU存儲(chǔ)體系 共享內(nèi)存是開發(fā)者可配置的編程資源,使用門檻較高,編程上需要更多的人工顯式處理。 在并行計(jì)算架構(gòu)中,線程
    發(fā)表于 11-03 12:55

    求助,如何將定制的2級(jí)引導(dǎo)加載程序上傳到指定的2級(jí)引導(dǎo)區(qū)?

    如何將定制的 2 級(jí)引導(dǎo)加載程序上傳到指定的 2 級(jí)引導(dǎo)區(qū)? 我的設(shè)備從 SPI 閃存啟動(dòng)。 在閃存中,2 級(jí)引導(dǎo)程序被寫入地址 0x00000000,然后是應(yīng)用固件。 因此,它遵循以下啟動(dòng)順序
    發(fā)表于 09-26 06:54

    IR615通過Lan接口讀到原華為局域網(wǎng)網(wǎng)絡(luò)的數(shù)據(jù)經(jīng)IR615的WAN上傳到阿里云服務(wù)器上,是否可行?

    設(shè)置與原網(wǎng)絡(luò)相同的網(wǎng)段內(nèi)(19.168.1.27~29),同時(shí)IR615被設(shè)置為DHCP模式,需要將IR615通過Lan接口讀到原華為局域網(wǎng)網(wǎng)絡(luò)(例如:192.168.1.12)的數(shù)據(jù)經(jīng)IR615的WAN上傳到阿里云服務(wù)器上(有IP地址),這樣是否可行?謝謝
    發(fā)表于 07-24 06:21

    如何使用httpclient.c中的ESP8266和http_post文件上傳到服務(wù)器?

    我想使用 httpclient.c 中的ESP8266和http_post文件上傳到服務(wù)器。 為了節(jié)省內(nèi)存,文件(約 200KB)存儲(chǔ)在 SPI 閃存中。您能告訴我如何在不將文件復(fù)制到 RAM 等的情況下發(fā)送文件嗎?
    發(fā)表于 07-12 09:47

    ESP下載工具必須連接到哪個(gè)UART才能檢測(cè)到它并可以固件上傳到它?

    我已經(jīng)購買了 ESP Launcher,根據(jù)文檔,它有兩個(gè)(半)串行端口: 1) 一個(gè)集成USB電源 2) 排針上的第二個(gè) 3)第三個(gè)的一半(僅TX)也在排針上 ESP 下載工具必須連接到哪個(gè) UART 才能檢測(cè)到它并可以固件上傳到它?
    發(fā)表于 07-08 08:07

    ESP32-LyraTD-MSC pipeline_raw_http例子能夠跑起來,wav也能上傳到服務(wù)端,為什么沒有聲音?

    IDF版本是v5.2.1,直接編譯adf的pipeline_raw_http,沒有任何問題,燒寫也順利。 長(zhǎng)按rec錄制音頻,放開rec后,wav也上傳到服務(wù)端了。 但是在電腦上播放wav文件,沒有任何聲音。 請(qǐng)問各位大佬,這是怎么回事。
    發(fā)表于 06-28 08:01

    FPGA在深度學(xué)習(xí)應(yīng)用中或取代GPU

    業(yè)可行性方面考慮,自動(dòng)駕駛汽車等應(yīng)用可能需要多達(dá) 7-10 個(gè) GPU(其中大多數(shù)會(huì)在不到四年的時(shí)間內(nèi)失效),對(duì)于大多數(shù)購車者來說,智能或自動(dòng)駕駛汽車的成本變得不切實(shí)際?!? 機(jī)器人、醫(yī)療保健和安全
    發(fā)表于 03-21 15:19

    DX11游戲抽查測(cè)評(píng),2024英特爾銳炫又進(jìn)步了嗎?

    9的問題解決后,優(yōu)化的重點(diǎn)自然就到了DX11上,畢竟Arc Alchemist架構(gòu)是針對(duì)DX12與Vulkan API進(jìn)行優(yōu)化開發(fā)的,運(yùn)
    的頭像 發(fā)表于 02-23 18:01 ?770次閱讀
    <b class='flag-5'>DX</b>11游戲抽查測(cè)評(píng),2024英特爾銳炫又進(jìn)步了嗎?

    性價(jià)比拉滿!英特爾銳炫新驅(qū)動(dòng),提升可達(dá)418%!

    ,除了更好地支持DX12游戲之外,一些DX9、DX11的老游戲也獲得了超乎想像的提升。 2024年1月,英特爾銳炫顯卡驅(qū)動(dòng)再次迎來重大更新,除了對(duì)于新近發(fā)售的游戲大作實(shí)現(xiàn)優(yōu)化之外,同時(shí)還針對(duì)20余款熱門
    的頭像 發(fā)表于 02-23 17:49 ?478次閱讀
    性價(jià)比拉滿!英特爾銳炫新驅(qū)動(dòng),提升可達(dá)418%!

    【AWTK開源智能串口屏方案】設(shè)計(jì)UI界面并上傳到串口屏

    本篇文章介紹如何使用AWStudio設(shè)計(jì)串口屏端的UI界面和添加綁定規(guī)則,以及怎么資源文件上傳到串口屏端。引言:AWTK-HMI是基于AWTK與AWTK-MVVM開發(fā)的低代碼智能串
    的頭像 發(fā)表于 02-22 08:24 ?827次閱讀
    【AWTK開源智能串口屏方案】設(shè)計(jì)UI界面并<b class='flag-5'>上傳到</b>串口屏