天天看點

gem5-gpu 選項解釋

‘--split’ ,該項用于模拟獨立顯示卡,GPU與CPU不在同一晶片上,兩者的記憶體實體上隔絕,使用PCI-Express連接配接。

‘--access-host-pagetable’,該項用于模拟內建顯示卡,GPU與CPU在同一晶片上,共享實體記憶體,(1)當運作正常的Rodinia程式時,依然需要通過DMA引擎把資料從CPU空間複制到GPU空間,大多數協定保證了這種配置的緩存一緻性,記憶體分成兩個區域,其中一個區域分給GPU。(2)當運作nocopy版本的程式時,GPU與CPU共享記憶體位址,不需要額外的拷貝。(疑惑.jpg!模拟的架構跟應用程式之間還有相關性?)

VI_hammer,該協定是gem5-gpu中最适合用于模拟異構融合架構的,GPU使用VI(Valid/Invalid?)協定,CPU-GPU間使用MOESI 協定。VI協定也是AMD、NVIDIA某些GPU架構使用的協定,這種協定為GPU做了優化。如果使用Ruby中的同構協定(把CPU和GPU請求同樣看待),由于GPU的大量請求,将會産生相當多的cache間流量。

Ruby,其中的協定都可以用于獨立(split)和融合(fused)異構架構。

--Ruby 使用ruby 緩存模型,--caches --l2cache啟用classic緩存模型,VI_hammer不支援這兩個選項。編譯gem5-gpu時指定P協定,運作時使用編譯時指定的P協定。

--Ruby選項的作用可能就是與 -topology搭配使用,改變緩存拓撲結構(拓撲與協定無關?),比如mesh、crossbar、pt2pt等。