在gem5上執行Splash benchmarks

2021-06-28 08:50:59 字數 1211 閱讀 2429

有2種方式在gem5上執行splash-2,即fs(full-system)模式和se(syscall-emulation)模式

最穩定的方法是使用parmacs macros的乙個pthreads實現來編譯benchmarks,然後鏈結標準linux pthreads library並在m5上以fs模式執行此二進位制檔案。

優點:現實:你獲得實際的linux執行緒排程器來排程你的執行緒。

穩定性(和目前的se模式相反...詳見下面)

你能編譯乙個交叉編譯器來在非alpha平台上編譯二進位制()

缺點:cpu限制:我們模擬的tsunami平台僅支援4個cpu,通過打補丁擴充套件到64個

詳細執行步驟

編譯跟著udel**的指導。許多benchmarchs很容易編譯。一些需要額外的工作。

radiosity: descend into glibdumb and glibps and 『make』.

volrend: unarchive and build the libtiff; i had to modify its makefile by adding -dbsdtypes in the cflags

複製掛載模擬中使用的disk image,例如

sudo mount -o loop,offset=32256 linux-arm-ael.img /mnt/tmp

執行接下來是基本的預設方式來執行benchmarks。若你為你的主機體系結構編譯,你應該能夠直接測試。

barnes: ./barnes < input

fmm: uncompress the files in the inputs directory, then ./fmm < inputs/input.16384

ocean: ./ocean

radiosity: ./radiosity -batch

raytrace: uncompess the files in the inputs directory. i had to run with additional memory (probably a data sizing issue with 64-bit machinery): ./raytrace -m64 inputs/car.env

water-nsquared: ./water-nsquared < input

water-spatial: ./water-spatial < input

gem5 一)配置Gem5執行環境

系統環境 ubuntu 18.04 1.安裝相關的依賴庫 通過命令sudo apt install 安裝下列的依賴庫 git,build essential,scons,python dev,swig,libprotobuf dev,python protobuf,protobuf compiler...

如何除錯gem5

printf 是很好的工具,同時gem5在自己 裡面就有很多已經做好的輸出資訊,可以通過flag制定來選擇。輸出flags fetch,decode,ethernet,exec,tlb,dma,bus,cache,loader,o3cpuall,要想知道所有的flags,執行的時候加上 debug ...

gem5的安裝 編譯及執行

推薦gem5官網 1.安裝各類庫檔案 當純環境寫的 以ubuntu14.04為例,其他的版本也是基本上差不多的 sudo apt get install mercurial scons swig gcc m4 python python dev libgoogle perftools dev g l...