有什麼方法可以知道空閒/活動SM的數量?或者至少讀取每個SM的電壓/功率或溫度值,據此我可以知道其工作與否。 (實時在gpu設備上執行一些作業)。如何找到活動的SM?
%smid幫助我瞭解每個SM的ID。類似的東西會有幫助。
感謝和問候, 勒凱什
有什麼方法可以知道空閒/活動SM的數量?或者至少讀取每個SM的電壓/功率或溫度值,據此我可以知道其工作與否。 (實時在gpu設備上執行一些作業)。如何找到活動的SM?
%smid幫助我瞭解每個SM的ID。類似的東西會有幫助。
感謝和問候, 勒凱什
的CUDA分析工具接口(CUPTI)包含使得能夠運行GPU PM計數器的時間採樣的事件的API。 CUPTI SDK是CUDA工具包的一部分。關於採樣的文檔可以在CUPTI Events API \ Sampling Events一節中找到。
一個或多個以下櫃檯將爲您提供SM活動的一個好主意:
謝謝。這非常有幫助。但我需要更多的澄清。假設CUDA應用程序正在運行,並且它佔用14箇中的2個SM,例如50秒。 (我可以使用nvprof來檢查,但nvprof在最後給出active_cycles或active_warps結果)。如果我開發另一個性能分析應用程序,通過使用CUPTI API,是否可以與CUDA應用程序同時運行,並知道並記錄CUDA應用程序在第5秒,第10秒等使用的SM的數量? – 2013-02-15 04:30:14
是的。請閱讀文檔並在{CUDA工具包} \ extras \ CUPTI \ sample \ event_sampling中重新獲取示例。該示例在200 Hz的後臺線程上查詢計數器。您應該可以查詢大於2^32/gpu_core_clock_frequency/log2(max_event_increment),否則您將在某些計數器上發生溢出。 – 2013-02-15 18:15:50
我經歷了event_sampling代碼。他們在同一個程序中使用了兩個線程,其中一個負責抽樣工作。我的情況不同。我希望我的CUPTI API分析應用程序能夠在我請求的時候查詢並顯示結果(SM狀態,active_cycles或active_warps無損)給我;就像nvidia-smi一樣。這應該獨立於作爲GPU上的一般應用程序運行的後臺進程。 – 2013-02-16 03:11:52
如果您有權訪問源代碼,您可以通過'%smid'找到活動SM的數量。 – ahmad 2013-02-14 12:36:50