2018年11月29日 星期四

測試P2P及GPU,QPI Early Snoop的設定影響

在Intel Haswell這一代,QPI下有個Early Snoop功能。這個early snoop功能在於HPC做cache分派時,能透過early snoop功能獲得job load balance效果。但用於GPU上,因為需要CPU及PCIe的頻寬,因此需要將此給關閉。
這是Intel對early snoop的解釋


進入測試重點:
首先,先測試Early Snoop開啟/Auto狀態下的數值。此次我是採用nVidia K40m來測試。附帶一提的是,nVidia不支援跨QPI/UPI(SKL平台)的P2P。並且P2P的任何結果僅供參考 (reference only).


Early Snoop開啟下,P2P獲得的值:單向為 5.13, 7.96 GB/s  雙向(Bidirection)為 6.66, 6.95 GB/s 

Early Snoop關閉下,P2P獲得的值:單向為 9.30, 9.31 GB/s  雙向(Bidirection)為 18.34, 17.98 GB/s 

因此,如果使用Haswell平台應用在GPU P2P的環境,例如AI, Deep Learning, Tensorflow等,可以把early snoop給關閉獲取最大傳輸頻寬。