关于FPGA将带来至多25倍单位功耗性能提升的分析和介绍

很久没有看fpga了,本来想继续学习hls,就上xilinx的网站看了看。结果发现了sdx 开发环境,很新的一个东西。由于我对这方面了解不多,本篇博文仅仅只是资料的整合和介绍。
xilinx官网这样解释sdx:sdx? 是一种面向系统和软件工程师的开发环境。?sdx 让没有 fpga 专业知识的系统和软件工程师也能通过使用高层次编程语言,来获益于带有业界标准处理器的可编程硬件的强大威力。sdaccel 是首个面向 opencl、c 和 c++进行架构优化的编译器,并结合了#库、开发板,可在fpga上实现类似 cpu/gpu 的开发运行体验 。
fpga的结构,fpga、gpu、cpu之间的优势劣势在我的fpga学习之基本结构和高层次综合(hls)-简介中略有涉及,网上也有大量的资料。简单来说,fpga是一种可编程的器件,采用hdl语言来编写改变其结构。其全并行等特性使得fpga有极强的计算能力。但fpga开发是困难的,之前的集成开发环境是ise,通常采用vhdl或verilog hdl编写代码。hdl,即硬件描述语言,所以这个时候是和软件工程师没什么关系的(不知道这样说对不对)。
后来主推vivado,有了hls(高层次综合),倒有几份文档是面向软件工程师的,但具体怎么样,我也不太清楚——我并没有使用过vivado。但毫无疑问的是,vivado不是面向“软件工程师”的。
由此看来,sdx开发平台对xilinx应该具有很大的意义。而sdaccel是其中最新的一个组成部分(另一个是sdnet,“软”定义网络),xilinx的对sdaccel描述如下
2.fpga计算
fpga用于高效能计算,这个想法出项很长时间了。各大公司也进行了一些尝试,下一代计算设备cpu/gpu/fpga:fpga规模商用还需时日中提到了fpga、cpu、gpu和dsp之间的对比,大体结果是gpu性能最强而fpga具有更高的性能功耗比。文中还提到了微软利用fpga对bing数据中心进行加速的计划,以及baidu在这方面的研究。
关于微软的项目,microsoft, baidu find speedier search results through specialized chips中有更详细的介绍。这一项目中利用了altera的fpga,文中写道xilinx的v6系列fpga曾经被尝试使用并被放弃。
至于百度,xilinx官方给出的背景资料中提到了baidu的研究。总结来说,fgpa计算在功率受限下具有很高的性能,可以用在数据中心的加速中。在machine learning中,fpga在实现深度神经网络(deep neural network,dnn)上有很好的表现。(百度采用mid-range fpgas,利用的是k7系列xc7k480t)
这一点点的优势的背后是巨大的劣势。首先,fpga的计算能力不是最强的;其次,fpga的开发环境不成熟,难度较大,时间周期长;其三,fpga局限性大,支持性差。
3.sdaccel简介
本节内容主要来自或参考于sdaccel背景资料
这份文档的副标题是“bringing the best performance/watt to the data center”,也就是说这是对于功率受限的数据中心提出的,另一份白皮书中提到是“tomorrow’s data center”这是其自身的定位。图中可以看出fpga极高的效能比
文中指出开发者希望数据中心有以下几个特性:
1、高效能
2、完整的软件开发环境
3、利于升级的设计
然而这些正是sdaccel所能带给我们的,关于sdaccel有这样一则新闻赛灵思推出针对opencl、 c和 c++的sdaccel开发环境。sdaccel设计思路如下图,它强调的是“fpga 上类似gpu/gpu的开发体验”。
背景资料中仅对sdaccel特性做了简要说明。
开发体验:cpu/gpu开发者可以通过重用或维护opencl,c,c++代码轻易将应用程序迁移到fpga上。sdaccel报还一些基本的库(opencl built-ins, dsp, video, and linear algebra libraries),同时auviz还提供了opencv和blas。程序调试成型之前并不需要fpga参与,之后需要进行rtl仿真
升级:sdaccel可以实现即时的硬件动态重配,fpga硬件可复用,因此应用可以平滑的升级。
性能和总结:sdaccel生成的代码在某些方面甚至超过了手工编写的hdl code,和其他编译器相比较更是有巨大优势。
背景资料中并没有提供更多的信息,总结起来就是——xilinx说他的产品很好。
4.其他
25倍说得很模糊,单词用的是“表现”。本文的标题取自xilinx,如果从gflops衡量的话,xilinx官网给出了下面一个图(高性能计算应用)。图中采用k10进行对比,最新的k80在保持k10功耗下,计算能力大概变成了原来的两倍。virtex7差不多是最新的 fpga(20nm),因此fpga相对于gpu的优势并不明显。
就仅有的资料而言,xilinx对其作出了很多限制(譬如数据中心,功耗限制),无疑在这些方面fpga有很大的优势。但前景到底如何呢?

RTX 4070有了什么样的变数,是更高了还是更低了?
Micro LED市场营收额将在2027年超过700亿美元
completion是什么?completion怎么使用呢?
关于LTO电池和充电/电压监控,你想了解的知识点都在这里!
元件分销转型升级样本 世强元件电商获2017中国智造金长城奖
关于FPGA将带来至多25倍单位功耗性能提升的分析和介绍
十大运动蓝牙耳机品牌排行榜、2022十大运动耳机最新排行榜!
基于AVR的太阳能控制器设计
智慧水务监控系统解决方案
PSoC单片机及其茌燃气变频输配与流量计量中的应用
高可靠性的可编程电源管理解决方案
魅蓝一脸尴尬!荣耀再次发布“魅蓝海”
纸机烘缸锥度轴磨损原因及修复方法
你可以区分无人机和航模吗
传闻已久的苹果电动汽车原型车已经在加州上路测试
物联网即服务新用例有哪些?2021年高通智慧城市加速大会上有答案
【破碎机修复】从故障原因到施工步骤,全方位讲解破碎机轴磨损的在线修复工艺
码垛机器人如何维护保养?
基于LonWorks的在系统编程技术
采用LabVIEW的图形化程序语言实现数字仪表测试系统的设计