|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
出于工作需求,申请了这两家的高级语言综合工具,对典型算法进行了实现和评估(数据暂时保密)。
' R; R8 ^" E' G* }9 j) g! O3 A' V2 B) ` R
% [8 U+ q3 x' Z! {简要谈谈使用体验。# M* U) ?; |7 H( e7 E
; i9 G# B# x% B# _* B8 J! W$ }% v5 P
6 I. K7 {& }* b* }, q P% L+ m
2 A" d" K5 D# @% e4 K1. Altera OpenCL SDK: v3 K) P, ~5 ?# j' l4 X
4 k2 c/ J0 K. }1 Q
! l' A+ ]6 g B首先需要安装Quartus(13.1版本以上)和配套的SoC EDS,分别申请两个license,一个用于OpenCL SDK,一个用于SoCEDS,缺一不可。
5 h. U6 X5 w* O. ~, S- S: ]+ e) C k; z* _4 o
7 M5 X( l! `+ \然后需要有实现平台,我用的是DE1-SoC开发板。该平台提供了Open CL BSP,用给出的examples改改就能实现自己的算法。6 \ G9 N C v
; {, p2 T' z" \" _
5 p$ p1 X0 B& c3 O0 Z- rSoCEDS用来编译Host代码,这里是ARM;
$ W/ ~$ Y. m1 F; Z' x
( k- V( }7 ^$ P
1 B% i4 }+ W. U4 BOpen CLSDK用来编译device代码,生成.aocx二进制文件,运行时需要借助ARM对FPGA进行配置。
( j( t1 r8 v$ T O L2 I5 M5 k4 d/ n0 ]$ P* m: q# y
& f) Q. w1 v! T5 f
开发周期较长的是编译Open CL工程,在我的笔记本(CPU 酷睿i5-4300,8GB内存)上大约需要40min。! G8 @4 g& W7 x1 C$ @0 J1 P
' y: O% i$ p2 t* s
/ [1 B. l2 a+ E2 C. W7 X& ^优化Open CL可以通过编译选项、编译指导语句#pragma进行。. R, n3 C9 H2 r/ w2 W2 l3 Z" O
! A" ^9 r% \: `4 d+ u! B" `2 L# Z, j4 a4 V1 c% A
Open CL BSP自带的硬件工程可以用Quartus打开查看,但里面的Open CL相关逻辑是加密的,无法修改。
: X( K' T c2 C5 t8 |# y+ ]4 S. j8 {7 v& U8 O/ O
& E! r9 y$ i `3 TOpen CL SDK不带图形界面,只能在命令行下运行,自动调用quartus_map, quartus_fit, quartus_sta等工具。6 T1 c- e- x; B H. E
* U4 \$ |# h' X
+ Z9 L9 [, Z/ s# I& k# H* z: X3 ?8 ~
- y0 l4 r+ y- b m. M
+ ~! O n. P6 G2 y9 z8 k: t/ r# p* c T& @$ a
2. Xilinx SDAccel# ]) ~# u, N( _6 H8 G& s: R
( E4 d, ?' f9 r/ Z" b
. C+ u' p8 Z3 E- V# C$ p
; X; T+ {6 [/ O7 ?# B( ^
' x. u; ~5 S% L3 R% {. [& C, ~
3 W( h3 k! f: b) X2 _2 M1 ]
1 @1 s7 P. K2 E8 Z( ~
7 W1 v [& A- Q$ \. k |
|