在各种芯片都在追求能耗比的今天,AVX512这样的SIMD指令集扩展的确是提升能耗比最有效的手段之一。
传统的CPU指令,虽然我们其实只关注计算计算结果,但为了高频率高性能,单条指令进行的各种预处理环节太多,多级缓存、分支预测、抓取、解码、分发、乱序、发射,才到我们需要的执行,之后还有退出。而且大部分计算指令还要搭配数据加载、写入指令。打个比方,就是为了拧一颗螺丝,建了个工厂:运输车队、仓库、装卸设备、流水线、机械手啥的都配全了。
当然,这不是说浪费,如果要拧一亿颗螺丝,在这个工厂里面可以飞快完成。但相比找个工人拿把螺丝刀来拧,很显然消耗太大了。同样的,在CPU里面,执行一条指令,真正的执行过程消耗的功率可能只有整个流程的二十分之一左右,如果算上缓存、总线之类模块的功耗,还要再低一半。
所以让一条指令完成更多的工作,是有效提高能效比的方法。例如浮点运算如果用整数指令实现,可能需要几十条指令组合起来,而一条浮点运算指令实现,即使执行过程功耗没有降低,也省掉了几十条指令在其它环节的开销,就好比工厂里面把切割、开孔、攻丝、拧螺丝合并成一个步骤。另一个方法是单指令多数据,一条指令执行多组数据的相同计算,假设一条指令执行4组数据的运算,就能节省三条指令在其它环节的开销。好比工厂里面从每次拧一颗螺丝改成一次把要拧的几个螺丝都拧上。两种方式组合起来,例如可以一条指令计算八组浮点数据的AVX指令,可以让CPU的执行单元功耗开销占整体功耗的四分之三左右,即使加上缓存、总线开销也能接近二分之一,能耗比大幅提升。
如果说真实世界中本来就有很多三四维的数据,例如空间坐标、计算机常用的RGB颜色都是三维数据,再加一个变量就是四维数据(例如空间坐标加上时间、速度、力等,RGB加上一个透明),可以计算四维32位数据的128位SSE、计算四维64位的256位数据的AVX/AVX2这样的SIMD指令还算方便好用。那么可以计算八维64位数据的AVX512基本上只能用于计算抽象的数学模型,这往往只有处理海量数据的高性能计算应用能用上。用CPU这么复杂的指令处理流程去进行海量数据的密集计算,还是太浪费了,流水线短而且简单的GPU就高效的多,如果不考虑通用性使用专用的计算电路可以更加高效。
反过来,SIMD指令对于传统的运算又毫无帮助,反倒占用了大量的晶体管资源,导致CPU单个核心功耗高,芯片面积大,CPU厂家无法用可接受的成本实现更宽的架构进一步提升单线程性能,或者容纳下更多核心去提升多线程性能。所以,我们看到了Intel这些年的CPU,单核心IPC落后于苹果的A系列/M1,服务器端的核心数量比不上ARM甚至同为x86的AMD导致多线程性能也不行,论计算能力又比不上NV的GPU。虽然说10nm难产是一个重要原因,但如果继续原来的思路,就算工艺继续领先其它厂商一代,同面积产品晶体管数量增加一倍,只要功耗水平一致估计还是难以保持性能上的领先。
事实上,海量数据计算本身意味着可以分组计算,可以提前安排好指令和数据的流程,无需使用现代CPU因为大量应用难以甚至无法为多线程优化无法利用多核心提供的多线程性能,又为了追求单指令执行时间最短而采用的灵活却又极其复杂的体系。海量数据的计算完全可以根据具体需要,采用多种方式,在特定功耗限制下提升性能:
所以,就我个人的看法,Intel其实并没有必要在AVX512上一条路走到黑,毕竟对于常见的32/64位数据来说,512位意味着8维甚至16维数组才能充分发挥性能,大部分应用需要重新组织数据结构——那还不如直接改成用GPU计算了。而且现在看来,Intel似乎是撞了南墙打算回头了,起码是几条退路都铺好了。
Linus赢了(x
avx512普通用户场景意义不大,一般很少用到高维向量能填满512bit还要用cpu处理的,绝大部分此类面向普通用户的需求要么维数没那么多avx2足够了,要么就直接上gpu了,avx512卡在那里的确很尴尬。
之前linux之父Linus就发文批过Intel的avx512没啥用还额外耗能。
最终让Intel决定取消面向消费者的avx512支持还是因为这次的12代酷睿采用的大小核设计。之前我们也说过avx512带来了额外耗电,而12代酷睿的E核并不支持avx512。虽然P核支持(P核为什么要支持啊,很迷。我猜想是P核继承了前代设计难以轻易阉割,以及,低端Xeon系列可能仍然和酷睿共享设计,至少是大核的设计),但是要让调度器在不同的核支持的指令集不一样的情况下调度不出错很困难,所以直接放弃avx512是很合理的选择。
以后avx512应该会变成至强专属,至少也是hedt平台专属吧。
对于普通消费者来说,虽然是阉割,但是是好事。
这种专用计算走 GPU 的趋势根本挡不住了。以后这类高性能计算都得走 GPU。
CPU 一条道走到黑不现实,所以去掉了是好事。
要想跟 NV 的计算竞争,除了做显卡别无他法。以前搞这个可能是觉得直接在 CPU 端修修补补还有救,现在明白了,非得做显卡不可。既然已经下决心做显卡了,CPU再放这种功能就毫无意义了,毕竟,目前的 AVX 512 除了让 intel 的 CPU 烤鸡测试功耗增加以外还真没多少好处。
要想参与高性能计算,做显卡是必由之路,这是真的。
其实这完全是意料之内的翻车。
有心的朋友其实可以去翻找一下MIUI的部门等级变化,就会发现一个极其有趣的现象,目前翻车的两个版本,包括13和12.5,基本上都是内部等级降级后的MIUI团队制作出来的。
可能有人不是很懂这跟内部部门等级升降有什么关系。
简单来说就是,一个部门内部等级越高,它的部门领导距离核心层也就越近,甚至直接就是核心层,它能得到的资源也好,能得到的重视程度也好,都不是普通中高层执掌的部门所能比的。
MIUI作为小米起家的重要支撑,早期等级是相当高的,雷军和部分联合创始人都曾经是它的负责人,所以在小米公司的内部,它的权重无疑是很高的,甚至于其他部门需要配合MIUI部门展开一些工作。
但在后来,MIUI的部门被分拆了,主要负责系统开发的联合创始人离开小米,取而代之的是金凡。领导地位和部门地位双降意味着MIUI的权重大大降低,至少已经不复以前风光了,而版本更新,在有限的资源投入的前提下,自然也只能做修补性的工作,亦或者是一些市面上友商已经有的功能进行技术性移植。无他,这样成本最低。
但这样的后果是严重的,因为友商的系统,即使同源,也会有不同的开发逻辑和技术实现逻辑,强行技术移植,带来的就是不稳定甚至是出现严重问题。
很多人说金凡负责的前几个版本也没问题啊。那是因为问题没有爆发,当时的MIUI还享受着前期资源带来的红利。只是到了12.5,红利已经吃完,问题开始显现而已。
解决这个问题的方式也简单,把MIUI的开发部门恢复到以前的地位,让一个懂技术的核心高层去负责,然后,砸钱去开发、重写、调教,并适配。
表面看来是技术问题,实际上反映的,只是小米部门调整策略出现问题了而已,只是这个后果是消费者承担。
这次舆论的重点在于警察到底是多久赶到的。
没拜码头,收保护费,打砸门面这种原因我们都知道,也不怕;
但是公权力私用或者黑白勾结这种事,就会让人非常害怕;
如果西安公权力真的黑白勾结,还睁眼说瞎话,那就需要处理整顿了。
我朝的治安也不是一直这么好的,人民也不是软弱无比的,60年代西安打的也很凶的。难不成西安各公司以后都要雇佣保安公司保护经营?
这次出警距离1公里,走路10分钟都到了,所以就坐等这次真实的出警时间是多少了。
这个问题我替瓜答了
“我来这里的目的是带领曼城取得好成绩,并将曼城塑造成一支豪门球队”
“我知道应该怎么带领球队取得好成绩,也知道如何塑造一支豪门”
“所以我用我的方式管理球队,这不仅仅是对曼城负责,也是对我自己负责”
“我所做的一切事都是为了以上的目的,就这么简单。”
对于竞技体育的从业人员来说,自身的唯一价值就是在比赛中取得胜利。在竞技体育俱乐部里谈政治阴谋太可笑了。对于教练来说,只要不违反法律法规,一切手段争胜的手段都是正当的,当然包括弃用不合自己要求的老将。教练就应该用一切手段争取胜利,这是对俱乐部负责,也是对自己负责,因为不赢,教练就什么都不是。
假如你是个羽毛球运动员,你的老球拍用了10年,突然发现有了更好的新球拍卖。那你就应该毫不犹豫的放弃老球拍,去买新球拍。
在现实社会中换人比换球拍更复杂一些。但道理是一样的。