专栏名称: 半导体行业观察
最有深度的半导体新媒体,实讯、专业、原创、深度,30万半导体精英关注!专注观察全球半导体最新资讯、技术前沿、发展趋势。《摩尔精英》《中国集成电路》共同出品,欢迎订阅摩尔旗下公众号:摩尔精英、摩尔芯闻、摩尔App
目录
相关文章推荐
OFweek维科网  ·  又一家上市公司出手,10个亿砸向机器人! ·  5 天前  
OFweek维科网  ·  传华为再无Windows可用?最新回应→ ·  2 天前  
半导体行业联盟  ·  期货大佬郭彦超,豪投辰至半导体,芯片江湖主沉浮? ·  4 天前  
半导体行业联盟  ·  华为芯片“王炸”! ·  3 天前  
半导体行业联盟  ·  存储涨价来袭,三分钟了解存储芯片! ·  3 天前  
51好读  ›  专栏  ›  半导体行业观察

英特尔发力FPGA,两大策略齐头并进

半导体行业观察  · 公众号  · 半导体  · 2017-10-07 09:00

正文

本文由半导体行业观察翻译自互联网,作者 Timothy Prickett Morgan。


芯片巨头英特尔已经谈论 CPU-FPGA 复合计算很长时间了,以至于我们有时候不记得其 Xeon-Arria 混合计算单元并不是一款量产产品——这种计算单元是将一个 Xeon 服务器芯片和一个中端 FPGA 放入单个 Xeon 处理器插槽中。但英特尔正在努力攻坚这一领域,并且最近也向 The Next Platform 透露了当前的规划。


这种 CPU-FPGA 混合器件类似于 AMD 的加速计算单元(APU/Accelerated Computing Units),只是 APU 是将计算和 GPU 加速放入单个处理器封装中。CPU-FPGA 混合器件有望得到广泛的采用,尤其是想要将特定类型的负载从 CPU 迁移到加速器上的超大规模计算用户和云计算开发商。


尽管英特尔有自家的 GPU 并且也已经为特定的市场将其放入到了 CPU 封装中或 CPU die 上(比如基于 Xeon E3 芯片的用于加速媒体处理的低端工作站和低端服务器),但英特尔在将 Xeon 处理器上的负载迁移到其它器件上的热情并不高。它首先打造了并行 X86 处理器的 Knights 系列来作为辅助引擎,之后又将其做成了一款完整的处理器 “Knights Landing” Xeon Phi 7200,这款处理器在 2015 年底开始初步出货,并在 2016 年夏季正式发布。英特尔已经终结了 Knights Landing 芯片的协处理器版本,它们从未真正出货,因为客户只是需要使用可以运行他们自己的操作系统的 Xeon Phi 的托管版本。


也就是说,FPGA 和 GPU 一样,只是一种迁移计算负载的模式;英特尔正在努力将各种各样的 FPGA 配置带进这一领域,以确保计算负载确实能以某种形式从 Xeon CPU 迁移到 Xeon Phi(可用于传统的 HPC 和新兴的人工智能负载,主要是用于神经网络训练)或 Altera FPGA 或之前提到的那些低端的 CPU-GPU 混合器件。英特尔肯定不希望英伟达的 Tesla GPU 加速器或 AMD 的 Epyc CPU 和 Radeon Instinct GPU 组合占领这些市场。


英特尔在与 FPGA 制造商 Altera 达成了代工合作协议之后就开始谈论 Xeon-FPGA 混合计算器件了,Altera 也是英特尔的第一个这样的客户。之后两家合作一路深化,直到 2015 年 6 月,英特尔用 167 亿美元收购了整个 Altera。在今年休假离开之前负责管理英特尔的数据中心组的 Diane Bryant 曾在 2014 年 6 月即兴宣布了第一款 CPU-FPGA 器件,那是在英特尔收购 Altera 的一年之前。那时候,Bryant 说向这种计算复合体中加入 FPGA 可以提供多达 10 倍的加速,这可以通过使用 QuickPath Interconnect(QPI)链路直接将 FPGA 连接到 Xeon 处理器上实现。该链路通常用于多处理器系统中的 NUMA 扩展,相比于使用 PCI-Express 外设总线,它的性能可高出 20 倍。


英特尔最后真的收购了 Altera,这没什么惊奇的。Altera 是 FPGA 领域的两大主要玩家之一,另一家是赛灵思(Xilinx)。如果非要说有让人惊讶的地方,那就是英特尔出的钱太多了,毕竟 Altera 的年收入还不到 20 亿美元。英特尔和 Altera 的这笔交易也让我们看到了英特尔的担忧。这家公司将会使用 FPGA 来对抗 GPU,之后该公司还表示预计在 2020 年之前,三分之一的云开发商(也包括超大规模计算用户)的系统中都会使用 FPGA。由于 FPGA 在一些负载上有 10 到 20 倍的性能优势,加上数量巨大,所以可能会给 Xeon 的销量带来巨大影响。(目前我们尚未看到这种效果,但想象一下如果用 CPU 来实现深度学习奇迹,得需要多少 CPU 和多高的成本。这方面的创新可能根本就没有发生过。)


到目前为止,英特尔 Xeon 还在热销,即使 FPGA 和 GPU 等加速器正在侵蚀 Xeon 的业务。除了 SmartNIC 网络接口和其它网络功能虚拟化工作,FPGA 也已被用于执行服务器加密以及加速关系数据库,正如 Swarm64 做的那样。在一些案例中,FPGA 卡有自己的内存和计算,只将一些核心的串行任务交给 CPU 做,比如来自 Nallatech 的双 FPGA 协处理器就是这样。



顺便一提,让 FPGA 与处理器协同工作并不是什么新花样。赛灵思和 Altera 都在同一个片上系统封装中集成 FPGA 和 ARM 处理器很多年了,而且英特尔本来也可以在用于超大规模计算的 Xeon D X86 芯片设计上做同样的事。事实上,这个本可以做到的事情后来造就了第二代测试台 CPU-FPGA 混合器件,英特尔在 2016 年 3 月展示了这种器件。


英特尔可编程解决方案组的 FPGA 软件解决方案高级总监告诉 Bernhard Friebe 说,这种器件在同一个封装中放入一个 15 核的 Broadwell Xeon 处理器和一个 Arria 10 FPGA,这不是 Stratix 10 一样的顶级部件。该器件使用了英特尔的 14nm 工艺生产,目前正在实验性生产,有望在今年年底前开始出货。


英特尔采用的是双管齐下的 FPGA 战略:一是 CPU-FPGA 混合器件,比如共享同一个插槽的 Broadwell-Arria 封装;二是分立的 Xeon CPU 与 Arria 或 Stratix FPGA 通过 PCI-Express 总线彼此相连。



据 Friebe 说,英特尔的当前计划是基于 Arria 10-GX FPGA 打造自己的 PCI-Express 卡,英特尔将其称为可编程加速卡(PAC/programmable acceleration card),并计划在 2018 年上半年开始销售。后面也会有基于 Stratix 10 FPGA 的 PAC,但英特尔没说什么时候会有。我们估计大概在 2018 年年底。


英特尔的 CPU-FPGA 混合器件包含一款尚未命名的 “Skylake” Xeon SP 处理器加 Arria 10 FPGA 组合器件。这些 CPU-FPGA 混合器件将会在实验性的 Broadwell-Arria 器件基础上继续前进,并会使用更快的 UltraPath Interconnect(UPI)链路在一个 Socket P 插槽中将 FPGA 直接连接到 Skylake 芯片。我们也知道这是一种单插槽机器,所以这可能意味着会有一个 bin 相对低的 Skylake 部件(也许是 Silver 或 Bronze),也可能只有一个 UPI 链路。(更多不一定更好。)


目前还不清楚这两个计算元件之间的链路数量是 1 还是 2 还是 3,但是鉴于 Skylake 可以有 1、2 或 3 个 UPI 端口,根据模型的不同,这三者皆有可能。我们也不清楚英特尔打算在这两个器件之间使用什么一致性模型,但很显然这能让 CPU 和 FPGA 可以读写同一个内存并且无需在两个器件传递数据——不管是直接传递还是使用虚拟寻址移动指针。如果英特尔选择 CCIX、Gen-Z 或 OpenCAPI 这三种新兴的协议,情况就会相当有趣,因为这些协议在器件之间提供的一致性能使得内存寻址对编程者而言不可见。我们应该会看到。


我们可以确定地说英特尔正在专注研发编程环境,这样不管 CPU 和 FPGA 是分立的还是混合在同一个插槽中,都能使用同样的工具。英特尔将其称为 Acceleration Stack,这是一个基于 OpenCL 的完备的编程环境。OpenCL 是一种常用的高级编程语言,可以与 Verilog 和 VHDL 配合用于 FPGA 开发。



这种用于 FPGA 的 Acceleration Stack 是专门为英特尔器件设计的。据 Friebe 说,Acceleration Stack 组合了英特尔的系统与 FPGA 的固件与 Open Programmable Acceleration Engine(OPAE)开源框架。其中包含用于运行在裸机上的操作系统的实体 FPGA 驱动和一个虚拟 FPGA 驱动——这个虚拟 FPGA 驱动可以运行在服务器虚拟化管理程序之下,从而可在虚拟机上实现功能。


英特尔的想法是构建一个一致的 API 集合,可通过 C 语言访问,可以用于混合或分立的设置,并且像 OPAE 代码一样开源,在 GitHub 上放养。这个 FPGA API 使用了 BSD 许可,这个 FPGA 驱动使用了 GNU GPLv2 许可。有很多公司必须获得许可的 OpenCL 工具,英特尔也有自己的,称为 Intel FPGA for OpenCL,它可以进行各种优化以便在 FPGA 上运行。


如果这些工具能吸收 C 语言代码并将其转换成 OpenCL 代码,然后转换成 VHDL,那么这可能会非常有用。我们预计,有了这个 OPAE 软件层,这个堆栈中更高层的应用框架就会与 OPAE 通信以便将负载迁移到 FPGA 上,这样可以极大简化编程任务。当然,OpenCL 代码也会被自动编译成 FPGA 可用的 VHDL。







请到「今天看啥」查看全文