關於GPU SIMD是否會提前退出的問題?

時間 2021-06-02 18:25:37

1樓:

SIMD的含義就是在任何時候對(SIMD當中的)所有的資料進行同一條指令,用x86的話來說就是PC這個暫存器(乙個SIMD裡面)只有乙個。所以無論是分支還是迴圈,只要有乙個lane要執行,其它的lane就只能陪著執行,只不過有另外的乙個暫存器(每個lane乙個bit)會標註哪幾個lane的執行結果保留,哪幾個扔掉而已。

2樓:

當然會提前退出,simd遇到分支不是說一定都跑所有分支,而是如果simd的32個執行緒的分支判斷結果一樣,就只走這乙個分支。對於for迴圈而言,如果所有執行緒跑到某次時都結束迴圈了,自然也就結束了。

3樓:xiedidan

題主可能有2個誤解,一是被「流處理器」的稱呼誤導了;二是頂點著色器不是指令並行的,而是頂點並行的(乙個頂點的100個迴圈是要「綁」在乙個流處理器上執行完的)。

先說流處理器sp,老黃這邊sp就是alu,多個sp打包起來成為warp,warp再組合成的SM才是處理器。由於warp是SIMD的最小單元,所以從程式設計師的角度,可以把乙個warp看作多核處理器裡面的乙個核。

所以所謂的流處理器跑Thread,實際上是SIMD裡面的一路資料而已。所以乙個warp內,sp上執行的迴圈都是同步的,不會有先跑完的sp。

但是warp是可能有「空轉」的,比如,頂點數不是warp的倍數,最後有些畫素就不能填滿warp,那空出來的sp在程式設計師的角度,可以看作「空轉」;在硬體實現上,warp會生成掩碼,用不上的sp會「靜默」,應該是某種低功耗的狀態。

------編輯的分割線

對了想起個事情,由於著色器也是支援分支指令的,所以有warp divergence的問題,這個時候sp也會空轉,是要盡量避免的。但是即使warp divergence,乙個warp裡的thread也是同步的(阻塞空等是一種同步)。

退遊之後你是否會再重新玩這個遊戲?

周關山 分情況吧,尤其是端遊和手遊。本人是個LOL 爐石 率土之濱老玩家。端遊的回坑率相對來說還是比較低的,主要是因為玩家棄遊的原因很大程度上是受現實條件的限制,比如裝置 時間 或者找到了更好的替代品,LOL是從13年開始玩的最初的遊戲好友大部分都是同班同學,初中的 高中的 還有大學的。到如今,雖然...

關於軍訓,你是否會感到反感呢?

伏瀾 之前的被刪了,因為當時正處於軍訓期間,說話比較偏激。但是我確實發現了地域差異,我說實話,西安的初高中軍訓真的。一言難盡,教官素質真的差,我確實是寒門,但並沒有自認貴族,反而是這些教官對我們各種諷刺,動作不好的會被踹屁股,被罵爹罵娘,很糟糕。熄燈後洗腳水沒有倒,我請示倒一下立馬回來,遭到拒絕,我...

做試管嬰兒是否會造成女性提前衰老,還有就是泰國的技術是否靠譜

BMJK 很多人對試管嬰兒技術存在不少誤區,這也是常見的乙個誤區之一。其實,促排後加速女性只要科學合理促排,不過量促排,對女性身體造成的影響並不會很大,事後不要太過操勞,加上足夠休息時間,身體很快就可以恢復,試管嬰兒對身體的影響相對於比起不孕不育對夫妻的身心折磨來說更小。這裡希望大家對這件事持著一顆...