基于FPGA的Opencl学习笔记1--hello world

以windows为例

1. 首先是工具的安装,FPGA可以到官网下载opencl pro的版本。Visual studio使用2017版本。社区版应该也可以使用,不过前面走了一些弯路,以为必须要专业版。

2. 由于kernel需要在命令行下编译,因此VC 环境要先进行设定:

  cdC:\Program Files (x86)\Microsoft VisualStudio\2017\Professional\VC\Auxiliary\Build

  运行vcvars64.bat

这一步骤没做的话,可能会报 linker错误。

3. 编译kernel

官网上download  hello_world的example

切换到工作目录下:

aoc -march=emulator -v -board=a10gxdevice\hello_world.cl -o bin\hello_world_emulation.aocx

注意:可以敲入aoc来看这些命令参数的含义。官方文档中的start guide有误, -O后面的参数要用空格,而不能用等号。另外目录结构与这个可能不同。

4. host编译

要进行host编译,VS需要进行一些设定,否则会提示找不到cl文件:

  VS中:视图->其他窗口->属性管理器,

 c++中附加包含目录:D:\Program Files (x86)\Intel\OpenCLSDK\6.3\include

   emulator时,链接器->常规附加包含库:C:\intelFPGA_pro\17.1\hld\host\windows64\lib

链接器->输入: 增加OpenCL.lib

点击编译解决方案。

5. PC端模拟运行

在生成host的bin文件夹底下,命令行模式:

setCL_CONTEXT_EMULATOR_DEVICE_INTELFPGA=a10gx

注意:a10gx 是仿真运行用的参考开发板名称。

将hello_world_emulation.aocx文件更名为hello_world.aocx(这是因为host中调用的是hello_world),并放在host的同一目录中。

然后运行host

 


6. 板上运行的aocx文件生成:

只要在编译kernel时,把-march=emulator去掉


猜你喜欢

转载自blog.csdn.net/weixin_38712697/article/details/80212157
今日推荐