在gem5上运行Splash benchmarks

来源:互联网 发布:软件测试大纲 编辑:程序博客网 时间:2024/06/05 10:36

有2种方式在gem5上运行SPLASH-2,即FS(full-system)模式和SE(syscall-emulation)模式

  • 使用FS模式

最稳定的方法是使用PARMACS macros的一个Pthreads实现来编译benchmarks,然后链接标准Linux Pthreads library并在M5上以FS模式运行此二进制文件。

优点:

现实:你获得实际的Linux线程调度器来调度你的线程。

稳定性(和目前的SE模式相反...详见下面)

你能编译一个交叉编译器来在非Alpha平台上编译二进制()

缺点:

CPU限制:我们模拟的Tsunami平台仅支持4个CPU,通过打补丁扩展到64个

开销:你已经下载一个disk image,获得disk image的二进制,在M5上启动Linux。

详细运行步骤

下载

下载splash2。从SPLASH2下载SPLASH的补丁。

编译

跟着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

volrend: Uncompress the files in the inputs directory, then ./VOLREND 1 inputs/head (omit the .den extension, it is automatically appended in the code).

water-nsquared: ./WATER-NSQUARED < input

water-spatial: ./WATER-SPATIAL < input

  • 使用SE(syscall-emulation)模式
0 0
原创粉丝点击