簡體   English   中英

時序 Kernel 在 CUDA 上執行

[英]Timing Kernel Executions on CUDA

我使用了 CUDA C 最佳實踐中的代碼來實現執行計時器。 然而他們的東西很奇怪,我不知道這是異常還是正常。 每次運行 CUDA 應用程序時,我都會得到不同的讀數。

這些讀數是否與設計有關,或者是我應該期待的。

除了 Windows 7 之外,我沒有在我的機器上運行任何圖形密集型應用程序。

好吧,這取決於差異有多大。 您可以看到引起異常的一件事是 kernel 調度程序。 調度程序可能會為 kernel 函數提供一些額外的時間片(因為圖形 API 調用涉及錯誤檢查),這顯示了更多的執行時間。 如果差異非常大,我會說檢查您的代碼,但如果它非常低(以毫秒為單位),我不會擔心 +- 10 毫秒是大多數操作系統(可能包括 Windows)中時間片的常用時間。 Aero 也是一種密集型,因此可能會增加您所看到的差異。

我使用了 CUDA C 最佳實踐中的代碼來實現執行計時器。

是的,根據我的經驗,這不是“最佳實踐”。

我建議使用nvprof分析器代替您的設備端代碼和 CUDA 運行時 API 調用(我認為它也適用於您自己的主機端代碼)。 設置和確定要使用的選項會帶來一些麻煩,但這是值得的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM