程序员大神Linus转投AMD:我希望英特尔的AVX 512指令集「去死」
机器之心报道
【程序员大神Linus转投AMD:我希望英特尔的AVX 512指令集「去死」】参与:泽南
「去死吧 , AVX512指令集 。 」Linux提出者林纳斯·托瓦兹(LinusTorvalds)说道 。
Linux首席架构师 , 当今全球最著名程序员之一LinusTorvalds最近在邮件列表中的言论再次引起一片哗然 。

文章图片
在上周被披露的邮件列表中 , 有关英特尔将为下一代CPU架构AlderLake(和SapphireRapids)启用的编译器指令引发了讨论 , LinusTorvalds参与其中 。
英特尔的下一代处理器架构AlderLakex86平台或将于2021年与人们见面 , 与突出性能的AMD相比 , 英特尔希望通过和目前手机芯片理念类似的「大小核设计」带来能效上的大幅改进 。 文档披露了三种CPU设计 , 其中最高的是125W的8+8+1配置(8大核+8低功耗核心+核显) , 其次是80W的8+8+1配置 , 此外有一个80W的无小核配置(6+0+1) 。
此前有消息说AlderLake将不支持AVX512指令集 , 只有AVX2和其他版本 , 这可能是因为英特尔在新设计中需要考虑小核的承载能力 。 不过最近英特尔的内部文件显示 , AVX512等指令将仅限在大核中运行 。

文章图片
图片来自知乎@JZWSVIC 。
有关AVX512指令集 , Linus发表了这样的一段言论:
我希望AVX512去死 , 然后英特尔就可以开始去解决实际问题了——而不是试图去创造神奇的指令 , 然后围绕它寻找基准测试结果让它看起来很好 。
我希望英特尔能够回归本源:让他们的进程再次发挥作用 , 更专注于常规代码 , 而不是HPC(高性能计算)或其他意义不大的特例 。
在那个时候 , 除了基准测试 , 几乎没有人会关心这个问题 。
但同样的事发生在AVX512上就变得不同了 。 是的 , 你可以在这里找到有用的东西 , 但它们并不符合厂商绘制的宏伟蓝图 。
AVX512有很明显的缺点 。 我宁愿看到那些晶体管被用于其他更相关的事情 。 即使同样是用于进行浮点数学运算(通过GPU来做 , 而不是通过AVX512在CPU上) , 或者直接给我更多的核心(有着更多单线程性能 , 而且没有AVX512这样的垃圾) , 就像AMD所做的一样 。
我希望通过常规的整数代码来达到自己能力的极限 , 而不是通过AVX512这样的功率病毒来达到最高频率(因为人们最终还是会拿它来做memory-to-memorycopy) , 还占据了核心的很大面积 。
没错 , 我当然有偏见 。 我非常讨厌浮点数基准测试 , 而且我意识到现在人们都非常关心这个数据 。 我只是认为AVX512是一个彻头彻尾的错误 。 这东西让我如鲠在喉 。 这是英特尔方向搞错的一个很好的例子 , 可能只会让市场碎片化 。
停止这种只适用于特例的垃圾 , 让所有核心都能实现人们最关心任务的最大性能 , 然后制造一个足够好的「浮点数核心」来解决特殊问题才是最好的 。 (在CPU上)AVX2已经足够了 。
是的 , 我就是这么暴躁 。
——Linus
Linus为什么突然对AVX512一顿吐槽?一切还得从指令集的作用开始说起 。
在计算机中 , 程序需要编译成指令才能让CPU识别并执行运算 , 指令集是指CPU能执行的所有指令的集合 , 每个指令对应一种操作 。 指令执行能力是衡量CPU性能的重要指标 , 指令集也与CPU效率有密切关系 。 每种CPU都需要一个基本指令集 , 如英特尔和AMD的绝大部分处理器都使用X86指令集 。
为了提高CPU在某些方面的性能 , 我们必须增加一些特殊的指令满足需求 , 这些新增的指令就构成了扩展指令集 。 2008年 , 英特尔在SandyBridge酷睿CPU架构推出的同时发布了AVX指令集(AdvancedVectorExtension , 高级矢量扩展指令集) , 聚焦矢量运算 , AVX很快形成了一套完整的单指令多数据指令集规范 , 一些版本也得到了AMD的支持 。
2013年 , 英特尔发布了AVX-512指令集 , 其指令宽度扩展为512bit , 每个时钟周期内可打包32次双精度或64次单精度浮点运算 , 因此在图像/音视频处理、数据分析、科学计算、数据加密和压缩和深度学习等应用场景中 , 会带来更强大的性能表现 , 理论上浮点性能翻倍 , 整数计算则增加约33%的性能 。

文章图片
AVX所代表的单指令多数据(SingleInstructionMultiData , SIMD)指令集 , 是近年来CPU提升IPC(每时钟周期指令数)上为数不多的重要革新 。 随着每次数据宽度的提升 , CPU的性能都会大幅提升 , 但同时晶体管数量和能耗也会有相应的提升 。 因此在对功耗有较高要求的场景 , 如笔记本电脑或服务器中 , CPU运行AVX应用时需要降低频率从而降低功耗 。
随着人工智能应用的兴起 , 新的AVX512指令对于加速AI模型的推断显得非常有效 , 但即使是对于AI的推断过程来说 , 使用GPU效率还是比CPU高的 , 不过GPU的成本也很高 。 所以 , 在技术的发展过程中 , 消费者和英特尔这样的处理器生产厂商同样面临着道路的选择:是发展CPU的AI计算能力 , 还是寻求其他专用芯片 , 让CPU做它「该做」的事?
我们知道 , 程序员大神Linus一生喷人无数 , C++、Java、英伟达都没少被他指责过 。 不过这次 , LinusTorvalds的言论得到了不少人的支持 。
「其实这次 , Linus说得对 , Intel当然也知道他说得对 , 但明知他说得对 , (暂时)只能硬着头皮搞下去 。 」在知乎上 , @Pansz这样评价道 。
不仅是说说就算了 , Linus还有自己的实践 。 早在今年5月 , Linus就在一次公开活动中表示自己已改变了十五年来的习惯 , 转投AMD了 , 他把自己的个人电脑换成了目前的最高配置 , 32核心的Threadripper3970x 。 在一些第三方测试中 , 这款采用7纳米制程的CPU性能超过了英特尔本世代旗舰产品Corei910980XE 。

文章图片
AMDZen2架构的「线程撕裂者」CPU , 代表了AMD目前消费级处理器的最高水平 。
Linus表示自己用AMD芯片替换了原来的英特尔Corei99900K , 不得不说这个换装速度有点勤快 。 「我通常会DIY自己的机器 , 继续用上一台配置的固态硬盘等组件 , 不过这一次(因为要换主板)我使用了全新的配置 , 」Linus说道 。
不知几年之后 , 是AMD宣布支持AVX512 , 还是英特尔放弃这套指令集?
参考内容:
https://www.phoronix.com/scan.php?page=news_item&px=Linus-Torvalds-On-AVX-512
https://www.zhihu.com/question/406517759
推荐阅读
- 57+9+7!米切尔一战创4大神迹,比肩乔丹张大帅遭里程悲
- 战歌前沿|美航母在南海行动失败,大批战机千里驰援,俄:戳破白宫强大神话
- 孙悟空被镇压后,为何没人敢救孙悟空?你看看5位守山大神是谁?
- 雷军|7000多万人次观看!雷军带货首秀金额破亿,因没秃顶被质疑是假程序员
- zhttty|无限流鼻祖大神zhttty发文自证清白:有人冒充他,更说是他的枪手!
- 青椒道文化|孙悟空被镇压后,为何没人敢救孙悟空?你看看5位守山大神是谁?
- 雷军|雷军上热搜:因头发保养得好被质疑是假程序员
- 中国古代三大神墓:一个找不到,一个挖不动,还有一个不敢挖
- 直播带货|雷军直播带货两小时销售额破亿!自曝因头发浓密被质疑是假程序员
- AI|AI大神修复上色!请看62年前的北京宏伟建设
