找回密码
 加入我们
搜索
      
查看: 43805|回复: 49

[CPU] 13代intel和7000锐龙生产力(科学计算和编译能力)测试汇总

[复制链接]
发表于 2022-11-20 18:09 | 显示全部楼层 |阅读模式
本帖最后由 coooool_boy 于 2022-11-21 20:04 编辑

这是一个13代intel和7000锐龙生产力测试汇总贴。我发这贴的初衷是,给各位看官选购cpu进行生产力活动,做一个参考。

---------------  前言 -----------------------------------------------------------------------------------------
之所以产生这种想法,是因为我经常逛B站,chh论坛,NGA等,几乎没有一个关于生产力的靠谱测试。一些自媒体确实在评测里面增加了一些生产力项目跑分和测试,但是,关键问题就是,这些项目既不实用,也不准确,甚至很多测试案例都是有问题的。生产力项目测试往往专业性强,比如linux内核编译、一些开源项目的编译、计算流体动力学案例测试、计算化学案例测试等,每一个项目背后都是一个行业,不能强求自媒体的测试具有多强的专业性。这就导致很多有意思的观点,比如,“大小核生产力无用论”,“amd适合生产力,intel适合打游戏”,“源码编译老老实实用amd,全大核心编译有优势”,“linux系统大小核调度有问题,老实用amd”。实际上,很多看法都是主观的。

为了打破这些主观看法,本贴的初衷就是,用测试数据说话,就像linus.你的上帝.torvalds所说,talk is cheap, show me your code。本贴支持各位看管分享你的观点,但任何观点都应该建立在足够的数据之上。

---------------  生产力定义 ------------------------------------------------------------------------------------
首先要强调,本贴中所说的生产力,就是狭义的指科学计算和程序编译。科学计算指计算力学,计算化学,通常来说,科学计算涉及到专业技能和邻域。程序编译,可以是开源代码的编译测试,典型的,比如linux内核编译测试。此外,也可以是一些软件的测试,包括计算流体相关的ANSYS fluent软件案例测试,开源软件OpenFOAM测试,Matlab案例测试,python案例测试,c或者cpp案例测试,等等(楼主是某高校土博,干的是计算流体,因此对计算流体方面比较熟悉,也用了好几年linux系统,也略懂一些编译)。

---------------  发帖形式 --------------------------------------------------------------------------------------
很显然,这个工作量,不是我一个人能够完成的。因此,楼主希望具有专业技能的看官,特别是用上了13代intel,7000amd的。能够分享你们的知识和测试案例,然后,其他人可以根据你分享的测试案例,也再个人pc上进行测试。其实,你用的如果是12代,或者5000锐龙,或者是epyc,县城撕裂者等,都可以分享。我相信这些测试案例都具有参考价值。

举个例子,楼主用的是13900k,那么最近我用13900k测试了linux-6.1-rc5内核的编译,那么我就可以将编译过程简单分享出来。如果有另一位看管,他恰好用的是7950x,同时也懂linux内核编译,那么他将他的编译过程和时间分享出来。这样,13900k和7950x关于linux内核的编译性能,就能通过对比知晓。

再举个例子,你对chromium的源代码编译很感兴趣,你想知道究竟是13900k编译快,还是7950x编译快。那么,你可以先自己编译一次,分享你的编译过程(源码如何获取,如何编译,大概要多久等),这如果有另一位看官,恰恰对你的分享感兴趣,也有7950x的电脑,那么他可能会基于你的案例进行测试,同时分享给你测试结果。

请尽可能分享一些开源代码编译测试,保证源码是可自由获取的,最好源码就在github,gitlab。如果要分享一些专业软件的测试案例,也可以,但请提供测试案例的源程序。比如,可以分享软件ANSYS Fluent的测试案例,因为这个软件确实很能说明cpu的性能,但也需要提供相应的源程序(fluent的cas文件)。

本贴支持分享,不支持白嫖。如果你直接就发贴说“帮我测试xxx”,抱歉,大概率没人回复你。但是你可以这样,“我的电脑配置是xxx,我测试了xxx项目,源文件的网盘链接如下xxxx,我想知道xxx项目在13900k上的编译情况,测试过程是,先执行xxx,再xxx,最后xxx。希望有人帮我测试一下。”

楼主也会不定期分享一些测试项目,供大家参考。

此外,各位看官也可以分享一些网上已有的关于生产力测试的案例、视频、或者网站链接。

-----------------  统计  --------------------------------------------------------------------------------------
我会定期将一些有价值的案例分享进行统计。会按照如下形式进行统计。

例如: linux内核编译速度测试:5楼(13900k平台测试),13楼(7900x平台测试),29楼(epyc7T83平台测试)。

希望各位具有专业技能的、或者有兴趣的看管都能参与进来。

---------------------------------------------------------------------------------------------------------------









 楼主| 发表于 2022-11-20 18:39 | 显示全部楼层
本帖最后由 coooool_boy 于 2022-11-20 18:42 编辑

分享个13900k在linux系统下,编译linux内核的测试案例。内核从kernel.org直接获取,版本linux-6.1-rc5。
编译平台:linux 6.0.9 + dwm + 13900k,cpu默认设置,内存a die 7000hz。
执行:保持config默认,即make menuconfig后,不作额外设置,保持,退出,然后执行time make -j32,time命令统计时间。
结论:
线程全调用(make -j32),编译耗时:46.6s;
调用16个线程(make -j16),编译耗时:1分1秒;
调用8个线程(make -j8),编译耗时:1分30秒;

一些有意思的事:我在多次编译过程中,发现,目前linux内核对于大小核的调度是,优先调用大核心,再小核心,最后是多线程。例如,13900k编译时,如果make -j16,会发现,8个大核被占有,8个小核被占用。如果make -j8,会发现,仅8个大核被占有。

调用16线程,如下。过程中,8个大核心被始终占用,小核心的调用有点迷。


调用8线程,如下。过程中,8个大核心被始终占用,并不会调用小核心。

 楼主| 发表于 2022-11-20 18:58 | 显示全部楼层
liu8866543 发表于 2022-11-20 18:45
ANSYS fluent一般怎么测?

瞬态可以测三维圆柱绕流,稳态可以测三维台阶,最好是几百万网格,大涡模拟案例,纯结构化网格。流体测下来比较费时间。我记得东岳流体的论坛有一些测试案例,他们专门用来测试工作站性能的,fluent的和openfoam的都有。流体比较吃内存带宽。
 楼主| 发表于 2022-11-20 19:39 | 显示全部楼层
本帖最后由 coooool_boy 于 2022-11-21 09:41 编辑
koney 发表于 2022-11-20 19:22
媒体测试最大的问题是根本看不出大小核的兼容性问题,全部多线程跑满很强, 但是在实际负载下不可能只跑一 ...


我测试下,后台挂一个16线程的程序,通过mpirun执行的。前台挂一个谷歌浏览器,在挂一个qemu的win10虚拟机。后台这个16进程的程序,牢牢占死了8个大核心的线程和8个小核心。虚拟机大小核调度有问题,在大小核线程间跳来跳去。目前似乎没解决办法,当然,linux下可以通过taskset绑定pid到指定cpu,强制改变进程的亲和性。在我看来,linux目前关于大小核的调度,除了个别程序,大多数情况下都没问题,基本都是优先大核心实体,再小核心,最后是大核心的多线程。看来小核心似乎比大核心的多线程调用优先级高。
 楼主| 发表于 2022-11-21 09:38 | 显示全部楼层
HyperSPH 发表于 2022-11-20 21:39
楼主想法很不错,但是举手的不会多,cfd-online的硬件版块评测也不过如此。一方面门槛高,另一方面代码采用 ...

没事,我看还是有很多人愿意分享一些看法和观点,我觉得都挺好呀。至于说案例测试,确实费时费力,也可以汇总一些网上已有的测试,总之能给生产力用户形成一个参考,那就是这帖子的目的就达到了。
 楼主| 发表于 2022-11-21 09:39 | 显示全部楼层
人撞猪上 发表于 2022-11-21 02:49
Mpirun执行的那是16个进程不是线程

是进程,笔误了,哈哈。
 楼主| 发表于 2022-11-21 09:45 | 显示全部楼层
QSG 发表于 2022-11-20 22:29
为啥我觉得消费级测生产力没啥用

也不能这么说。确实,我们组也有3990x,还有epyc等工作站,但是,个人电脑还是要执行一些生产力项目的。用13代或者7000锐龙跑生产力,大概是研究生居多,有些研究生导师压根不会购买专业工作站,为了发文章很多学生都是自己配pc。所以,测试还是有一些参考价值的。
 楼主| 发表于 2022-11-21 10:07 | 显示全部楼层
本帖最后由 coooool_boy 于 2022-11-21 10:09 编辑

今天分享一个计算流体动力学开源软件OpenFOAM的测试案例,这个案例出自于cfd中文网,两年前的旧案例了,不过可以做作为并行算力测试的benchmark。原贴子:https://www.cfd-china.com/topic/3988/200万网格并行算力测试-openfoam版本。

案例分享:cloud.189.cn/web/share?code=67VzieMvYz2m(访问码:41fk)

这个测试案例比较专业,需要编译openfoam,搞流体的看官可以测测。我用13900k测试出来的结果有点奇怪。mpirun调用8核时,计算结果是最快的,只需要106.23s。

三种可能,1.我的测试有问题;2.算例压力太小,通常来说,数值计算确实不是核心越多算得越快,还需要匹配内存带宽;3.-np 8是只调用了大核心,超过后,比如-np 10,就会调用8大核心,2小核心。也有可能是小核心在计算中拖后腿了,如果是这样,7000锐龙全大核心搞计算,应该会更快??

这个案例有空还值得在研究下,比如强制对进程绑核,不知道会不会更快些。





2022-11-21_09-33.png
 楼主| 发表于 2022-11-23 12:10 | 显示全部楼层
roychan 发表于 2022-11-23 03:41
Linux 内核编译可以用 make allmodconfig,这样会编译内核当中所有的模块,工作量更大。 ...

早上抽空又编译了下,平台:linux内核6.0.9,13900k + 海力士adie 32x2,7000hz,cpu设置默认。
make allmodconfig生成配置文件,time make -j32,需要时间8分55秒;
make allyesconfig生成配置文件,time make -j32,需要时间10分02秒;

make allmodconfig

make allmodconfig

make allyesconfig

make allyesconfig
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-10-12 06:45 , Processed in 0.010295 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表