女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

NVIDIA GPUs上命令緩沖區(qū)的應用實踐

星星科技指導員 ? 來源:NVIDIA ? 作者:Wessam Bahnassi ? 2022-04-15 17:05 ? 次閱讀

這篇文章介紹了 NVIDIA GPUs 上命令緩沖區(qū)的最佳實踐。要在應用程序中獲得高且一致的幀速率,請參閱所有高級 API 性能提示。

命令緩沖區(qū)是從 CPU 發(fā)送要在 GPU 上執(zhí)行的命令的主要機制。通過遵循本文列出的最佳實踐,您可以通過最大化并行性、避免瓶頸和減少 GPU 上的空閑時間,在 CPU 和 GPU 上實現性能提升。

推薦

接受您負責實現和控制 GPU / CPU 并行性的事實。

向命令列表提交工作不會啟動 GPU 上的任何工作。

對ExecuteCommandList的調用最終在 GPU 上開始工作。

在多個線程和內核上并行并均勻地將工作記錄到多個命令列表中。

錄制命令是一項 CPU 密集型操作,沒有驅動程序線程來拯救。

命令列表不是自由線程,因此并行工作提交意味著提交多個命令列表。

請注意,設置和重置命令列表會帶來成本。

為了高效地提交并行工作,您仍然需要合理數量的命令列表。

圍欄出于各種原因(多個命令隊列、拾取查詢結果等)強制拆分命令列表。

嘗試將目標設定為每幀 5-10 次ExecuteCommandList調用,并進行足夠的 GPU 工作,以隱藏每次ExecuteCommandList調用的操作系統(tǒng)調度開銷。

在上一次ExecuteCommandList調用之后,操作系統(tǒng)需要 50-80 微秒來安排命令列表。如果調用中的命令列表執(zhí)行速度快于此,則硬件隊列中存在氣泡。

使用GPUView檢查氣泡。

您可以將 3D 隊列上的圖形或計算工作與專用異步計算隊列上的計算工作重疊。

請記住,即使對于理論上可以與其他圖形或計算任務并行運行的計算任務, GPU 上并行工作的實際調度細節(jié)也可能不會產生期望的結果。

注意哪些異步計算和圖形工作負載可以一起調度。使用圍欄將正確的工作負載配對。

使用ExecuteIndirect靈活性最大限度地將 CPU 工作卸載到 GPU 并減少 CPU – GPU 同步點。

請使用ExecuteIndirect將場景消隱系統(tǒng)移植到 GPU 。

使用ExecuteIndirect計數緩沖區(qū)來控制命令的數量,而不是發(fā)出最大數量的命令并單獨預測未使用的命令。

NVIDIA 在ExecuteIndirect的Vulkan下為ExecuteIndirect提供附加功能

不推薦

幀描述符堆中的 CBV / SRV / UAV 描述符或 2K 采樣器不要超過 100 萬個。

不要阻止ExecuteCommandList呼叫。

ExecuteCommandList打電話可能會很貴。同時,可以在其他線程上記錄新命令。

每個命令隊列都可以使用自己的線程來提交ExecuteCommandList。

不要只在幾個命令列表中記錄所有內容或大型場景部分。這限制了您充分使用所有 CPU 內核的能力。

此外,構建幾個大的命令列表意味著您可能會發(fā)現很難讓 GPU 保持空閑狀態(tài)。

不要只在錄制完所有內容后才提交。您可能會浪費使 GPU 與其他命令列表的錄制并行工作的機會。

不要期望大量的列表重用。

在對象可見性等方面,每幀通常有許多更改。

后處理可能是一個例外。

不要經常混合使用繪圖、分派和復制命令。

嘗試將所有繪制命令組合在一起,并將命令分派到一起,依此類推。

在同一隊列上頻繁混合不同類型的工作可能會導致管道排水。

不要創(chuàng)建太多線程或太多命令列表。

太多的線程超額訂閱 CPU 資源,而太多的命令列表可能會積累太多的開銷。

關于作者

Wessam Bahnassi 在 3D 引擎設計和優(yōu)化方面有 20 年的經驗。他最新發(fā)布的游戲包括《蝙蝠俠:阿卡姆騎士》和他自己的 120-FPS PSVR 太空射擊游戲超空。他是 ShaderX / GPU Pro / GPU Zen 系列書籍的撰稿人和章節(jié)編輯。他目前在 NVIDIA 的工作包括進行優(yōu)化,并為該公司的幾個很酷的研究項目做出貢獻。

審核編輯:郭婷

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

    關注

    68

    文章

    11052

    瀏覽量

    216244
  • NVIDIA
    +關注

    關注

    14

    文章

    5274

    瀏覽量

    105907
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    FX3 Socket緩沖區(qū)切換的最大時間是多少?

    FX3_Programmers_Manual 文檔的第 10 章提到“每個緩沖區(qū)緩沖區(qū)切換開銷為 550 - 900 ns”。 Getting_Started_with_EZ-USB_FX3 文檔
    發(fā)表于 05-16 07:51

    在傳輸DMA通道中的所有緩沖區(qū)后,DMA標志(就緒和部分)被卡住了是怎么回事?

    2 次傳輸,再次卡住的時間更短,然后順利傳輸數據。 Buffers working until they get stuck緩沖器在卡住之前一直在工作 前兩個緩沖區(qū)的標志 A()和 B(下),然后
    發(fā)表于 05-16 07:18

    求助,關于3014的緩沖區(qū)設置疑問求解

    不夠導致rgb24 1080p@60fps為靜態(tài)? 緩沖區(qū)的大小和數量是否需要對應? 因為720p@60fps的緩沖區(qū)的大小和數量為34kb,3,是可以出圖且動態(tài),但圖像依然是顛倒的。我將
    發(fā)表于 05-06 13:42

    請問如何在Linux中使用幀緩沖區(qū)更新epdc顯示?

    我正在使用帶有 epdc 顯示子卡 (IMXEBOOKDC5) 的 IMX8ULP EVK。使用 Linux 映像引導后,epdc 顯示無法使用幀緩沖區(qū)進行更新。當檢查顯示 pmic 的電源使能引腳
    發(fā)表于 04-01 06:41

    FreeRTOS進階使用之流緩沖區(qū):高效處理字節(jié)流的秘密武器

    在嵌入式開發(fā)中,流緩沖區(qū)(Stream Buffer)是FreeRTOS中用于高效處理字節(jié)流數據傳輸的核心機制,尤其適合任務間或中斷與任務間的連續(xù)數據傳輸場景(如串口通信、網絡數據流等)。本文將深入
    發(fā)表于 03-24 11:37

    L9663如何使用上行緩沖區(qū)發(fā)送同步脈沖?

    我根據L9663 Datasheet這個手冊,想使用這個配置“通過帶有上行數據緩沖區(qū)的SPI觸發(fā)。微控制器發(fā)送相應的SPI命令以發(fā)送同步脈沖。然后,同步脈沖觸發(fā)發(fā)生器根據上行數據緩沖區(qū)中的值在內部
    發(fā)表于 03-13 08:15

    緩沖區(qū)溢出漏洞的原理、成因、類型及最佳防范實踐(借助Perforce 的Klocwork/Hleix QAC等靜態(tài)代碼分析工具)

    本期來認識軟件漏洞的“常客”——緩沖區(qū)溢出,C/C++開發(fā)者尤其要注意!全面了解該漏洞的成因、類型、常見示例,以及如何借助Klocwork、Helix QAC等SAST工具進行防護。
    的頭像 發(fā)表于 03-04 16:39 ?780次閱讀
    <b class='flag-5'>緩沖區(qū)</b>溢出漏洞的原理、成因、類型及最佳防范<b class='flag-5'>實踐</b>(借助Perforce 的Klocwork/Hleix QAC等靜態(tài)代碼分析工具)

    RTOS的流緩沖區(qū)機制解析

    SAFERTOS中的流緩沖區(qū)(Stream buffer)機制,可以實現任務到任務或中斷到任務之間的通信。字節(jié)流是由發(fā)送方寫入緩沖區(qū),接收方讀取緩沖區(qū)數據。流緩沖區(qū)作為隊列的輕量級級替
    的頭像 發(fā)表于 02-14 11:33 ?474次閱讀
    RTOS的流<b class='flag-5'>緩沖區(qū)</b>機制解析

    AMD Zen 4處理器悄然禁用循環(huán)緩沖區(qū)

    近日,AMD在更新BIOS后,對Zen 4架構的處理器進行了一項未公開說明的更改:禁用了循環(huán)緩沖區(qū)(Loop Buffer)功能。這一變化引發(fā)了業(yè)界和用戶的廣泛關注。 循環(huán)緩沖區(qū)作為CPU前端的一個
    的頭像 發(fā)表于 12-11 13:46 ?501次閱讀

    分享一個嵌入式通用FIFO環(huán)形緩沖區(qū)實現庫

    開源項目ringbuff ,是一款通用FIFO環(huán)形緩沖區(qū)實現的開源庫,作者MaJerle,遵循 MIT 開源許可協議。
    的頭像 發(fā)表于 10-23 16:20 ?1055次閱讀
    分享一個嵌入式通用FIFO環(huán)形<b class='flag-5'>緩沖區(qū)</b>實現庫

    內存緩沖區(qū)和內存的關系

    內存緩沖區(qū)和內存之間的關系是計算機體系結構中一個至關重要的方面,它們共同協作以提高數據處理的效率和系統(tǒng)的整體性能。
    的頭像 發(fā)表于 09-10 14:38 ?1155次閱讀

    單片機中的幾種環(huán)形緩沖區(qū)的分析和實現

    單片機中的幾種環(huán)形緩沖區(qū)的分析和實現一、簡介環(huán)形緩沖區(qū)(RingBuffer)是一種高效的使用內存的方法,它將一段固定長度的內存看成一個環(huán)形結構,用于存儲數據,能夠避免使用動態(tài)申請內存導致的內存碎片
    的頭像 發(fā)表于 08-14 08:39 ?1648次閱讀
    單片機中的幾種環(huán)形<b class='flag-5'>緩沖區(qū)</b>的分析和實現

    esp32-s3 uvc攝像頭緩沖區(qū)溢出是什么原因呢?

    板子是esp32-s3 n8r8 使用的是ESP IDF VSCode 擴展版本 v1.8.0 遇到的問題是,在改變分辨率時候(增大or減小)都會遇到提示緩沖區(qū)溢出的情況,我嘗試過增大緩沖區(qū)的內存分配,然而問題還是沒有得到解決。 請問這是什么原因呢
    發(fā)表于 07-19 07:35

    ESP8266是否可以添加AT命令并使接收緩沖區(qū)大小可調?

    是否可以添加 AT 命令并使接收緩沖區(qū)大小可調? 在Arduino,我總是丟棄數據字節(jié),而arduino硬件串行只有64字節(jié)的緩沖區(qū),看起來ESP8266有256個字節(jié)。
    發(fā)表于 07-17 07:36

    ESP8266有雙緩沖區(qū)嗎?

    我想實時傳輸一些信號的測量數據。信號的采樣周期為 1 ms。我想每 500 毫秒發(fā)送 2048 字節(jié)(一個數據包)。ESP8266有雙緩沖區(qū)(2x 2048字節(jié))嗎?其想法是計數填充一個緩沖區(qū)(周期
    發(fā)表于 07-16 07:29