lab1报告
|Last edited: 2024-12-5

Setup:

依照下发文档,依次执行
创建一个名为lab1的容器,其内搭载了chaselab/archlab镜像,并将一个镜像内的一个文件夹挂载到本地文件夹。
为了方便,我使用了vscode的dev container插件进入容器内部,执行命令
获得编译gem5环境所需代码,并将文件夹名改为gem5
随后进行编译:
忽略掉pre-commit库的安装,并通过修改.wslconfig文件将swap空间开到16G后成功编译,编译结果如图:
notion image
 

Part1:

依据文档创建proj1文件夹并编写simple.py文件,编译测试程序后,运行结果如图:
notion image
 

Part2:

没有要提交的内容
 

Part3:

依据文档内容修改simple.py文件,使得我们可以通过命令行参数设置CPU以及内存类型。
通过脚本并行执行数个任务,如:
通过chmod +x <文件路径>给脚本加以可运行权限。由于我的CPU可用核心数只有8个,所以我将所需执行的任务写到数个脚本中,分别执行,每个脚本中会并行执行8个任务。
 
注:下发文档中由于# add `&` after the command to let it run in background 这行注释的位置在--cpu $c --mem $m --clock 2GHz & 的上方,导致脚本识别命令错误,无法正常设置参数,更换两行位置后成功。
 
下面是测试结果:
测试一:CPU:simple , MEM:DDR3
binary_search
gemm
shell_sort
spfa
IPC
0.007432
0.007027
0.006922
0.007423
 
测试二:MEM:DDR3
simple
minor
o3
IPC/binary_search
0.007432
0.028561
0.060861
IPC/gemm
0.007027
0.040222
0.134024
IPC/shell_sort
0.006922
0.029715
0.084223
IPC/spfa
0.007423
0.033755
0.077882
 
测试三:
1、CPU:simple
DDR3
DDR4
DDR5
IPC/binary_search
0.007432
0.007591
0.005831
IPC/gemm
0.007027
0.007169
0.005560
IPC/shell_sort
0.006922
0.007064
0.005490
IPC/spfa
0.007423
0.007591
0.005885
2、CPU:minor
DDR3
DDR4
DDR5
IPC/binary_search
0.028561
0.029458
0.020917
IPC/gemm
0.040222
0.041212
0.029536
IPC/shell_sort
0.029715
0.030593
0.022559
IPC/spfa
0.033755
0.034906
0.027700
3、CPU:o3
DDR3
DDR4
DDR5
IPC/binary_search
0.060861
0.064613
0.043615
IPC/gemm
0.134024
0.150984
0.105573
IPC/shell_sort
0.084223
0.089350
0.050822
IPC/spfa
0.077882
0.081861
0.053528
 
Loading...