问题

如何看待Linus Torvalds对AVX512的评价?

回答
Linus Torvalds 对 AVX512 的评价:一场围绕性能、复杂性和生态系统的辩论

Linus Torvalds 对 AVX512 的评价可以被视为一场围绕着特定技术(AVX512)在实际应用中的价值、其复杂性以及对整个软件生态系统的影响的激烈辩论。他的观点通常犀利、直接,并且充满了对细节的关注,这也反映了他作为 Linux 内核和 Git 创造者的特质。

总的来说,Linus 对 AVX512 的态度是高度批评和审慎的,他认为其带来的实际好处往往被其高昂的代价所掩盖,并且其普及程度和开发支持也存在问题。

为了更详细地阐述他的观点,我们可以从以下几个关键方面来分析:

1. 性能的“浪费”和“不必要”:

Linus 的核心批评之一在于,他认为许多场景下 AVX512 的性能提升是“浪费”的,或者说是不必要的。他的逻辑通常是:

实际应用中的收益有限: 他认为,虽然 AVX512 在某些高度优化的特定计算密集型任务(例如某些科学计算、加密、媒体处理的特定算法)中可以提供显著的性能提升,但在绝大多数通用计算任务中,其收益却微乎其微,甚至可以忽略不计。他经常用“蚊子血”来形容这种小幅度的性能提升。
高能耗和发热: AVX512 指令集非常宽(512位),这意味着它需要更多的晶体管来支持,并且在执行这些指令时会消耗更多的能量,产生更多的热量。这会导致CPU在执行AVX512时可能需要降低时钟频率(thermal throttling),从而抵消了指令集本身带来的性能优势,甚至导致整体性能下降。
时钟频率下降的“陷阱”: 这是 Linus 非常重视的一点。他认为,CPU 设计者为了兼容性,并没有完全移除对 AVX512 的支持,但却在实际产品中对其进行了“限制”。当软件尝试使用 AVX512 时,CPU 会被强制切换到较低的时钟频率,以管理功耗和发热。对于非AVX512优化的代码,运行在较低频率下反而会更慢。这使得开发者如果不对自己的代码进行精细优化以充分利用AVX512,反而可能导致性能下降,这是非常具有讽刺意味的。

2. 复杂性与开发者负担:

Linus 对软件的易用性和简洁性有着极高的要求。他对 AVX512 的批评也包含了其带来的巨大复杂性:

指令集本身的庞大与晦涩: AVX512 是一套非常庞大且复杂的指令集,包含了很多针对特定操作的指令。这使得开发者需要投入大量的时间和精力去学习、理解和掌握这些指令,才能有效地利用它们。对于大多数开发者来说,这种学习曲线是极其陡峭的。
软件的兼容性与版本管理: 由于并非所有 CPU 都支持 AVX512,甚至不同代、不同型号的 CPU 对 AVX512 的支持程度也有差异。这迫使开发者需要针对不同的 CPU 支持情况编写不同的代码路径,或者使用自适应技术来检测 CPU 功能,然后再选择最优指令集。这大大增加了软件的开发、测试和维护成本。
编译器和工具链的挑战: 尽管编译器和工具链一直在进步,但要完美地生成高效的 AVX512 代码仍然是一个巨大的挑战。自动向量化(autovectorization)技术在 AVX512 上表现不佳,迫使开发者更多地依赖手动汇编或 intrinsics(内嵌函数),这进一步增加了开发难度。

3. 生态系统的不足与“不公平”的局面:

Linus 的观点也触及了 AVX512 在整个软件生态系统中的地位:

缺乏广泛的支持和采用: 尽管 AVX512 被引入了一段时间,但其在软件生态系统中的普及程度并不高。很多应用程序开发者并没有投入资源去优化他们的代码以支持 AVX512,因为他们认为收益不成比例。这导致 AVX512 成为一种“冷门”技术,只在小部分专业领域被使用。
Intel 的策略与“强推”: Linus 对 Intel 在 AVX512 推广策略上也颇有微词。他认为 Intel 将 AVX512 捆绑到某些高端处理器中,而其他处理器(例如 AMD 的 Zen 架构)却不支持,这制造了一种“不公平”的市场竞争环境。他倾向于更开放和通用的指令集,而不是这种带有厂商特定色彩的扩展。
对 AMD 的“威胁”和 Linus 的立场: 值得注意的是,AMD 的 CPU 一度没有支持 AVX512,这被一些人认为是 Intel 在高端市场上的优势。Linus 作为 Linux 内核的维护者,他更关注的是整个 Linux 生态系统的健康发展和对所有硬件平台的良好支持。他反对任何可能限制 Linux 生态系统多样性的技术倾向。他的批评不完全是技术上的,也包含了他对行业生态的考量。

4. Linus 的解决方案和建议:

Linus 的批评并非仅仅是抱怨,他也提出过一些方向性的建议:

更专注和精炼的指令集: 他倾向于更小的、更易于管理的指令集扩展,而不是像 AVX512 这样庞大而复杂的集合。
更好的编译器和工具链支持: 他希望编译器和开发者工具能够更智能地处理向量化和指令集选择,降低开发者的负担。
更公平的行业竞争: 他希望看到更开放的标准和更少的厂商限制,以便开发者能够更自由地选择和优化。

总结 Linus 的观点:

Linus Torvalds 对 AVX512 的评价,本质上是对技术投资回报率 (ROI) 的一种现实主义评估。他认为,一项技术的价值不仅在于其理论上的最大潜力,更在于它在实际应用中能够为多少人带来可感知的好处,以及为了实现这些好处所需的成本(开发时间、复杂性、能耗等)是否合理。

他的观点可以概括为:

性能提升有限且代价高昂: AVX512 带来的性能提升在多数情况下微不足道,却带来了巨大的能耗、发热和时钟频率下降的问题。
开发者负担过重: 其复杂性、兼容性问题和工具链的不足,使得绝大多数开发者不愿意或无法去拥抱它。
生态系统支持薄弱: 缺乏广泛的软件支持使得 AVX512 难以成为一项真正有影响力的技术。
对市场和生态的影响: 他对 Intel 的推广策略表示质疑,并希望看到更通用、更开放的技术发展。

Linus 的观点并非是全盘否定 AVX512 的存在价值,而是强调在当前环境下,其弊大于利,并且其设计理念可能存在一些值得商榷的地方。他的批评促使了行业对这些问题进行反思,并可能影响未来的指令集设计方向。

网友意见

user avatar

intel怕cpu变成gpu启动器,十分焦虑。在想各种办法优化机器学习性能,虽然说这条路很艰难,但是总是要挣扎一下嘛,看看nvidia的股票,眼馋啊。

linus的主要工作是编译linux内核,自然不在乎浮点性能,还不如多来几个核心。

我觉得有个两全其美的办法,intel还是把研发经费省下来买nvidia的股票吧。

user avatar

Linus中肯。

假设我是一个程序员,需要进行大量的矩阵运算,目前我有三个选项:

  1. 用原生blas/lapack/eigen/opencv,可能只有SSE/SSE2优化,用户跑60秒——我花30分钟写好;
  2. 分别对SSE/SSE2、AVX2、AVX-512优化,分别调用不同的prebuilt binary dll/so,用户有的跑60秒,有的跑20秒,有的跑5秒——我花一周写好;
  3. 只支持AVX-512,用户要么跑5秒,要么crash掉——我可以在一天之内写好;
  4. CPU只支持SSE2,GPU只支持CUDA,用户没有nvidia GPU跑60秒,有nvidia GPU就跑2秒——我可以一天之内写好。

作为普通开发者,怎么看都是1和4最划算。

选择2的大概只有Mathworks和wolframe的人才有时间和精力做这么细的优化。

Intel再往珍贵的半导体上扩展各种SIMD指令集,在真正做整机方案的人眼里来说,都是毫无意义的浪费——哪怕Intel在最鼎盛的时期,打包给服务器卖AVX-512,都没什么人买账,该用GPU用GPU,该用FPGA用FPGA(如果只是大面积部署在自家PCIe上),而广大普通消费者们除了视频编码解码、opengl做点设计以外,几乎再也没有能用的到大量计算的场景了。

从我个人角度看,这无论如何都不是个技术问题,而是商业问题。Intel估算Nirvana的市场有几十亿上百亿刀,现在看起来是自己吹起来、自己又要破灭的泡沫。实际的技术成本不仅要平摊到自己头上,还要平摊到开发者头上——如果双方都有利可图,利益驱动真正花钱的消费者去付费更新换代CPU,那么才是一种双赢。

然而事实是,90%的用户除了看网页、用用office和google docs、收发邮件、视频会议,除了encoding和decoding,几乎连负载稍重的GPU应用都用不到;10%对一些计算有需求的用户,才会考虑用nvidia和AMD的GPU来打游戏剪视频;在全球用户的大基数下,用到CUDA的人已经是凤毛麟角了,真正有刚需去使用各种SIMD的用户是一个极小的基本盘,给他们单独支持部分计算上的优化是一个非常不划算的事情。

市场越小,容纳下的玩家越少,而且越是高成本难开发的方案越容易提前出局,越是入局早、用起来简单、综合成本低的方案越容易提前赢家通吃,不给追赶者任何弯道超车的机会——不要被“AI”吹的泡沫洗脑了,真实的市场远没有那么大。

PS:在评论区杠“为什么不用MKL”的,请回去把第二条再读10遍。

user avatar

其实就是晶体管怎么用的问题。

大神吐槽,是因为英特尔浪费这些晶体管,使用效率太低。

能用到的程序少,编程困难,有更好的办法(gpu通用计算,异构)解决。不用的时候白白浪费晶体管,浪费功耗。

跑分能用上跑分好看点。

而真正需要高性能计算的场合,它增加的那点性能又干不过专门加速器,很鸡肋。

类似于高性能集成显卡,说没用,它确实快一点,说有用真跑游戏,它没法和高性能显卡比。

更复杂的指令集是需要的,到了一定性能,指令集太简单,传递信息太少,不利于性能增长。

但是AVX512这种是不太需要。

user avatar

现在CPU的发展到了一个十字路口,Intel和Linus在这里出现了分岐。


半导体工艺从十多年前的90nm到今天的7nm,CPU主频从4GHz艰难的提升到今天5GHz,十多年来也没有再出现新的能大幅提升CPU IPC的技术——除了SIMD指令。


SIMD全称是Single Instruction Multi Data,单指令多数据。顾名思义,就是一条指令同时处理多个数据。对于现代CPU来说,单条指令需要经历多个处理过程,包括指令预取、解码、分支预测、乱序重排、数据加载、发射、执行、数据回写等。除了必须的执行步骤外,其它的额外步骤都需要消耗一定的功率。而现代应用中,又往往会对批量数据进行相同的处理,如果每个数据都用一条指令进行处理,速度慢并且需要消耗更多的额外功率。SIMD很好的解决了这个问题。


二十多年前上市的奔腾MMX的MMX指令集,就是SIMD指令集,一条MMX指令使用FPU的80bit寄存器中的64bit,可以同时对八个Byte、四个Word或者两个DWord数据进行处理。从Windows 95开始流行的各种多媒体应用,例如图像/视频处理,CPU需要对大量的像素数据进行处理,而每个像素都包含3个字节的RGB数据(或者4个字节,加上透明度),使用MMX指令处理非常高效。除了像素数据外,3D游戏中的三维坐标、音频应用中的大量采样数据同样可以使用MMX指令进行加速。


从MMX开始,奔腾3时期引入的SSE指令集,数据宽度提升到128bit;第二代Core引入的AVX,数据宽度提升到256bit。每次宽度提升,性能都是随之翻倍的。然而,MMX直接使用了80bit的FPU寄存器中的64bit,对CPU整个流水线几乎没有影响;SSE的128bit相比80bit增加了48bit宽度还算可以接受。AVX的256bit,整个CPU的数据通道比80bit增加了三倍多,需要消耗三倍的晶体管,功率也增加了三倍。因此在严格限定功耗的场景如笔记本或者服务器中,CPU运行AVX应用时需要降低频率从而降低功耗。


此外,加宽的SIMD指令对于程序编写也是一个挑战。绝大部分应用中,数据通常使用8-64bit。事实上64bit的使用也不多,大部分应用使用32bit的Int或者单精度浮点数据足以满足业务需要。256bit的AVX指令,意味着一组8个32bit数据才能达到最高效率。而实际业务中很少应用需要使用四维以上的矢量数据,需要对数据结构进行重组才能充分发挥CPU性能。


如果说Int64/双精度浮点用到的场合还是不少,AVX的256bit宽度还是有其必要性的话,那么AVX-512的512bit宽度的存在意义就很有争议了。对于以Linus为代表的广泛程序员群体来说,不管是64bit以上的数据,还是4维以上的矢量数据,使用场景都是极其有限的。只有高性能计算或者一些非常罕见的高维矢量应用能从中得益。但CPU为了支持AVX-512指令集,消耗了大量的晶体管,更宽的数据路径也意味着或者需要降低CPU频率,或者更多的流水线级数,都会降低CPU性能。我想这是Linus反对AVX512的主要原因。


当然,这是现状。事实上现在各种AI应用正在兴起,新的AVX512-VNNI指令对于加速AI推断还是非常有效的。但对于AI推断来说,使用GPU效率更高,虽然代价是更高的成本下限——GPU和显存都需要付出更高的额外成本,不利于硬件生态的普及。另一个解决方案是CPU集成独立的NPU单元,这在手机平台上是主流方案了。


CPU+AVX512、GPU、NPU三个方案都各有所长也各有所短,在桌面平台,到底最终哪个方案胜出,我只能说,如果Intel的10nm工艺没有难产,在2016-2017年按时推出的话也许AVX512能普及开来,但2020年的今天,Intel在桌面、服务器都还在用14nm续命,AVX512真的前景堪忧。

user avatar

说下对于AI,其实就是神经网络的推断与训练任务,大概没人会指着Xeon能干啥,当然Phi和FPGA也少有人折腾。Intel对桌面Xeon的AVX512在神经网络任务中的用途很明确,低Latency推断,然鹅,实际应用时候大部分都是Batch推断,而且也不在乎几十ms的延迟,AVX512用途不大。在训练时,指着这个SIMD加速预处理也不太现实,不如直接堆核心来的高效。

对体系结构而言,引入AVX512由于可以同时处理更多的数据,这样cache的带宽和大小都需要增加,无论AVX512的Offset,这的确限制了主频的提升。对于有科学计算,数据能挖掘出ILP这部分的确有用,但是ILP挖掘对于普通用户常用的软件已经很难了,俺还是觉得与其折腾这个不如直接堆核心来的省事。也就是Linus说的堆很多性能不错的核心。


曾经有段时间我一直觉得对我们臭打游戏的,如果intel出原生没有AVX,只到SSE42,8核心5G不带HT(八心八箭)的奔腾就够了,当然最近把AVX这个需求加进去了。

类似的话题

  • 回答
    Linus Torvalds 对 AVX512 的评价:一场围绕性能、复杂性和生态系统的辩论Linus Torvalds 对 AVX512 的评价可以被视为一场围绕着特定技术(AVX512)在实际应用中的价值、其复杂性以及对整个软件生态系统的影响的激烈辩论。他的观点通常犀利、直接,并且充满了对细节的.............
  • 回答
    Linus Tech Tips 对华为 P30 Pro 的评价,总体来说是相当正面的,尤其是在其发布初期,很多人关注的是它在拍照方面的突破性表现。当然,作为一家以评测科技产品著称的频道,他们的评价是建立在对硬件、软件和用户体验的细致考察之上的。拍照是绝对的亮点,也是 LTT 评价的核心:LTT 在评.............
  • 回答
    华为在Linux社区的贡献以及由此引发的讨论,可以从几个层面来理解。首先,我们得承认,华为在Linux内核方面的投入和成果是实实在在的。作为一家全球领先的ICT基础设施和智能终端提供商,华为的业务高度依赖于操作系统。为了更好地适配和优化其产品,华为持续投入大量资源,驱动其工程师深入Linux内核的开.............
  • 回答
    联想在近日提出的关于“建议使用单独国产Linux系统整机方案”的建议,无疑是近期科技界和舆论场上一个颇受关注的议题。这并非联想首次涉足Linux领域,但这次的提议,无论从出发点、潜在影响还是技术实现上看,都值得我们深入探讨。首先,我们来理解这个建议的核心是什么。 简单来说,就是联想希望能够推出一种将.............
  • 回答
    UOS 上架腾讯微信 Linux 版,这绝对是近一两年国内操作系统生态里一个非常值得说道的大事件。它不仅仅是一个软件的上线,更像是国产操作系统迈出的一大步,同时也是对用户需求的一种回应。首先,我们得明确一下这个“上架”意味着什么。过去,如果你想在 UOS(或者其他国内 Linux 发行版,比如麒麟).............
  • 回答
    关于明尼苏达大学因插入实验性漏洞而被禁止向 Linux 内核贡献代码这件事,这可不是什么小事,影响挺大的。我跟你好好捋一捋这背后的来龙去脉,以及这件事到底说明了什么。事情的原委:一场“安全研究”的失控简单来说,这事儿的起因是明尼苏达大学的几个研究人员,在对 Linux 内核进行“安全研究”时,故意在.............
  • 回答
    微软解禁 exFAT, Linux 社区迎新篇章前不久,微软放下了厚重的技术壁垒,公开了 exFAT 文件系统的技术细节,并将其开源贡献给 Linux 社区。这一举动在技术圈激起了不小的波澜,也预示着 Linux 用户将在文件管理上迎来一个更便利的时代。为什么说这是一个“解禁”?过去,我们提起 ex.............
  • 回答
    对于华为高管援引报告,声称2020年鸿蒙OS将超越Linux,成为世界第五大操作系统,这个说法确实引起了广泛的关注和讨论。要理解这个事情,我们需要从多个角度去审视,包括华为自身的发展战略、鸿蒙OS的特性、操作系统的竞争格局,以及这份报告本身的可靠性。首先,我们得承认华为在技术研发上的投入和决心是毋庸.............
  • 回答
    关于网传“北大文科博士在深圳大学任教经济困难,月薪13千,上网课要求学校发网络补助”的信息,需从多个角度进行分析,结合中国高校薪酬体系、地区差异及政策背景,综合判断其真实性及合理性。 一、信息真实性分析1. 来源可信度 目前尚无权威媒体或深圳大学官方声明证实该传言。网络传言往往存在夸大或误传.............
  • 回答
    关于乌克兰数学家康斯坦丁·奥尔梅佐夫(Konstantin Orelmazov)的自杀事件,目前公开的可靠信息较为有限,但结合俄乌冲突的背景和乌克兰学术界的现状,可以尝试从多个角度进行分析和探讨: 1. 事件背景的核实与可能性 身份确认:目前公开的资料中,尚未有明确的、权威的新闻来源(如BBC.............
  • 回答
    关于美国太平洋司令部空军司令威尔斯巴赫(James W. "Jim" Welsbach)提到的F35战机与歼20近距离接触的事件,目前公开信息中并无直接证据表明该言论来自美国官方渠道,因此需要从多个角度进行分析和澄清。 1. 事件背景与信息来源的可靠性 美国官方声明的缺失:截至2023年,美国.............
  • 回答
    关于您提到的“硅谷男子在妻子患病期间相亲,妻子病逝后迅速再婚并独吞200万抚恤金”的事件,目前没有权威媒体或官方渠道发布过相关具体信息。因此,这一事件的真实性、细节和法律性质尚无法确认。以下从法律、道德和社会角度进行分析,供您参考: 一、事件可能涉及的法律问题1. 重婚罪(若属实) 根据中国.............
  • 回答
    欧盟三国领导人乘坐火车前往基辅会晤泽连斯基,这一事件反映了欧洲国家对乌克兰的持续支持,以及俄乌冲突背景下国际政治的复杂动态。以下从多个角度详细分析这一事件及其背后的局势: 一、欧盟三国领导人赴基辅的背景与意义1. 象征性行动 欧盟三国(如波兰、爱沙尼亚、捷克等)领导人乘坐火车前往基辅,是近年.............
  • 回答
    中国海关查获5840块造假显卡、讯景中国官网临时关闭以及天猫旗舰店下架产品事件,涉及知识产权保护、市场秩序维护及企业合规问题,具有多重社会和行业影响。以下从多个角度详细分析: 一、事件背景与核心问题1. 海关查获假显卡 查获数量:5840块显卡,可能涉及假冒品牌(如讯景、华硕、技嘉等),或.............
  • 回答
    尹锡悦当选韩国总统是2022年韩国大选的重要结果,这一事件对韩国政治、经济、社会及国际关系产生了深远影响。以下从多个维度详细分析其背景、意义及可能的未来走向: 一、选举背景与过程1. 政治格局 在野党联盟胜利:2022年韩国大选中,由自由民主党和共同民主党组成的“在野党联盟”以压倒性优势击.............
  • 回答
    关于加州华裔女博士因持刀袭警被警方击毙的事件,这一案件涉及法律程序、执法权、种族问题等复杂背景,需要从多个角度进行分析。以下从法律、执法程序、社会背景、争议焦点等方面展开详细讨论: 1. 事件背景与法律依据根据公开报道,事件发生在2022年11月,加州一名华裔女性(身份为博士)因涉嫌持刀袭击警察,在.............
  • 回答
    基辛格的《论中国》(On China)是美国前国务卿亨利·基辛格(Henry Kissinger)于1972年访华期间撰写的一部重要著作,也是中美关系史上的关键文献之一。这本书不仅记录了基辛格作为“中间人”在中美关系正常化过程中的角色,还系统阐述了他对中国的政治、文化、历史和外交政策的深刻观察。以下.............
  • 回答
    印度承认误射导弹落入巴基斯坦境内一事,是印巴两国关系紧张的一个缩影,也反映了地区安全局势的复杂性。以下从多个维度详细分析这一事件的背景、影响及可能的后续发展: 一、事件背景与经过1. 时间与地点 事件发生在2023年6月,印度在进行军事演习时,一枚“阿金科特”(Agni5)远程导弹因技术故障.............
  • 回答
    2022年2月24日,俄罗斯在乌克兰发动全面军事行动后,联合国大会通过了一项决议草案,要求俄罗斯立即从乌克兰撤军、停止军事行动,并尊重乌克兰的主权和领土完整。这一决议的通过过程和结果引发了国际社会的广泛关注,以下是详细分析: 一、事件背景1. 俄罗斯的军事行动 2022年2月24日,俄罗斯在.............
  • 回答
    乌克兰副总理呼吁游戏厂商暂停在俄罗斯的业务,并点名腾讯,这一事件反映了俄乌冲突背景下,国际社会通过经济手段施压俄罗斯的策略。以下从背景、动机、可能影响及各方反应等方面进行详细分析: 一、事件背景与动机1. 俄乌冲突的经济压力 俄乌冲突已持续近两年,俄罗斯经济受到严重冲击,包括制裁、能源价格飙.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有