首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Xilinx SDAccel 环境(2)

Xilinx SDAccel 环境(2)

其中一些自动优化能大幅提升整体应用的效率。举例来说,SDAccel 编译器的数据流流水线功能可对多个功能进行流水线化,而不会局限于仅能对单一功能进行优化。该编译器的存储器优化功能能极大地提升功效,从而让你能够在FPGA 中添加更多功能。SDAccel 是首款面向FPGA 平台的完全软件的开发环境,可实现类似于CPU/GPU 的开发体验。开发人员能用熟悉的工作流程优化应用,而且即便很少或者没有FPGA 使用经验,也能获益于FPGA 的平台优势。集成设计环境(IDE)不仅可提供编码模板和软件库,而且还支持在x86 平台上进行编译、调试、特性分析和FPGA 仿真。准备好部署后,IDE 能在配有自动仪器插入功能的数据中心用现成的商用 FPGA 平台上实现算法。          SDAccel 还经过精心构建,使CPU/GPU 开发人员能够轻松将其应用移植到FPGA 上,同时还可在熟悉的工作流程中维护和复用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 能让数据中心运维人员最大限度地发挥硬件加速投资价值。
          实实在在的标准测试可证明SDAccel 的性能和价值
          SDAccel 经过了具有实际标准测试的业界验证。举例来说,在压缩标准测试中,SDAccel 生成的硬件加速器比同类竞争工具生成的加速器速度高3 倍多,尺寸小3 倍。占位面积及吞吐量与手动优化的RTL 实现方案旗鼓相当甚至更优秀。

       


          在上述的加密标准测试中,SDAccel 生成的硬件加速器比同类竞争工具生成的加速器速度快1.2 倍,而面积小4 倍。更棒的是,SDAccel 自动生成的加速器比用RTL 手动编码生成的加速器还快20%。SDAccel 开箱即用,可直接编加速器,而且QOR(结果质量)与手动编码结果质量旗鼓相当,甚至更胜一筹。
          结论
          SDAccel 可满足数据中心应用开发人员的需求,包括提供类似CPU/GPU 的工作环境,其生成的高效硬件加速器可实现最佳单位功耗性能,远胜于运行在CPU/GPU 上的加速器。SDAccel 通过带有系统内即时可重配置功能的单个控制中心环境(cockpit environment)支持软件工作流程,最大化数据中心硬件加速投资回报。因此,SDAccel 是一种独特而完整的FPGA解决方案,其易用性和功能远超同类竞争性工具。这些同类竞争性工具不能提供高生产力工作流程,也不能提供熟悉的环境,加速器性能更不能与SDAccel 自动生成的硬件加速器相提并论。
继承事业,薪火相传
返回列表