From 831f42e7b242bf902e5d38e95eba8308a2585963 Mon Sep 17 00:00:00 2001 From: Zhang Fuxin Date: Fri, 31 Dec 2021 22:56:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=9B=BA=E5=AE=9A=E5=AE=BD?= =?UTF-8?q?=E5=BA=A6=E5=8F=96=E4=BB=A3=E8=87=AA=E5=8A=A8=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=9A=84=E5=87=A0=E4=B8=AASPEC=20CPU=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E3=80=82=20flextable=E7=9A=84=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=AE=A1=E7=AE=97=E4=BA=A7=E7=94=9F=E7=9A=84=E5=88=97?= =?UTF-8?q?=E5=AE=BD=E4=BC=9A=E5=AF=BC=E8=87=B4=E9=95=BF=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E5=90=8D=E8=B6=85=E5=87=BA=E5=88=97=E5=AE=BD=EF=BC=9A=E4=BC=BC?= =?UTF-8?q?=E4=B9=8Elatex=E4=B8=8D=E4=BC=9A=20=E8=87=AA=E5=8A=A8break?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E4=B8=AA=E8=8B=B1=E6=96=87=E5=8D=95=E8=AF=8D?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 感谢@Jolllly-bot指出问题 Resolved #22 --- 22-perf-evaluation.Rmd | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/22-perf-evaluation.Rmd b/22-perf-evaluation.Rmd index 06194d2..46be9d6 100644 --- a/22-perf-evaluation.Rmd +++ b/22-perf-evaluation.Rmd @@ -617,8 +617,10 @@ theme_box() autonum <- run_autonum(seq_id = "tab", bkm = "SPEC2000", bkm_all = TRUE) readr::read_csv('./materials/chapter12/SPEC2000.csv') %>% flextable() %>% -set_table_properties(layout = "autofit") %>% -FitFlextableToPage() %>% +width(j=1, width=1) %>% +width(j=2, width=0.5) %>% +width(j=3, width=1) %>% +width(j=4, width=4) %>% bold(i=13) %>% align(i=13, align="center") %>% set_caption(caption="SPEC CPU2000程序及描述", autonum = autonum) %>% @@ -629,7 +631,10 @@ theme_box() autonum <- run_autonum(seq_id = "tab", bkm = "SPEC2006", bkm_all = TRUE) readr::read_csv('./materials/chapter12/SPEC2006.csv') %>% flextable() %>% -FitFlextableToPage() %>% +width(j=1, width=1) %>% +width(j=2, width=0.5) %>% +width(j=3, width=1) %>% +width(j=4, width=4) %>% bold(i=13) %>% align(i=13, align="center") %>% set_caption(caption="SPEC CPU2006程序及描述", autonum = autonum) %>% @@ -640,8 +645,11 @@ theme_box() autonum <- run_autonum(seq_id = "tab", bkm = "SPEC2017", bkm_all = TRUE) readr::read_csv('./materials/chapter12/SPEC2017.csv') %>% flextable() %>% -FitFlextableToPage() %>% bold(i=11) %>% +width(j=1, width=1) %>% +width(j=2, width=1) %>% +width(j=3, width=0.5) %>% +width(j=4, width=3.5) %>% align(i=11, align="center") %>% set_caption(caption="SPEC CPU2017程序及描述", autonum = autonum) %>% theme_box() @@ -1207,7 +1215,6 @@ FitFlextableToPage() %>% set_caption(caption="3A5000、Zen1和Skylake的STREAM带宽", autonum = autonum) %>% theme_box() ``` - 从测试数据来看,3A5000的定点操作延迟控制较好,多数优于其他两款处理器,但是浮点操作延迟则多数偏长,这也可能是其SPEC浮点程序性能落后的部分原因。当然,这些测试本身是否足够合理需要进一步分析相应的测试代码,不能无条件采用。LMbench的lat_ops说明文档中明确表示,这个测试程序是实验性的,有时(甚至经常)会给出误导的结论。性能分析工作中常见的误区之一就是被不准确甚至错误的数据误导,得出错误的结论。因此使用各种工具时,应该尽可能了解目标系统和工具的工作原理,对数据的合理性进行必要的判断。 从数据可以看到,虽然硬件上3A5000和Zen1都实现了DDR4 3200,但3A5000的实测可持续带宽还是有一定差距。用户程序看到的内存带宽不仅仅和内存的物理频率有关系,也和处理器内部的各种访存队列、内存控制器的调度策略、预取器和内存时序参数设置等相关,需要进行更多分析来定位具体的瓶颈点。像STREAM这样的软件测试工具,能够更好地反映某个子系统的综合能力,因而被广泛采用。