开发者社区> 以亭> 正文

Altera OpenCL SDK与Xilinx SDAccel的使用对比

简介:
+关注继续查看

出于工作需求,申请了这两家的高级语言综合工具,对典型算法进行了实现和评估(数据暂时保密)。

简要谈谈使用体验。


1. Altera OpenCL SDK

首先需要安装Quartus(13.1版本以上)和配套的SoC EDS,分别申请两个license,一个用于OpenCL SDK,一个用于SoCEDS,缺一不可。

然后需要有实现平台,我用的是DE1-SoC开发板。该平台提供了Open CL BSP,用给出的examples改改就能实现自己的算法。

SoCEDS用来编译Host代码,这里是ARM;

Open CLSDK用来编译device代码,生成.aocx二进制文件,运行时需要借助ARM对FPGA进行配置。

开发周期较长的是编译Open CL工程,在我的笔记本(CPU 酷睿i5-4300,8GB内存)上大约需要40min。

优化Open CL可以通过编译选项、编译指导语句#pragma进行。

Open CL BSP自带的硬件工程可以用Quartus打开查看,但里面的Open CL相关逻辑是加密的,无法修改。

Open CL SDK不带图形界面,只能在命令行下运行,自动调用quartus_map, quartus_fit, quartus_sta等工具。


2. Xilinx SDAccel

前面文章介绍过Xilinx Vivado和Vivado HLS工具。按照我的猜想,SDAccel只是一层包装,里面内容还是HLS。果然如此。

软件安装比较省事,只申请SDAccel license就能使用所有Xilinx软件功能。这点比Altera做得人性化。

用过HLS工具的童鞋都知道,这玩意开发起来飞快,但其实只完成了10%进度,麻烦事在后头呢,系统集成会花掉剩下90%的时间。

SDAccel就是这样一个用于开发完整项目的工具。

利用Open CL编写的代码会先转化为HLS工程,其优化策略也都一一映射为HLS的优化,所以前面学过HLS的童鞋可以很容易转到SDAccel上来。

最重要的步骤都有工具自动完成。只需build_system, package_system,等上几十分钟就能得到一个可直接运行的安装包。

SDAccel不需要你真的有一块开发板,它可以直接用CPU仿真,便于调试。

SDAccel既能使用图形界面开发(类似HLS),又能在命令行执行。上传一张谍照。



小结

使用OpenCL的一大优势就是,只需将原来CPU、GPU上的C、C++、CUDA代码做些许改动就能运行在FPGA上。

两种工具都带来了一定开发上的便利,但真想用好这些工具,仍然需要对计算架构、算法本身有深入的理解。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
DSP+ZYNQ硬件说明手册-XQTyer【开源】
XQ6657Z35/45-EVM 高速数据处理评估板(XQTyer 评估板)由广州星嵌电子科技有限公司自主研发,包含一片TI DSP TMS320C6657和一片Xilinx ZYNQ-7000 SoC 处理器XC7Z035-2FFG676I。适用于无人机蜂群、软件无线电系统,基带信号处理,无线仿真平台,高速图像采集、处理等领域。
23 0
Wujian SoC 平台_FPGA 编译|学习笔记
快速学习 Wujian SoC 平台_FPGA 编译
80 0
5.0 芯片SDK开发:芯片SDK概念|学习笔记
快速学习5.0 芯片SDK开发:芯片SDK概念
504 0
Wujian SoC 平台_介绍|学习笔记
快速学习 Wujian SoC 平台_介绍
52 0
详细指南:在WSL上使用NVIDIA SDK manager给Jetson烧录系统
总所周知,使用emmc作为内部存储的jetson设备,烧录系统是需要Linux设备作为主机(Host)的,这意味着你要么需要一台Linux电脑、要么需要在Windows系统上安装虚拟机。但是都2022年了,WSL的方法应当成为主流,因此介绍如下方法。 整体来说,WSL烧录要比在Linux主机、虚拟机下要繁琐一点点,但没什么太大的差别。这篇《使用WSL给Jetson烧录系统指南》献给热爱折腾、追求优雅的你
756 0
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装(一)
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装
49 0
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装(二)
ZYNQ - 嵌入式Linux开发 -04- petalinux和Xilinx_SDK2018.3安装
206 0
Xines广州星嵌 DSP+ARM+FPGA开发板XQ138AS-EVM OMAPL138+FPGA
XQ138AS-EVM是广州星嵌基于SOM-XQ138S核心板(OMAPL138+Xilinx FPGA)和SOM-XQ138A核心板(OMAPL138+AlteraFPGA)开发的DSP+ARM+FPGA三核评估套件,底板同时兼容两款核心板,用户可以采用该开发套件进行项目前期的验证和评估,也可以直接用来开发自己的产品。OMAPL138+FPGA
69 0
SOM-XQ6657Z45工业级核心板DSP+ARM+FPGA C6657 ZYNQ7035/45
一款基于TI KeyStone 架构C6000 系列TMS320C6657 双核C66x定点/浮点DSP以及Xilinx Zynq-7000 系列XC7Z035/045 SoC 处理器设计的工业级核心板。
125 0
RISC-V生态开发套件解析(五):LicheeRV 86开发板BSP SDK开发和Xboot 镜像体验
随着RISC-V生态的蓬勃发展,相关开源开发套件也开始逐渐丰富。为了帮助开发者快速了解、玩转新推出的RISC-V开发套件,OCC推出RISC-V生态开发套件解析系列内容,详细讲解生态开发套件的功能特点与上手教程。
260 0
+关注
以亭
CSDN卜居是也
文章
问答
文章排行榜
最热
最新
相关电子书
更多
AliOS Things 电源管理框架
立即下载
ST + AliOS > Smart IoT !
立即下载
ST+AliOS > Smart IoT !
立即下载