EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——Altera OpenCL SDK与Xilinx SDAccel的使用对比 9 l8 ^8 C; W/ F) E! z- a
' s8 A" h% k X1 M出于工作需求,申请了这两家的高级语言综合工具,对典型算法进行了实现和评估(数据暂时保密)。 简要谈谈使用体验。 # X8 d# @4 ?$ F% l ], ~; |3 K; L
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等工具。 . @, @/ b0 H$ x3 s" L' J4 M3 X7 ^
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),又能在命令行执行。上传一张谍照。 ![]()
: ?8 K& h& f" r; A# O8 ^. Z: c3 u% l1 x, i) r0 l6 |
! I0 q& |3 s6 q' D |