0
簡單的問題,但我環顧四周,我還沒有找到任何東西。我正在學習CUDA編程,所以我想了解開普勒的架構,但對我來說沒有意義。如果一個warp是32個線程,並且其中4個被調度/執行,那麼這意味着128個核心正在使用中,而64個空閒。在白皮書中,它講述了一些關於獨立指令的內容,爲這些指令保留的64個內核也是如此?如果是這樣,有人能給我一個什麼時候需要獨立指導的例子嗎?提前致謝。爲什麼GK110有192個核心和4個經紗?
簡單的問題,但我環顧四周,我還沒有找到任何東西。我正在學習CUDA編程,所以我想了解開普勒的架構,但對我來說沒有意義。如果一個warp是32個線程,並且其中4個被調度/執行,那麼這意味着128個核心正在使用中,而64個空閒。在白皮書中,它講述了一些關於獨立指令的內容,爲這些指令保留的64個內核也是如此?如果是這樣,有人能給我一個什麼時候需要獨立指導的例子嗎?提前致謝。爲什麼GK110有192個核心和4個經紗?
開普勒的每個SM都有192個(SP)內核和4個warp調度器。每個warp調度程序都能夠執行雙重問題,這意味着在某些情況下,它可以在給定線程塊(實際上用於特定warp)中發出2條指令。
其中一種情況是指令應該是獨立的,這粗略地說是指其他指令依賴於其他指令的輸出。
使用4個warp調度器,每個調度器都可能出現雙重問題,理論上可以啓動多達8個warp指令。這至少在理論上足以保持192個(SP)內核繁忙。
除了通常稱爲「核心」的SP單元之外,SM還具有執行單元,因此實際的指令組合將決定在給定的發行槽中調度哪些執行單元。
您可以在GK110 whitepaper中獲得更詳細的說明。
謝謝你的答覆,但可以說8個(SP)經紗已經啓動,6個可以一起執行,另外2個需要等待下一個週期? – Peezy 2014-09-28 05:36:02
是的,調度程序不會選擇8個SP warp指令在一個週期內啓動。 – 2014-09-28 14:11:58
感謝您的幫助 – Peezy 2014-09-28 17:00:39