我想知道如何在Visual Studio 2010中用Nsight 2.2函數在__global__
函數中剖析__device__
函數。我需要知道哪個函數耗費大量資源和時間。我在CC 2.0上有CUDA 5.0。CUDA:Nsight VS2010 profile __device__函數
1
A
回答
3
Nsight Visual Studio Edition 3.0 CUDA Profiler引入了源相關實驗。本概要CUDA活動支持以下源水平的實驗:
指令計數 - 收集所執行的指令,執行的線程的指令,活動線程直方圖,預測螺紋直方圖在內核中的每個用戶指令。系統調用信息(printf)未被收集。
發散分支 - 收集分支採集,未採用分支和流量控制指令的分歧計數。
內存事務 - 收集交易數量,交易的理想櫃檯,並要求字節爲全球,本地和共享內存的指令。
該信息按照SASS指令收集。如果使用-lineinfo(--generate-line-info)編譯內核,則可以將信息彙總到PTX和高級別源代碼。由於這些數據是從SASS捲起來的,因此一些統計數據可能對高層來源不直觀。例如,分支統計信息可能會在預計100%採取時顯示爲100%。如果您查看SASS代碼,您可能會看到編譯器顛倒了條件。
請不要在優化的版本上編譯器有時無法維護線表信息。
此時的硬件性能計數器和時間僅可在內核級別。
設備代碼時序可以使用clock()和clock64()來完成,如註釋中所述。這是一項非常先進的技術,它需要能夠理解SASS並解釋關於SM warp調度程序的結果。
相關問題
- 1. 我無法從__device__函數調用__host__ __device__函數嗎?
- 2. CUDA:從內核調用__device__函數
- 3. 我可以從CUDA內核函數調用__device__函數嗎?
- 4. CUDA __device__
- 5. 如何在線程數較少的CUDA中調用__device__函數
- 6. 訪問CUDA庫函數內的__device__函數模板專門實例
- 7. 如何讓CUDA編譯標準庫函數的__device__版本?
- 8. __shared__變量可以封裝在__device__ __host__函數中嗎?
- 9. 將所有CUDA函數更改爲__host__ __device__
- 10. 模板__host__ __device__調用主機定義的函數
- 11. cudaMemcpyFromSymbol在__device__變量
- 12. CUDA __host__ __device__變量
- 13. CUDA:cudaMemcpy爲__device__數組返回cudaErrorInvalidValue
- 14. 調用__device__函數是否會影響CUDA中使用的寄存器數量?
- 15. VS2010 SFINAE和函數重載錯誤
- 16. VS2010 C#函數使用循環
- 17. rdlc vs2010中的查找函數
- 18. 如何從VS2010調用matlab函數
- 19. __device__限定符的範圍
- 20. 如何更改CUDA中全局和設備函數中的__device__變量?
- 21. CUDA:__device__和__global__錯誤:預期的構造函數,析構函數或在「unsigned」/「void」之前的類型轉換「
- 22. 子進程VS函數VS/etc/profile中的並行程序
- 23. 在.profile linux mint中寫入函數的語法是什麼
- 24. Ws-basic profile 1.0 vs Ws-basic profile 1.1
- 25. 在頁面前面的wordpress profile profile form?
- 26. Maven Profile for testing
- 27. H264 profile-iop
- 28. @Profile和@ConditionalOnProperty
- 29. MVC Common Profile Class
- 30. Hockeykit Invaild Provisionary Profile?
謝謝。它看起來很難但很有趣。你知道Nsight 3.0何時會發布嗎? – Seltymar 2013-02-28 08:57:54