您现在的位置: 主页 > 嵌入式软件 > C/C++ > 采用C/C++、OpenCL编程中的下个逻辑步骤(2)
本文所属标签:
为本文创立个标签吧:

采用C/C++、OpenCL编程中的下个逻辑步骤(2)

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-09-04 

面向 OpenCL、C/C++ 的 SDAccel 通过编程实现 FPGA 加速处理
最新的赛灵思 SDAccel 开发环境为数据中心应用开发人员提供一套基于 FPGA 的完整软硬件解决方案(图 2)。SDAccel 环境包含一个能有效利用片上 FPGA 资源的快速的架构优化编译器。该环境为开发人员提供类似于 CPU/GPU 的熟悉的工作环境和软件开发流程,并具有一个用于代码开发、特性分析与调试的基于 Eclipse 的集成设计环境 (IDE)。利用该环境,开发人员可以创建针对不同数据中心应用可即时换入换出而优化的动态重配置加速器, 可即时换入换出。开发人员可使用该环境创建诸多应用,这些应用能在运行时间内将众多内核换入和换出 FPGA,且不会干扰服务器 CPU 与 FPGA 之间的接口连接,从而实现不间断的应用加速。SDAccel 环境针对的是基于 x86 服务器处理器的主机系统,并提供现成商用插电式 PCIe 卡,以增加 FPGA 功能。

图 2 - 面向 OpenCL、C 和 C++ 的 SDAccel 开发环境可将单位功耗性能提高 25 倍,利用 FPGA 实现数据中心应用加速。

图 2 - 面向 OpenCL、C 和 C++ 的 SDAccel 开发环境可将单位功耗性能提高 25 倍,利用 FPGA 实现数据中心应用加速。

凭借 SDAccel 环境,开发人员即使先前没有 FPGA 经验也能使用 SDAccel 似曾相识的工作流程来优化他们的应用,并充分发挥 FPGA 平台作用。该 IDE 提供编码模板和软件库,并可用来针对所有开发目标进行编译、调试和特性分析,包括 x86 上的仿真、使用快速仿真进行性能验证,以及 FPGA处理器上本地执行。该开发环境在面向数据中心的FPGA 平台上执行应用,而且能自动插入工具以实现所有开发目标。赛灵思设计的 SDAccel 环境能够让CPU 和 GPU 开发人员轻松将应用迁移到 FPGA 上,同时在熟悉的工作流程中维护和重用 OpenCLTM、C和 C++ 代码。

SDAccel 库对于 SDAccel 环境能实现类似于CPU/GPU 的开发体验起到了重大作用。SDAccel 库包含低级数学库以及生产力更高的库(如 BLAS、OpenCV 和 DSP 库)。这些库用 C++(而非 RTL)编写而成,因此开发人员可在所有开发和调试阶段完全按所编写的内容来使用它们。在项目早期,所有开发工作都在 CPU 主机上完成。因为 SDAccel 库用 C++ 编写,所以它们能够与 CPU 目标(创建一个虚拟原型)的应用代码一起编译,从而允许所有测试、调试和初始特性分析在主机上进行。这个阶段无需 FPGA。

SDSOC 支持 ZYNQ SOC 和 MPSOC 系统的嵌入式开发
赛灵思为嵌入式系统开发人员设计了 SDSoC 开发环境,用以针对赛灵思 Zynq SoC 和即将推出的 Zynq UltraScale+ MPSoC 进行编程。SDSoC 环境提供极大简化的嵌入式C/C++ 应用编程体验,包括一个可在裸机或操作系统(例如 Linux 和 FreeRTOS)上运行的简单易用的 Eclipse IDE。该环境是一种用于异构 Zynq SoC 和 Zynq MPSoC 平台部署的综合而全面的开发平台(图 3)。SDSoC 环境还配套提供业界首款 C/C++ 全系统优化编译器,支持系统级特性分析、可编程逻辑中的自动软件加速、自动系统连接生成,以及可加快编程速度的多种库。该环境还为客户和第三方平台开发人员提供开发流程,以使平台能够在 SDSoC 开发环境中使用。

图 3  SDSoC 开发环境提供熟悉的嵌入式 C/C++ 应用开发体验,包括简单易用的 Eclipse IDE和综合而全面的设计环境,以实现异构 Zynq All Programmable SoC 和 MPSoC 部署。

图 3 SDSoC 开发环境提供熟悉的嵌入式 C/C++ 应用开发体验,包括简单易用的 Eclipse IDE和综合而全面的设计环境,以实现异构 Zynq All Programmable SoC 和 MPSoC 部署。

SDSoC 为 ZC702 和 ZC706 等 Zynq All Programmable SoC 开发板,以及包括 ZedBoard、MicroZed、ZYBO 和视频与成像开发套件等在内的第三方和市场专用平台提供板支持包 (BSP)。BSP 包含能够从软件开发人员和系统架构师的代码中将平台抽象出来的元数据,以简化智能异构系统的创建、集成和验证。

SDNET 支持 FPGA 加速线卡的设计和编程
SDNet 是一种软件定义规范环境,它使用直观的类似于 C 的高级语言来设计要求并创建网络线卡规范(图 4)。该环境使网络架构师和开发人员能够创建“软”定义网络,将可编程性和智能化从控制层扩展到数据层。

图4 - SDNet 环境使网络架构师能以类似于 C 的语言创建规范。硬件团队完成设计后,开发人员可使用 SDNet 现场为线卡升级或添加协议。

图4 - SDNet 环境使网络架构师能以类似于 C 的语言创建规范。硬件团队完成设计后,开发人员可使用 SDNet 现场为线卡升级或添加协议。

(责任编辑:ioter)

              查看评论 回复



嵌入式交流网主页 > 嵌入式软件 > C/C++ > 采用C/C++、OpenCL编程中的下个逻辑步骤(2)
 环境 开发 人员

"采用C/C++、OpenCL编程中的下个逻辑步骤(2)"的相关文章

网站地图

围观()