5

是否可以在用户在 SoC 原型板上设计的系统上运行 OpenCL?更具体地说,我有一个具有双 ARM 内核和可编程逻辑 (PL) 区域的 ZedBoard (Xilinx Zynq)。如果我自己设计一个简单的系统,它在逻辑区域中实现了视频处理加速器、ARM 内核和 AXI 互连,我需要做什么才能为这个简单的系统提供 OpenCL 支持?(在这个简单的系统中,ARM 内核可以是“主机”,视频处理加速器可以是“设备”)。

我是一名学生,我只有一些关于 OpenCL 的基本知识。我已经研究了我的问题,结果只是让自己感到困惑。为 SoC 提供 OpenCL 支持需要做哪些事情?我知道这可能是一个大项目,但我需要一个从哪里开始以及如何进行的指南。

4

5 回答 5

1

我需要做什么才能为这个简单的系统提供 OpenCL 支持?

实现一个使用 ARM CPU 或 FPGA(或两者)的 OpenCL 平台。我会说这对你来说几乎是不可能的。如果容易的话,ARM 肯定会为 CPU 提供一个(而且他们肯定有财力聘请有能力的工程师/计算机科学家),并且在 FPGA 上实现加速器需要深入了解 FPGA 开发以及编译器理论和系统设计经验。我不想听起来刻薄,但你似乎没有这三个。

你问从哪里开始;我建议只编写第一个加速器,例如将数字向量相加;一旦你有了这个,你就会对你的任务有一个更清晰的想法。

如果您想查看参考资料: Ettus USRP E310是一款基于 zynq 的 SDR 设备。Ettus 有一项名为 RFNoC 的技术,它允许用户编写自己的块来推送数据。请注意,这需要相当多的工程师和相当长的时间才能开始。进一步注意,它比实现将 OpenCL 转换为 FPGA 实现的东西要容易得多。

于 2015-06-30T16:21:33.007 回答
1

如果您可以访问 Xilinx 工具: Vivado HLS 15.1 系统版应该编译 OpenCL 内核。这也将包含在 SDAccel 工具套件中。

来源:UG973:Vivado Design Suite 用户指南发行说明、安装和许可

另一种选择可能是切换到 Altera。它们为可与 Xilinx Zynq 器件(也包括 ARM Cortex-A9)相媲美的 Altera Cyclone V SoC 提供了一些很好的示例: AlteraSDK for OpenCL

于 2015-07-01T07:11:29.217 回答
1

我也是一名学生,我目前的项目也在朝着类似的方向发展,我已经在zedboard上成功安装了一个名为POCL的opencl版本,它成功检测到了zedboard的arm cpu。要安装 pocl,您还需要 llvm 和一大堆其他东西。但是下面给出了在 zedboard 上获取 pocl 的基本步骤:-

  1. 安装 pocl:

http://www.hosseinabady.com/install-pocl-opencl

  1. 运行示例: http: //www.hosseinabady.com/embedded-system-by-examples/opencl_embedded_system/opencl-vector-addition

  2. 大量依赖:可以轻松解决

但 LLVM 确保为 pocl 0.9 安装 3.4 版本

  1. 安装llvm的步骤

https://github.com/pacs-course/pacs/wiki/Instructions-to-install-clang-3.1-on-ubuntu-12.04.1-and-12.10

POCL 0.9 成功地为我工作,当您安装时,您将面临许多其他缺失的依赖项,例如 hwloc、mesa 库、打开 gl/cl 标头 icd 加载器,我希望您可以将它们作为一个非常大的列表放入堆栈中解决溢出。

为了将您的 fpga 检测为开放 cl 设备,这不是一件容易的事,您可以参考我在 github 上发布的这个链接问题

https://github.com/pocl/pocl/issues/285

还有一篇由 hosseinbady 发表的研究论文,可在 pocl 网站上的出版物链接上找到

http://pocl.sourceforge.net/publications.html

希望这对你有帮助

于 2015-12-19T11:01:55.463 回答
0

试试 ARM OpenCL SDK。Zedboard 有一个 ARM A9 CPU,它应该有一个 可以运行 OpenCL的 NEON SIMD 矢量单元http://www.arm.com/products/processors/technologies/neon.php 。请参阅 http://www.arm.com/products/multimedia/mali-technologies/opencl-for-neon.php

Zedboard 未被列为符合 OpenCL 的平台https://www.khronos.org/conformance/adopters/conformant-products#opencl。因此,ARM 驱动程序有可能无法正常工作。

祝你好运!

于 2015-06-30T18:38:27.813 回答
-1

如果仍然相关,请尝试 ZYNQ 上的这篇论文OpenCL [PDF]

另请注意,Zynq-7000 列在https://www.khronos.org/conformance/adopters/conformant-products#opencl ( OpenCL_1_0 ) 上,因此具有兼容性。

于 2017-06-25T22:59:43.167 回答