1
如果需要將兩個int2從設備內存加載到寄存器,兩個連續加載的int2與一個int4的加載相比要差多少?費米架構上的int2與int4負載
如果需要將兩個int2從設備內存加載到寄存器,兩個連續加載的int2與一個int4的加載相比要差多少?費米架構上的int2與int4負載
這取決於GPU和內存訪問模式。但是,假設(在問題中缺乏信息)計算能力2.0+ GPU(Fermi GPU)上的順序尋址,請參閱GTC 2010的this presentation by Paulius Micikevicius的幻燈片27.
幻燈片顯示,對於多處理器佔用率較低每個多處理器的活動線程數較低),int4可以比int2大很多。對於高入住率,幾乎沒有區別。
但是,正如幻燈片所示,「幾個獨立的較小訪問與一個較大的訪問具有相同的效果,例如:四個32位〜=一個128位」 。所以,如果你需要加載的兩個int2值是獨立的,只需在代碼中一個接一個地發出這兩個加載,並且應該與執行一個int4幾乎相同的性能,假設如上所述的一致的內存訪問。
帶負載意味着CPU-GPU還是GPU-GPU?前者在CPU上的開銷不大(這應該不重要)。後者可能取決於你的內存訪問(合併與否)。 – 2011-05-17 21:47:43
取決於卡。通常計算能力2.0+非常聰明地處理這些事情。 – 2011-05-17 22:06:55