NEMU icon indicating copy to clipboard operation
NEMU copied to clipboard

NEMU cpt-bk分支运行中,参数选择的问题

Open bersarker opened this issue 3 years ago • 14 comments

按照 香山官方文档中,cpt-bk分支运行方法 ,执行了其中的profiling、cluster、checkpointing三条指令。 分别能够得到 simpoint_bbv、simpoints0 & weights0、xxxxx.gz切片文件。

当前问题是:

  1. .gz切片文件过大,导致使用emu执行时间太久,请问一下如何降低切片文件的大小?

2.运行cpt-bk分支时,如何选择其中参数?比如指令间隔大小应该怎样选择,以100,000还是1,000,000为区间比较好?或者是依照程序总指令数,按照一定比例划分指令区间?还有maxK的大小应该怎么取?例如我在maxK的值分别取30和100,得到了分类(切片)数量分别为23与29,应该如何选择?

3.还有如下的三个阶段的指令中,除了 maxK和指令间隔,还有什么可以调节的参数? #profile riscv64-nemu-interpreter workload.bin -D /home/user/spec_cpt -w workloadName -C profiling -b --simpoint-profile --interval 100000000 #Cluster simpoint -loadFVFile ../../simpoint_bbv.gz -saveSimpoints simpoints0 -saveSimpointWeights weights0 -inputVectorsGzipped -maxK 30 -numInitSeeds 2 -iters 1000 -seedkm 123456 -seedproj 654321 # Checkpointing riscv64-nemu-interpreter workload.bin -D /home/user/spec_cpt -w workloadName -C take_cpt -b -S /home/user/spec_cpt/cluster --checkpoint-interval 100000000

4.想问一下香山执行checkpoint执行SPEC INT 2006 的 429.mcf,大概多长时间?想参考一下

以下为我执行的过程中具体切片数据大小: 我在运行的程序是SPEC INT 2006 的 429.mcf,三次不同指令间隔的运行结果如下: 指令间隔 100,000: bbv文件:140.33MB 切片数量:21 .gz切片:大多数是280-330MB,2个20+MB,剩余170-220MB 指令间隔 1,000,000: bbv文件:51.90MB 切片数量:26 .gz切片:大多数是280-330MB,1个29.57MB, 指令间隔 10,000,000: bbv文件:7.1MB 切片数量:14 .gz切片:大多数是280MB以上 *其中.gz切片中295.*MB的文件最多

bersarker avatar Jul 04 '22 07:07 bersarker

您好,我最近在做和你同样的事情,但是在nemu起linux上运行spec2006的过程中,十分耗时,想请问一下您的SPEC INT 2006 的 429.mcf这个case在nemu上第一步profile过程中运行了多长时间?

lico614257 avatar Jul 04 '22 08:07 lico614257

可能会需要12-18小时吧。我是用脚本连续运行3条指令,确认过cluster过程很短(应该是2小时以内),三条指令全程大概24-36小时。请问您的切片的指令间隔设定的多少啊?我也想参考一下

bersarker avatar Jul 04 '22 08:07 bersarker

1.gz切片文件过大,导致使用emu执行时间太久,请问一下如何降低切片文件的大小?

我也没办法

2.运行cpt-bk分支时,如何选择其中参数?比如指令间隔大小应该怎样选择,以100,000还是1,000,000为区间比较好?或者是依照程序总指令数,按照一定比例划分指令区间?还有maxK的大小应该怎么取?例如我在maxK的值分别取30和100,得到了分类(切片)数量分别为23与29,应该如何选择?

建议读SimPoint的paper和文档,他们有非常详尽的解释。这不是NEMU或者香山相关的topic,我们只是借用SimPoint这个工具而已。

https://cseweb.ucsd.edu/~calder/simpoint/

3.还有如下的三个阶段的指令中,除了 maxK和指令间隔,还有什么可以调节的参数?

同上

4.想问一下香山执行checkpoint执行SPEC INT 2006 的 429.mcf,大概多长时间?

100M指令最长可能需要跑2周

shinezyy avatar Jul 04 '22 09:07 shinezyy

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

shinezyy avatar Jul 04 '22 09:07 shinezyy

我运行的case是471,第一步profile过程中运行了7个小时,这个和host主机可能有主要的关系。我的切片的指令间隔设定的10000000。

lico614257 avatar Jul 04 '22 09:07 lico614257

我运行的case是471,第一步profile过程中运行了7个小时,这个和host主机可能有主要的关系。我的切片的指令间隔设定的10000000。 老哥这是我的邮箱[email protected],连给我发个联系方式吗?我们也在研究这个东西,一起进步啊,哈哈哈。

YangQi1234 avatar Jul 04 '22 09:07 YangQi1234

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

想问一下,您的切片大小是多少的?

1.gz切片文件过大,导致使用emu执行时间太久,请问一下如何降低切片文件的大小?

我也没办法

2.运行cpt-bk分支时,如何选择其中参数?比如指令间隔大小应该怎样选择,以100,000还是1,000,000为区间比较好?或者是依照程序总指令数,按照一定比例划分指令区间?还有maxK的大小应该怎么取?例如我在maxK的值分别取30和100,得到了分类(切片)数量分别为23与29,应该如何选择?

建议读SimPoint的paper和文档,他们有非常详尽的解释。这不是NEMU或者香山相关的topic,我们只是借用SimPoint这个工具而已。

https://cseweb.ucsd.edu/~calder/simpoint/

3.还有如下的三个阶段的指令中,除了 maxK和指令间隔,还有什么可以调节的参数?

同上

4.想问一下香山执行checkpoint执行SPEC INT 2006 的 429.mcf,大概多长时间?

100M指令最长可能需要跑2周

想问一下,您最后生成的切片大小每个大概多大呢?

bersarker avatar Jul 04 '22 11:07 bersarker

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

想问一下,您的切片大小是多少的?

1.gz切片文件过大,导致使用emu执行时间太久,请问一下如何降低切片文件的大小? 我也没办法 2.运行cpt-bk分支时,如何选择其中参数?比如指令间隔大小应该怎样选择,以100,000还是1,000,000为区间比较好?或者是依照程序总指令数,按照一定比例划分指令区间?还有maxK的大小应该怎么取?例如我在maxK的值分别取30和100,得到了分类(切片)数量分别为23与29,应该如何选择? 建议读SimPoint的paper和文档,他们有非常详尽的解释。这不是NEMU或者香山相关的topic,我们只是借用SimPoint这个工具而已。 https://cseweb.ucsd.edu/~calder/simpoint/ 3.还有如下的三个阶段的指令中,除了 maxK和指令间隔,还有什么可以调节的参数? 同上 4.想问一下香山执行checkpoint执行SPEC INT 2006 的 429.mcf,大概多长时间? 100M指令最长可能需要跑2周

想问一下,您最后生成的切片大小每个大概多大呢?

从几十M到几百M不等。

shinezyy avatar Jul 04 '22 12:07 shinezyy

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

image 老哥用你tracing的分支显示内存调用不足啊。需要改哪里呢?谢谢

YangQi1234 avatar Jul 05 '22 11:07 YangQi1234

你好,还想问一下README.md里面好像只有checkpoint指令可以执行, ./build/riscv64-nemu-interpreter
--cpt-interval 10000000 -u -b
-D spec_cpt
-C simpoint_profile
-w bbl
-r ./resource/gcpt_restore/build/gcpt.bin
--dont-skip-boot
-I 11000000 ../riscv-pk/build/bbl.bin

profiling和cluster指令好像没有,谢谢。在tracing分支下,我在cpt-bk分支中用到的命令行不能用。

YangQi1234 avatar Jul 05 '22 12:07 YangQi1234

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

image 老哥用你tracing的分支显示内存调用不足啊。需要改哪里呢?谢谢

跑了多久出现的?可能是有bug。

shinezyy avatar Jul 05 '22 13:07 shinezyy

你好,还想问一下README.md里面好像只有checkpoint指令可以执行, ./build/riscv64-nemu-interpreter --cpt-interval 10000000 -u -b -D spec_cpt -C simpoint_profile -w bbl -r ./resource/gcpt_restore/build/gcpt.bin --dont-skip-boot -I 11000000 ../riscv-pk/build/bbl.bin

profiling和cluster指令好像没有,谢谢。在tracing分支下,我在cpt-bk分支中用到的命令行不能用。

nemu --help看一下,有些命令改名字了

shinezyy avatar Jul 05 '22 13:07 shinezyy

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

想问一下,您的切片大小是多少的?

1.gz切片文件过大,导致使用emu执行时间太久,请问一下如何降低切片文件的大小? 我也没办法 2.运行cpt-bk分支时,如何选择其中参数?比如指令间隔大小应该怎样选择,以100,000还是1,000,000为区间比较好?或者是依照程序总指令数,按照一定比例划分指令区间?还有maxK的大小应该怎么取?例如我在maxK的值分别取30和100,得到了分类(切片)数量分别为23与29,应该如何选择? 建议读SimPoint的paper和文档,他们有非常详尽的解释。这不是NEMU或者香山相关的topic,我们只是借用SimPoint这个工具而已。 https://cseweb.ucsd.edu/~calder/simpoint/ 3.还有如下的三个阶段的指令中,除了 maxK和指令间隔,还有什么可以调节的参数? 同上 4.想问一下香山执行checkpoint执行SPEC INT 2006 的 429.mcf,大概多长时间? 100M指令最长可能需要跑2周

想问一下,您最后生成的切片大小每个大概多大呢?

从几十M到几百M不等。

您好,还想问一下,您的spec cpu 2006 所有测试用例用checkpoint跑完需要多久?同时用了多少台设备?

bersarker avatar Jul 08 '22 06:07 bersarker

关于耗时较长的问题,可以尝试用tracing分支,tracing分支带性能优化

想问一下,您的切片大小是多少的?

1.gz切片文件过大,导致使用emu执行时间太久,请问一下如何降低切片文件的大小? 我也没办法 2.运行cpt-bk分支时,如何选择其中参数?比如指令间隔大小应该怎样选择,以100,000还是1,000,000为区间比较好?或者是依照程序总指令数,按照一定比例划分指令区间?还有maxK的大小应该怎么取?例如我在maxK的值分别取30和100,得到了分类(切片)数量分别为23与29,应该如何选择? 建议读SimPoint的paper和文档,他们有非常详尽的解释。这不是NEMU或者香山相关的topic,我们只是借用SimPoint这个工具而已。 https://cseweb.ucsd.edu/~calder/simpoint/ 3.还有如下的三个阶段的指令中,除了 maxK和指令间隔,还有什么可以调节的参数? 同上 4.想问一下香山执行checkpoint执行SPEC INT 2006 的 429.mcf,大概多长时间? 100M指令最长可能需要跑2周

想问一下,您最后生成的切片大小每个大概多大呢?

从几十M到几百M不等。

您好,还想问一下,您的spec cpu 2006 所有测试用例用checkpoint跑完需要多久?同时用了多少台设备?

这取决于服务器的配置、微结构。这个问题在不同版本的xiangshan里也是不同的答案,我的建议是您先跑100k指令,算算仿真速度 (cycle per second),然后再根据总指令数做一下除法来算运行时间。

shinezyy avatar Sep 27 '22 11:09 shinezyy