0
我對於FP64數據如何影響由warp發出的內存訪問有點困惑。CUDA聯合訪問FP64數據
- 一個warp總是由32個線程組成,無論這些線程在做FP32或FP64計算。對?
- 我已經讀過,每次warp中的線程試圖讀取/寫入全局內存時,warp訪問128個字節(32個單精度浮點數)。對?
- 所以如果一個warp中的所有線程都從內存中讀取不同的單精度浮點數(總共128個字節),但是以合併的方式,warp將發出單個內存事務。對?
這是我現在的問題:
- 如果在經所有線程試圖在聚結的方式來訪問不同的雙精度浮點(共256個字節)?這個warp會發出兩個內存事務(128 + 128)嗎?
PS:我在計算能力最感興趣的2.0+結構
感謝您的回答我的朋友。我願意接受它,但如果您能評論32字節的交易,我也將不勝感激。它們在什麼情況下發生?先謝謝你。 – AstrOne
@AstrOne:如果warp中的每個線程都需要加載8或16位類型,則可以使用32字節的事務來處理這些類型。如果您願意,您也可以強制編譯器發出32字節的事務。 – talonmies