⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 my.oschina.net/editorial-story/blog/4387164 「编辑部的故事」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

自上个月严辞拒绝 Intel 安全漏洞相关补丁之后,Linus Torvalds 再次对 Intel 开喷,直言 “我希望 AVX-512 赶紧‘去死’ ”,脾气一如既往的暴躁。

近日,Linux 内核维护者 Linus Torvalds 对 Intel 的 Advanced Vector Extensions 512(AVX-512)指令集提出了一些激进的看法,称其为“功率病毒”,其创建目的单纯只是为了使 Intel 公司的 CPU 硬件在基准测试中跑分更高。此外,Linus 还坦承了自己“脾气暴躁”,并且对 Intel 确实“有偏见”。

AVX-512 是 Intel 公司在 2013 年发布的一套扩展指令集,其指令宽度扩展为 512 bit,每个时钟周期内可执行 32 次双精度或 64 次单精度浮点(FP)运算,专门针对图像 / 音视频处理、数据分析、科学计算、数据加密和压缩和深度学习等大规模运算需求的应用场景。

事情的经过是 Intel 近日曝出了关于下一代 CPU 将采用大小核芯片设计的细节,搭载这项技术的 Alder Lake 系列处理器将于明年正式推出。知名 Linux 技术网站 Phoronix 跟进了这则消息,并透露 Alder Lake 将限制 AVX-512 等大型扩展指令集,仅完全支持 AVX-2 和其他轻量级的扩展指令集。如此一来,芯片大核的数据吞吐量和时钟频率更高,同时小核的能效更加显著。也就是说,Intel 限制了某些指令集(比如 AVX-512 / TSX / FP16)只能在大核上运行。

Linus 本人看到了这篇文章,并在该文章的讨论中发表了自己的观点

我希望 AVX-512 赶紧“去死”(dies a painful death),这样 Intel 就可以开始解决实际的问题,而不是去尝试创造这些花里胡哨的指令集,然后围绕它们做一些自欺欺人的基准测试。

我希望 Intel 能够返璞归真:让他们的进程再次正常运行,更多地专注于提升用户基本体验的常规代码,而不是纠结于所谓的高性能运算或一些毫无意义的特殊情况下才会出现的问题。

我之前已经说过这一点,我会再说一遍:在 x86 的鼎盛时期,当 Intel 一直向银行大笑并杀死所有竞争对手时,在 FP 负载方面,其他厂商绝对都比 Intel 做得更好。Intel 的 FP 性能(相对而言)总是略逊一筹,但大家似乎都忽视了这一点。

因为所有人都只在乎所谓的基准测试跑分结果。

不论是现在还是将来,AVX-512 的情况是不会改变的,是的,你们可以在 AVX-512 上找到需要的东西,但那些东西并不会带来你们预期的收获。

AVX-512 具有很明显的缺点,我宁愿看到这些 CPU 芯片的性能用于其他更相关的事情。即使仍然要做 FP 运算(我宁可它们发生在 GPU 中,而不是在 AVX-512中),或者像 AMD 那样给我更多的内核(具有良好的单线程性能,但没有像 AVX-512 这样的垃圾)。

我希望使用常规的整数代码来达到功率的极限,而不是使用某些像 AVX-512 这样的“功率病毒”来达到最高频率(因为人们最终还是要用它来跑 memcpy 的!),但这占据了大量的内核资源(因为那些无用的垃圾单元占用了空间)。

是的,是的,我承认我有偏见。我非常讨厌 FP 基准测试,尽管我意识到其他人会深切关注这玩意儿。我只是认为 AVX-512 的存在完全是个错误,是我绝对不能忍受的事情。这是 Intel 犯下的一个错误的案例,这将导致市场碎片化加剧。

停止使用这种只适用于特殊情况的垃圾,让所有人都在乎的系统核心尽其所能地运行好其基本的性能。然后做一个专为这些特殊情况准备的 “FPU”,这样所有人都会很高兴的。AVX-2 真的已经绰绰有余了。

是的,我的脾气就是这么暴躁。

—— Linus Torvalds

总而言之,Linus 认为 Intel 为了提高 CPU 的性能跑分,强行在 CPU 中塞入了像 AVX-512 这样的东西,导致 CPU 内核臃肿,为了提升少数特定使用场景下的运算性能而影响了大部分普通用户的使用体验。

早前有传闻称,Intel 可能放弃对 AVX-512 的支持,但 Alder Lake 仍然没有砍掉,只是将 AVX-512 限制在了大核中。事实上,该扩展指令集对主流家用台式机市场的影响确实不大,但可能对数据中心和移动设备(或任何计算负载剧烈波动的场景)产生较大的影响。

Intel 于 2013 年推出了 AVX-512,其最初只是 Xeon Phi x200 和 Skylake-X 处理器产品线的一部分。但现在 AVX-512 已经进入包括 Ice Lack 在内的诸多 Intel 旗下的主流 CPU 架构。

值得一提的是,这早已不是 Linus 第一次冲 Intel 发飙。2018 年初,为了修补 Spectre 漏洞,Intel 工程师提供了一个间接分支限制推测(indirect branch restricted speculation, IBRS)功能的补丁。Linus 当时就在邮件列表中公开指出 IBRS 会造成系统性能大幅降低,直言该补丁“就是彻彻底底的垃圾”,“Intel 真的要做这个 X 一样的东西?” 。

上个月,Linus 还严辞拒绝了 AWS 工程师提交的一个关于修复 Intel 安全漏洞的补丁,并嘲讽其 “像一朵矫情的花一样”。

一直以来,Linus 都在抗议 Intel 把 CPU 核心做得越来越臃肿冗杂。

自从把自己用了 15 年的 Intel CPU 换成 AMD Ryzen Threadripper 后,Linus 似乎在怼 Intel 的道路上越走越远了。

文章目录