你好,在我的內核函數中,我使用了3個設備函數,我想計算每個設備函數所花費的時間。是否有任何方法來定時設備在內核中的函數時間?請您讓我知道,謝謝你如何測量在內核函數中調用設備函數時的時間
0
A
回答
3
引述CUDA C編程指南:
clock_t clock();
long long int clock64();
當在設備代碼執行,返回是 遞增每個時鐘週期每多處理器計數器的值。在 內核的開始和結尾採樣這個計數器,取出兩個採樣的差值,並記錄每個線程的結果 爲每個線程提供了一個測量設備所採用的時鐘週期數爲 完全執行該線程,但不是執行線程指令花費的實際上 時鐘週期數。前者數字大於後者,因爲 線程是時間片。
此計時幾乎適用於Matlab的tic
和toc
。在CUDA SDK中有一個時鐘示例。基本上,它是這樣的
__global__ void max(..., int* time)
{
int i = threadIdx.x + blockIdx.x * blockDim.x;
clock_t start = clock();
//device function call
clock_t stop = clock();
...
time[i] = (int)(stop - start);
}
+0
我需要爲每個設備功能添加clock()嗎? –
+0
@ChaparalaAbhilash我用一個簡單的用法示例編輯了我的帖子。 – JackOLantern
相關問題
- 1. 測量Linux內核中函數的執行時間
- 2. 如何編寫由用戶空間函數調用的內核空間函數?
- 3. 在調試內核時,dev _ *()系列函數如何有用?
- 4. 什麼是測量內核功能時間的定時器函數
- 5. 如何調用任何內核函數?
- 6. 如何在Python中自動測量函數的執行時間
- 7. 如何測量函數在Matlab中運行的時間?
- 8. 如何計算該函數內的函數調用時間以及可以在Python中恢復的數量?
- 9. 測量時間M次的函數
- 10. CUDA:在內核中調用庫函數
- 11. 從Python內核調用C++ CUDA設備函數
- 12. 如何在函數內調用函數?
- 13. C++測量重複調用的函數的時間
- 14. 如何在調用函數調用次數時調用函數中的閉包
- 15. 在內核中調用cublas函數時編譯CUDA代碼
- 16. 在linux模塊中測量函數和調用計數的執行時間
- 17. Linux內核:從內核空間調用用戶空間的回調函數
- 18. 調用Cuda內核中的Opencv函數
- 19. 如何在一段時間內調用jquery函數onload?
- 20. 如何在調用javascript函數時調用gwt函數
- 21. 如何調用時間內嵌套的函數R
- 22. 應該如何設計長時間函數調用的代碼?
- 23. 在定期時間間隔內調用函數的API
- 24. 在很短的時間間隔內多次調用函數
- 25. 函數調用和回調之間的C++度量時間
- 26. 如何在帶參數的函數中調用變量函數?
- 27. 在函數調用中花費的大量時間
- 28. 如何調用函數內部函數?
- 29. 外部函數使用的設備內存變量如何?
- 30. 如何在OpenCL的內核函數中聲明一個函數?
也許這是少數情況下,當不需要顯示代碼之一? :-) – JackOLantern