程序猿们遇福音,像玩CPU/GPU一样玩转FPGA应用
时间:12-02
来源:互联网
点击:
- 性能表现突出
杨飞表示SDAccel的架构优化编译器使软件开发者能够优化并编译流媒体、低时延以及定制数据路径应用。SDAccel编译器主要针对高性能赛灵思FPGA并支持OpenCL,C 和C++任意组合的源代码。
SDAccel编译器相比高端CPU性能提高达10倍,而功耗仅为GPU的1/10,同时能保持代码的兼容性和一个传统的软件编程模式,以便于应用移植并节约成本。根据客户基准,SDAccel编译器相比同类竞争FPGA解决方案,性能和资源效率均提升了3倍。SDAccel编译器自动生成的设计甚至比手动编码的RTL设计方案的性能还高,在某些情况下可高出20%之多。
SDAccel编译器可以自动对应用源代码实施一系列基础甚至高级的优化方案。下表列出了SDAccel编译器针对加速应用所进行的一系列优化。
优化 描述
分配 在硬件资源和性能之间实现最佳平衡
阵列优化 阵列整合/分区/重塑,以提高性能和利用率
数据打包(ocl矢量数据类型) 打包数据成员,以减少端口并提高性能
数据流 提取粗精度并行
流水线 提取细精度并行
平衡 平衡表达,以提高性能
循环整合 整合循环,以提高性能和利用率
循环扁平化 使循环嵌套扁平化,以提高性能
循环展开 展开部分或全部循环,以优化性能
流(ocl:流水线) 形成数据流,以提高性能和利用率
接口 高级接口综合
资源 资源选择,提高性能和利用率
内联 去除函数边界,暴露优化机会
实例化 函数实例化,实现更高性能
依赖性 内部和相互之间的依赖性提取
Bitwidthmin 比特宽度最小化,以提高性能和利用率
记录数学 高级浮点优化
ROM推理 只要可能,便可将复杂计算转化到ROM
SDAccel编译器针对加速应用所进行的一系列优化。
杨飞表示SDAccel采用的是已被1,000多名程序员广泛使用的基础编译器技术。SDAccel充分利用该编译器的功能,使软件开发人员能够利用新的或现有的OpenCL、C和C++ 代码创建高性能加速器,并针对计算搜索、图像识别、机器学习、编码转换、存储压缩和加密等各种数据中心应用中的存储器、数据流和流水线技术进行了精心优化。
杨飞表示,即使SDAccel与市场同类FPGA对比,效果也很突出,“这是因为我们专门针对FPGA开发的高层次综合工具,所以即使用同样的open CL语言,我们的效果也很突出。”如下图所示,用SDAccel开发环境开发的FPGA应用,其面积竟然比手动编写的代码还要好。
所以,有好的FPGA,还需要有好的开发工具,才能将其特性发挥出来,如下图所示,“用SDAccel开发环境让赛灵思FPGA在单位功耗性能和开发简便性方便实现了鱼与熊掌兼得的效果。”杨飞强调。“我们估计一个FPGA板卡相当于四个传统服务器。”
在单位功耗性能和开发简便性方便实现了鱼与熊掌兼得
实际上,不仅是数据中心可以应用SDAccel开发环境,其他一些应用如工业、物流、医疗等与大数据处理相关的应用都可以应用到这个工具,杨飞表示随着高级工艺的采用,FPGA已经变得日益强大,赛灵思现在一个重点是降低FPGA的开发门槛,用以高级抽象工具拓展FPGA的用户群,赛灵思会推动以软件定义为主的产品系列,自今年5月推出SDNet软件定义规范环境后,现在又推出了SDAccel开发环境,未来还会推出更多SDX开发环境,目前SDAccel已经可以供货,了解更多信息请点击这里 china.xilinx.com/sdaccel 。
这里有个视频介绍了SDAccel开发环境
<script type="text/javascript" reload="1">$('flv_zNU').innerHTML=AC_FL_RunContent('width', '500', 'height', '375', 'allowNetworking', 'internal', 'allowScriptAccess', 'never', 'src', 'http://player.youku.com/player.php/sid/XODMxNTYzMjk2.html/v.swf', 'quality', 'high', 'bgcolor', '#ffffff', 'wmode', 'transparent', 'allowfullscreen', 'true');</script>
硬件工程师 FPGA 赛灵思 神经网络 Xilinx C语言 DSP 仿真 相关文章:
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 赛灵思“授之以渔”理论:危机中如何巧降成本(06-04)
- 赛灵思详解新近推出的FPGA领域设计平台(12-16)
- 用于测试SDRAM控制器的PDMA(07-01)
- 面向FPGA的ESL工具(07-19)
