python用amd还是intel_计算机专业 CPU 应该用 AMD 还是 Intel?
闲着无事,用Python写了一个玩具测试,很简单的测试,就是用最原始的for循环,计算100000000阶的随机浮点矢量的点乘,不要问我为什么不用numpy之类的,就是故意这样写来测试for循环的执行速度的。
测试的CPU分别是Xeon Silver 6140(关闭睿频,只有2.3G主频),以及AMD 3700X(单核3.6G),操作系统都是CentOS 7。python解释器版本都是3.6.8。不要问我为什么拿服务器U来比,Python一个单线程负载,6140不过就是一个2.3G的Skylake而已,随便一个桌面级酷睿CPU单核都爆打之。
测试代码如下
3700X测试结果
用时51.7s完成计算
有负载的核心频率如下,3700X是我的台式机,有图形界面可以看哪个核心在干活,我没有关闭睿频,但是Cent OS 7似乎对AMD的CPU兼容不完美,反正我没见到CPU工作在超过3.6G的频率。相当于没有睿频。
Xeon 6140测试结果
用时49.1秒完成计算。
这是一台机架式服务器,机器已经关闭睿频,核心频率如下
是的你没看错,2.3G的Xeon 6140非常愉快的击败了3.6G的3700X
为什么呢?其实机架式服务器上的python解释器是intel parallel studio XE 2019 update4自带的intel distribution for python,台式机上的python是官方普通的python解释器,那也没办法,AMD没有distribution for python。反正这就是一个生态上的问题。没考证过intel的东西对AMD有没有加成,不过可以认为intel的解释器在intel的CPU上,拥有更快的python for循环速度,意味着如果你以后要用Python的话,玩数据分析,机器学习之类的东西,intel肯定优于AMD。
说到3700X在CentOS 7下没有睿频的问题,表示Ubuntu 18.04更惨,我安装后CPU不管高低负载都维持在2.2G....真是令人惊叹。可能要在Linux下工作的同学注意一下。
-分割
评论区杠的看清楚了,要正正经经的测性能,我早就跑SPEC CPU 2017了,犯的着在这里让各位嘲笑我的代码能力?我根本不是在测这两个CPU的性能,只是在表达一个问题,intel有自己的Python解释器,AMD有么?没有。这就是一个生态的问题,intel有MKL数学库,有Python解释器,有完整的编译工具链,有openVINO,DAAL,也有专为自己CPU优化的openCV。AMD有么?没有。intel用自己的解释器实现高效快速的for循环,这个解释器你敢在AMD上用吗?intel的东西可未必在AMD处理器上调试过。出bug怎么办?杠精想秀自己的优越感还是趁早退散吧。一个np.dot就能解决的事,就不要指点江山了,开jit什么的,对了np.dot这个函数搞不好还是调的MKL,评论区大神们有本事写个比MKL更快的库让我观摩学习一下?
____2020/06/23更新
既然很多人觉得我的观点很多糟糕,那我就只能上SPEC CPU 2017了。与anandtech不同的是,我的这个SPEC CPU 2017的测试对intel的CPU使用了intel 编译2019 update3,对AMD的CPU使用最新的AOCC2.1,基于Clang9.0。使用LLVM后端。
下面是结果文件的截图,请忽视供应商信息,都是瞎写的
6140:
Xeon 6140
3700X:
3700X
3700X vs Xeon Sliver 6140成绩对比
为了确保不受睿频影响,所有处理器跑在它们的基础频率上。即,3700X是3.6G,6140是2.3G。
编译器:AOCC2.1 for 3700X:编译选项: COPTIMIZE = -O3 -flto -ffast-math -march=znver2 -fstruct-layout=3 \
-mllvm -unroll-threshold=50 -fremap-arrays \
-mllvm -function-specialize -mllvm -enable-gvn-hoist \
-mllvm -reduce-array-computations=3 -mllvm -global-vectoriz e-slp \
-mllvm -inline-threshold=1000 -flv-function-specialization
CXXOPTIMIZE = -O3 -flto -ffast-math -march=znver2 \
-mllvm -loop-unswitch-threshold=200000 \
-mllvm -unroll-threshold=100 -flv-function-specialization \
-mllvm -enable-partial-unswitch
FOPTIMIZE = -O3 -flto -march=znver2 -funroll-loops -Mrecursive \
icc2019 for Xeon 6140:编译选项:
备注一下,AMD这边的Malloc库采用jemalloc 5.2.0,intel采用编译器自带的qkmalloc。为啥一个截图,一个打字呢,AMD那一串优化选项貌似都不太合法。虽然我是从官网下载config来对着改,但是不知道为什么控制脚本就是觉得不合法哈哈
最后综合结果是3700X 7.34分 IPC 2.038/G,Xeon 6140 5.43分,IPC 2.36/G。
我看看谁要来质疑SPEC2017的。什么,统一编译器?不存在的。AOCC vs icc不好嘛
由于频率差异很大,实际消费级的CPU可能没有2.3这种频率。但是我们来看看一些与计算机专业密切相关的跑分如gcc,好吧。Xeon 同频完败。8.47 vs 8.32(换算同频),但Perlbench同频就是intel这边完胜,5.51 vs 7.41(换算同频),我们还看到,XML解析和人工智能下棋deepsjeng/leela,intel处理器也是完胜。其他的你们自己看吧
python用amd还是intel_计算机专业 CPU 应该用 AMD 还是 Intel?相关推荐
- python编程amd和intel哪个好_计算机专业 CPU 应该用 AMD 还是 Intel?
闲着无事,用Python写了一个玩具测试,很简单的测试,就是用最原始的for循环,计算100000000阶的随机浮点矢量的点乘,不要问我为什么不用numpy之类的,就是故意这样写来测试for循环的执行 ...
- cpu排行计算机专业,cpu性能天梯图,详细教您电脑cpu排行榜
众所周知,中央处理器是一台电脑的运算核心和控制核心,它是一块超大规模的集成电路,主要功能是解释计算机指令以及处理计算机软件中的数据,类似于人的大脑.那么在众多的品牌里cpu性能排列是怎么样的呢?下面, ...
- cpu排行计算机专业,CPU天梯图2018年9月最新版 九月台式电脑CPU性能排行
一转眼,2018年就已经过去了三分之二,九月开学季装机的同学也明显多了起来,而CPU作为电脑的"大脑",是一台电脑最核心的硬件.那么,在选择处理器的时候,CPU怎么看好坏呢?接下来 ...
- cpu排行计算机专业,cpu排行,教您电脑cpu性能排行榜
电脑处理器cpu主要有Intel和AMD两大主流品牌.电脑cpu性能好坏决定一台电脑运算能力,所以用户买电脑时非常关心cpu的性能,cpu性能可以通过cpu天梯图来判断,下面就his小编为大家带来的电 ...
- cpu排行计算机专业,cpu性能天梯图,教您电脑cpu排行榜
作为整个电脑的核心部件,CPU的选择必须是慎重的,如果你对这个了解不是很深,就会很艰难,那么,对于近期打算装机的朋友来说,CPU怎么看好坏,如何判断某款处理器性能如何呢?其实答案很简单,只要看看小编带 ...
- 计算机专业不用amd,家用电脑CPU用英特尔还是AMD?为什么这么多人不用英特尔?...
英特尔和AMD,CPU供应商里的两大王牌,很多想要自己配置一台电脑的用户都会犹豫,CPU到底是选英特尔还是AMD? 选择英特尔,老品牌了可以信得过,但是价格比较高,最近英特尔风评似乎不如AMD:选择A ...
- 计算机专业python教材_计算机专业几本必看的书!
当今社会,要说哪个专业或者领域最火爆最受欢迎,计算机专业当之无愧可以进入Top3.日常生活中的各行各业都离不开计算机的支持,无处不在.而且,计算机行业给的薪资也是非常非常非常可观令人心动!(本人就是因 ...
- 计算机专业有python课程吗-作为计算机专业学生,最应该学习的课程前五位是什么?...
先列一下我心目中的TOP5:数学课(线性代数,概率统计,离散数学,高等数学/数学分析) 算法和数据结构 可计算理论 组成原理和体系结构 操作系统 另外,这个问题其实意义不大,因为如果你想成为一个基础扎 ...
- 计算机专业选什么笔记本cpu,小白别慌:笔记本电脑选购指南S01E01——CPU篇
后台一直断断续续收到了一些用户关于笔记本电脑选购的询问,有一位用户提了个问题老杨觉得很有意思. "杨同学,家里的孩子刚上大学,去年走的时候带走的是家里的一个用了好几年的旧笔记本.孩子是学计算 ...
最新文章
- 如何用 OS X 的 Xcode 写C语言程序
- 隐私泄露无孔不入?扫地机器人已成新型“窃听器”,小米Roborock“躺枪”
- centos6 安装 redis
- ElasticSearch 6.x 学习笔记:12.字段类型
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
- music‘s effects
- map reduce相关程序
- asterisk1.8启动信息分析(未完)
- 服务器上有涉密文件,涉密文件保密管理规定
- 3389改为3390端口如何改
- SQL创建数据库– PostgreSQL,MySQL,SQL Server
- Weex中页面导航的实现
- 乐优商城项目视频及源码
- java英语单词查询,输入一个单词根据字典查询单词意思
- ico转png(java实现)
- delphi Use MSBuild externally to compile 无法DEBUG
- 全自动与半自动手表的区别_全自动和半自动机械表的区别?
- 使用IDM下载百度网盘的文件(亲测有用)
- Orangepi 5 Unixbench基准测试结果
- Android SAX解析远程服务器端的xml,防止解析的时候出现空格或者标点符号再次解析的方法
热门文章
- 在线jpg图片格式转换器
- unity3d中[XXX]的用法总结
- 微信怎么恢复以前好友?
- python opencv读取图像像素值_python-opencv--图像像素通道读取及修改
- 成都计算机应用研究所 怎么样,中科院成都计算机应用研究所计算机应用技术怎么样...
- coreldraw x7如何禁网_coreldraw x7 如何加速
- (待完善)python模块scipy介绍(misc)
- 高性能的Ajax应用-Julien Lecomte
- 递归神经网络(RNN)
- 花旗:元宇宙可能带来 13 万亿美元机会,用户规模将超50 亿