英特尔GPU架构深度解读( 三 )


英特尔GPU架构深度解读

文章插图
英特尔借助Xe-LP将片中的几乎所有内容扩展了50% 。这意味着与Intel的Gen11 iGPU碰巧只占一小块的情况相比 , 在GPU的大多数方面都可以多执行50%的执行硬件 。这包括增加50%的EU(使总数增加到96个EU) , 纹理单元和ROP , 总速率分别为48像素/时钟和24像素/时钟 。
英特尔GPU架构深度解读

文章插图
切片中没有被这样一个因素明确放大的唯一部分是前端 。仍然有一个单独的几何/栅格化器/像素调度前端为切片的其余部分提供数据 , 并且由于Intel尚未披露几何吞吐量的任何变化 , 我在这里假设Intel仍仅按时钟每时钟调度1个基元片 。因此 , 任何改进都必须取决于时钟速度 。
而且时钟速度肯定在提高 。与英特尔的Willow Cove CPU内核一样 , 该公司正在努力提高其新的10纳米SuperFin工艺的能效和时钟速度的改进 , 以使其能够提高GPU时钟速度以满足其性能目标 。正如我们之前讨论的那样 , 英特尔希望在这里将Gen11的GPU性能提高一倍 , 而执行硬件的50%最多只能满足一半的需求 , 其余的大部分增长将来自更高的时钟速度 。作为参考 , 英特尔的Ice Lake部件最高达到1.1 GHz , 因此 , 鉴于英特尔的性能预测 , 看到Tiger Lake和DG1达到1.6 GHz或更高的频率也就不足为奇了 。
英特尔GPU架构深度解读

文章插图
因此 , 完善英特尔提高GPU性能的计划来自Xe-LP设计的第三大支柱:提高效率 。EUs的增加促使了FLOP的增加 , 而提高能效使Intel可以将芯片的时钟提高到更高 , 以增加更多FLOP 。但是仅增加FLOP是不够的 , 体系结构的有效吞吐量还必须提高 , 这样才能将更多的理论上的FLOP转化到(convert?)实际工作中 。
英特尔GPU架构深度解读

文章插图
这就是英特尔秘诀的来源 , 而英特尔技术市场部门的贡献并不多 。我们会在短时间内对EU进行一些显著的低层更改 , 但这些更改更多是关于推动上述电源效率更改 。相反 , 吞吐量效率的变化更加模糊 。在这里 , 英特尔只是告诉我们 , 他们已经使用工作负载分析来识别并消除整个GPU中的多个小瓶颈 , 从而提高图形和计算吞吐量的效率 。
英特尔的L1缓存更改也可能在其中起作用 , 尽管该公司目前并没有过多地考虑这些更改 。不过 , 我们将在查看整个内存系统时再稍作讨论 。
分片重组
另一方面 , 扩大总体范围导致英特尔已经重组了更大范围内的子范围 。子切片在某些方面类似于NVIDIA SM和GPU中的一个较小的构建块 , 其专注于各种形式的计算和着色以及纹理化 。对于英特尔的Gen11 GPU , 该公司将GPU分为8个子切片 , 每个子切片包含8个EU 。但是 , 使用Xe-LP可以扩大每个子分片的数量 , 并减少总分片的数量 。
英特尔GPU架构深度解读

文章插图
Xe-LP上的完整片现在是6个子片 。每个Xe-LP子片段依次看到其许多属性都翻了一番 。子切片中的EU数量增加了一倍 , 达到16个 , 而子纹理采样器的吞吐量已从4像素/时钟提高到8像素/时钟 。每个子切片还获得一个L1数据/纹理缓存 , 该缓存为64KB , 可以在L1数据和纹理存储之间动态分配 。该缓存似乎将取代Gen11记录不充分的L2缓存 , 后者在层次结构中扮演着类似的角色 。
这些子更改又与英特尔对EU所做的一些更改并存 , 我们将在下一页介绍这些更改 。由于EUs失去了一点点独立性并变得结对 , 每个子线程的线程控制单元数保持恒定为8 。因为总体而言它们需要处理和管理的子线程更少了 , 所以这可能有助于英特尔针对未来解决方案的可扩展性 。
这一变化的结果意味着 , 英特尔的iGPU可扩展性步骤也将有所不同 。Ice Lake出厂时启用了64个EU(8个子分区) , 48个EU(6个子分区)或32个EU(4个子分区) , 具体取决于SKU , 而Tiger Lake的粒度现在仅为切片的六分之一 。因此 , 这意味着一半的GPU现在为48个EU(3个子分区) , 一个完整的GPU为96个EU(6个子分区) , 并且英特尔必须决定是否以及如何在启用80或64个EU的情况下在中间运输SKU 。由于英特尔今天不提供生产信息 , 我们只能进行相关推测 。但是如果在完全启用的Xe-LP iGPU之后的下一层是64 EU配置 , 则其性能将大大下降 , 造成了33%潜在增长的损失 。


推荐阅读