一般而言,尽管采用了共享微架构的方案,但由于企业级别应用所需要的更多的RAS,以及更多的面向企业级应用的特性,服务器处理器版本的发布一直要晚于客户端处理器版本,Skylake的桌面版就早在2015年发布,比服务器版早了两年。共享微架构就意味着,桌面版本和企业版本的微架构是一致的,但到了Skylake-SP,情况有了些变化,且让我们从Haswell/Broadwell微架构图开始:
Haswell Core at a Glance,Haswell以及其下一代Broadwell的微架构变化不算太大
Haswell与其上一代Ivy Bridge相比最大的变化就是执行单元端口从6个提升到了8个
可见,Broadwell的微架构算是小修小补,而Skylake和Haswell一样都是架构明显变化,下图是官方文档《Intel 64 and IA-32 Architectures Optimization Reference Manual》中的Skylake微架构截图:
Intel Skylake Microarchitecture,这个Skylake是桌面端的
Hot Chips 2016上的报告《Inside 6th generation Intel Core Code Name Skylake》也给出了类似的微架构
可见看到,即使是桌面版的Skylake,也具有着非常明显的变化,对处理器关注不多的同学可能难以留意到Skylake在处理器微架构前端的变化:
Skylake Core Front-End: The wider Issuses Width
请记住,在Skylake之前,Intel的处理器除了安腾,都是4 Issue(称为4发射)的,一直以来,Intel都将其称为“Wide Dynamic Execution(宽动态执行)” ,指的就是解码器的输出宽度,Skylake的解码器输出宽度从4提升到了5,这可以进一步Xeon处理器家族的性能。
Core 2 Duo上出现的Intel Wide Dynamic Execution
需要知道的是,解码器用于将强大但是复杂、不定长的x86指令(被称为macro-op)翻译为简单、定长的uops(micro-op),从而实现了RISC-like的微架构执行,同时获得了CISC和RISC的优点——核心就在于解码器。Skylake上不仅(包括简单解码器以及microcode解码器)在内的解码器宽度得到了提升,与分支预测单元合作的uop Cache也得到了加大,分支单元有所强化。
Skylake Core Back-End: Out-of-Order Execution
Front-End为IOE(In-Order Execution,顺序执行)架构,Back-End则是OOOE(Out-of-Order Execution,乱序执行)架构,在这里,会首先通过一个Rename单元将寄存器重命名,这个单元有时也与Retire回退单元结合,在Skylake上,整数寄存器增加了12个而达到180个,这与AVX-512指令集的增加有关。在共享的Skylake微架构上,除法和平方根(SQRT)运算得到了吞吐量的加强和延迟的降低(SQRT一般依赖于除法器),另外,浮点ADD、MUL和FMA的吞吐量和延迟性能也得到了增强,AES加密指令的延迟也得到了显著的降低。Skylake的Sheduler条目从60提升到97,ROB(Reorder Buffer)条目从192提升到224,Allocate Queue(与寄存器重命名一起工作)从Broadwell的56条目提升到了每线程64(合计128)条目,Intel预计Skylake-SP具有超过10%的IPC性能提升:
Intel Skylake-SP Core Microarchitecture Enhancements
大家都知道,Skylake-SP一个显著的变化就是引入了Xeon Phi最先装备的AVX-512指令集,它将向量运算的宽度从AVX2的256位提升到了512位,除了要求寄存器宽度同样加大一倍之外,它也需要运算单元的宽度加大一倍,在Skylake-SP上可以同时执行两个512位AVX向量运算,其中一个由原本256位宽度的Port 0和Port 1融合而成,另一个则是由Port 5端口扩展而成,这两个512位执行端口都可以支持512位FMA融乘加操作,但是,只有高端的Skylake-SP(Platinum 81xx和Gold 61xx)才具备Port 5的FMA融乘加单元。此外,桌面端(除了与Skylake-SP同源的Skylake-E之外)不支持AVX-512指令,这是因为这个功能需要额外的晶体管:
Skylake-SP Core:在标准Skylake Core微架构之外附加额外的512位端口5能力扩展与额外的768KiB L2 Cache扩展
Skylake-SP(以及Skylake-E)的AVX-512和第二个FMA,以及与普通Skylake相比多出的768KiB L2缓存,是在标准的Skylake Core之外的地方实现的,这部分区域已经属于Uncore核外区域,但被Skylake-SP拿来融入Core核内做核内用途。只有Skylake-SP有这些可能性进行这个操作,因为企业级处理器的Uncore区域向来都是采用与桌面端Uncore不同的特别设计。由于Skylake-SP的额外占用Uncore空间的设计,Skylake-SP的每核心L3 Cache容量比以往有所降低,测试表明这样的设计仍然是值得的,因为Skylake Core的内存子系统进行了相当多的优化:
2017-07-14勘误:E是以前由对应Xeon的某个型号改头换面的Core i7至尊版酷睿的代号后缀,Skylake的对应版本已经更改为X后缀——Skylake-X,对应地,Core命名的系列名变成了i9。
从参数上看,Skylake-SP的L1 D-Cache的吞吐量得到了倍增,以满足AVX-512向量指令的数据宽度倍增的情况,Skylake的Cache/TLB子系统也得到了全面的提升。关于AVX-512指令集,以及内存子系统方面的内容,我们放在了下一篇文章当中,接下来我们先看看我们先完成的SPEC CPU2006测试套件的其中一个配置的测试。
好文章,需要你的鼓励
新加坡国立大学研究团队开发了名为IEAP的图像编辑框架,它通过将复杂编辑指令分解为简单原子操作序列解决了当前AI图像编辑的核心难题。研究发现当前模型在处理不改变图像布局的简单编辑时表现出色,但在需要改变图像结构时效果差。IEAP框架定义了五种基本操作,并利用思维链推理技术智能分解用户指令,实验证明其性能显著超越现有方法,尤其在处理复杂多步骤编辑时。
Character AI的研究者开发出TalkingMachines系统,通过自回归扩散模型实现实时音频驱动视频生成。研究将预训练视频模型转变为能进行FaceTime风格对话的虚拟形象系统。核心创新包括:将18B参数的图像到视频DiT模型改造为音频驱动系统、通过蒸馏实现无错误累积的无限长视频生成、优化工程设计降低延迟。系统可让多种风格的虚拟角色与人进行自然对话,嘴型与语音同步,为实时数字人交互技术开辟了新可能。
这项由中国人民大学高瓴人工智能学院研究团队发表的研究解决了大语言模型评判中的自我偏好问题。研究提出了DBG分数,通过比较模型给自身回答的分数与黄金判断的差异来测量偏好度,有效分离了回答质量与自我偏好偏差。实验发现,预训练和后训练模型都存在自我偏好,但大模型比小模型偏好度更低;调整回答风格和使用相同数据训练不同模型可减轻偏好。研究还从注意力分析角度揭示了自我偏好的潜在机制,为提高AI评判客观性提供了重要指导。
这篇研究提出了DenseDPO,一种改进视频生成模型的新方法,通过三大创新解决了传统方法中的"静态偏好"问题:使用结构相似的视频对进行比较,采集细粒度的时序偏好标注,并利用现有视觉语言模型自动标注。实验表明,DenseDPO不仅保留了视频的动态性,还在视觉质量方面与传统方法相当,同时大大提高了数据效率。这项技术有望推动AI生成更加自然、动态的视频内容。