1. Lab Cloud平台已经安装有OpenCL环境 。

2. 下载北京交通大学王东教授开源代码:PipeCNN-master.tar.gz 链接: https://pan.baidu.com/s/1yzfNqnyHm-VqQ5Uhx-bKtw 提取码: tera

3. 通过Lab Cloud平台的文件上传功能将PipeCNN-master.tar.gz传至云节点。解压到当前路径下。

 

4.进入PipeCNN-master/project/device/RTL路径下,打开终端,输入 make。

5.修改project/Makefile内容如下:

  • PLATFORM=arm32

  • 添加BSP_DIR = /root/intelFPGA/18.1/hld/board/de_cloud 

6. 修改PipeCNN-master/project/device/hw_param.cl文件内容如下:

  • VEC_SIZE 8
  • LANE_NUM 8

7. 在conv_pipe.cl里面加入 #pragma OPENCL EXTENSION cl_intel_channels : enable

 

8. 删除project路径下的conv.aocx文件,在linux终端进入 PipeCNN-master/project 路径下, 输入make clean,再执行 make fpga,最终在PipeCNN-master/project路径下会产生一个conv.aocx文件。

9.编译host时还需要继续修改project/Makefile文件去指定当前opencv路径。对于当前Lab Cloud 上对应的DE_Cloud板卡环境需要修改如下:

  • OCV_LIBS后面添加 -lopencv_imgcodecs

  • 修改路径 /usr/local/lib  

  • 修改路径 /usr/local/include

10. 将PipeCNN-master/project/host/layer_config.h文件当中的393行char型定义改成signed char型。

 11. 保留如下这些文件,其他的都删除。(减少文件体积,方便后面将文件传输给云平台开发板。)

 

 

12. 测试图像使用的是ImageNet(ILSVRC2012_img_test.zip)。然后点击SoC传输将PipeCNN-master文件夹和ILSVRC2012_img_test.zip文件(下载链接: https://pan.baidu.com/s/1Agx0qZs55aZWM58c-Wng8A 提取码: tera)传到DE_Cloud开发板的LXDE桌面。

13. 将ILSVRC2012_img_test.zip解压到/home/root路径

14. 点击SoC桌面进入DE_Cloud开发板的 LXDE桌面

145 按照下图打开Linux的终端

 

16. 用命令cd OpenCL 切换到OpenCL文件夹,用命令source ./init_opencl.sh进行OpenCL runtime初始化

17. 切换路径到PipeCNN-master/project/下执行make host就会在当前路径下生成run文件

18. 配置FPGA使用命令aocl program /dev/acl0 conv.aocx

19. 运行host 直接执行命令./run conv.aocx

运行结束,便可以得到分类结果。