2015-10-17 205 views
-2

最近nvidia發佈了cuda 7.5,並宣佈該界面應該可以在其他視頻卡上使用,而不僅僅是quadro和tesla。但是,當我在GTX 970上測試時,cudaDeviceGetStreamPriorityRange會回退-1和0. GTX 970的計算能力爲3.5,並且應該支持從cuda 6.0開始的可配置流優先級。如何在GTX970上使用cuda流優先級?

+0

非常感謝,因爲我正在研究可以同時支持多個內核的主題。重點是我想要將它們安排在優先隊列中。我想確保優先級最高的那個可以始終運行。但是因爲我正在基於PC的工作站上工作,所以我不能使用特斯拉。 – Richardicy

回答

3

在GTX970上可以使用cuda優先級嗎?

是的,這是可能的,並從CUDA運行時API函數的0cudaDeviceGetStreamPriorityRange( 「低優先級」)和-1( 「高優先級」)的返回值是correct(< - 指滑動70,它對Maxwell GeForce沒有改變)。在這種情況下只有兩個優先級別。 (未來可能會改變,對於未來的GPU或CUDA版本,這就是爲什麼提供運行時API函數的原因。)

您可能也有興趣閱讀relevant documentation或運行或學習相關cuda StreamPriorities sample code

+0

謝謝,其實我希望推出多個內核。而且我正在一個PC站上工作,我不能使用特斯拉。如果我仍然想讓GTX 970支持更大範圍(兩個以上)的優先級,我想我必須使用一些技巧,比如:啓動內核,鎖定並等待,直到完成,然後抽取具有最高優先級的內核在我的隊列中,再次啓動它。是否有可能這樣做?我討厭它,但我的老闆迫使我想出一個主意。 – Richardicy

+0

是的,你必須使用「一些技巧」。在這種情況下只支持2個優先級。如您所說,如果符合您的應用程序設計,您可以在主機上優先調度內核。 –