微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > Xilinx SDAccel 环境:为数据中心带来最佳单位功耗性能

Xilinx SDAccel 环境:为数据中心带来最佳单位功耗性能

时间:10-26 来源:电子发烧友网 点击:

还可在熟悉的工作流程中维护和复用OpenCL、C 和C++ 代码。大量代码和库采用C 和C++ 格式。对于希望采用其现有代码库中的不同代码,或者采用第三方代码库,甚至继续组合使用C、C++ 或OpenCL 进行开发的开发者来说,能用C、C++ 或OpenCL 工作是最大的便利。

  SDAccel 环境配套提供面向程序员的Eclipse IDE 以及一系列基于C 语言的FPGA 优化库和数据中心用现成商用平台。Convey Computer、Alpha Data Parallel Systems 和Pico Computing 公司可提供数据中心用加速板卡。2015 年年初还将增加更多商用现货(COTS)合作伙伴。SDAccel 库包括内置OpenCL 函数、DSP、视频和线性代数库,能支持高性能低功耗实现方案。针对特定领域加速,赛灵思联盟合作成员Auviz Systems 公司还提供优化的 OpenCV 和BLAS SDAccel 兼容库。

  应用开发人员完全能在X86 仿真空间开始使用SDAccel 使其代码开始工作。一旦其确信其算法开发人员就能对代码进行特性分析,找到受益于加速的代码片段。然后开发人员就可以利用这些有针对性的片段,无缝采用快速自动生成的周期精确内核仿真,从而实现加速。这些快速仿真可用来调试和优化加速量,同时能在架构层面工作。业经验证的应用能方便地移植到主机/FPGA 系统。SDAccel 开发环境可支持所有这些来自同一控制中心(cockpit)的活动。

  SDAccel 库对SDAccel 类似CPU/GPU 的开发体验发挥了重要作用。这些库包含底层数学库以及BLAS、OpenCV 和DSP 等高生产力库。这些库用C++(而不是用RTL)编写,因此在所有开发和调试阶段都能完全像编写一样使用。在项目早期阶段,所有开发工作都在CPU 主机上进行。由于SDAccel 库用C++ 语言编写,因此能与CPU 目标的应用代码一起编译,创建虚拟设计原型,让所有测试、调试和初始特性分析工作在主机上进行。在此阶段无需FPGA。

  一旦应用经过初始调试和特性分析,需要硬件加速的关键功能可通过编译实现协同仿真,加速功能运行在基于CPU 的RTL仿真器上。这时,软件开发团队可观察所得的性能,确定应用能否满足性能目标要求。RTL 仿真能准确给出FPGA 硬件加速的性能情况,这就能让开发团队得到很好的性能估算,而且能高度确保所得的FPGA 配置能精确重现应用源代码的行为和结果。

  加速功能随后可迁移到FPGA 上,生成最后的加速应用,可用于部署。SDAccel 编译器不是创建通用FPGA 配置,而是在编译时针对特定的赛灵思FPGA,包括器件速度等级,这样所得的加速功能就能针对FPGA 上的可用资源以及器件时序进行优化。在这时我们甚至还能测试功能,这对性能不会造成影响,硬件开销极低,而且还能在同样熟悉的SDAccel 开发环境中进行更多后期特性分析,以便充分利用FPGA 硬件,全面最大化应用加速效果。

  CPU 级特性分析能发现应用瓶颈。协同仿真将告诉您这些瓶颈是否已经被加速特定功能消除掉。在FPGA 上对硬件加速功能进行特性分析能实现更多优化,进一步优化应用代码和加速功能。在任何时间以及各个阶段中,SDAccel 编译器都可选择性地检测应用代码,包括加速功能,这就意味着调试和特性分析能够以相同方式进行,而且无论开发工作进入到哪个阶段,都可用使用同一软件开发工具。

  在FPGA 上首次带来类似CPU/GPU 的运行时间和升级体验

  SDAccel 可提供支持实时类似CPU/GPU 运行时间升级的唯一FPGA 动态可重配置加速器。SDAccel 对于FPGA 解决方案的独特之处在于其利用唯一的FPGA 动态重配置功能可在内核升级时保持系统继续运行,这不仅可加载新的硬件加速器内核(这一点与CPU/GPU 加速器的功能类似),同时还能保持关键的系统接口和功能(如存储器、以太网、PCIe 和性能监控器)继续发挥作用。这种即时的系统重配置功能理想适用于数据中心计算需求及负载的立即更新。这种应用的一个实例就是图像搜索、视频转码和图像处理等功能的即时切换,从而带来战略性优势。

  所有这些都能通过硬件重用转换为资源优化,这在数据中心环境中是一大优势。简而言之,基于SDAccel 的系统现在能加速应用,而如果未来需要另外一种类型的加速,系统能快速顺利地实现升级。

  开发者可以管理和运行基于SDAccel 的系统就像在CPU/GPU 系统一样。利用SDAccel 和硬件快速动态重配置功能,我们甚至能在应用运行中重用FPGA。这种功能使得我们能用相同的FPGA 板卡执行不同的内核加速,硬件可针对不同的算法进行重新优化,且不会限制或中断应用流程。通过支持动态重配置,SDAccel 能让数据中心运维人员最大限度地发挥硬件加速投资价值。

  实实在在的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top