intel sycl 支持提前编译和交叉编译ARM?
Posted
技术标签:
【中文标题】intel sycl 支持提前编译和交叉编译ARM?【英文标题】:intel sycl supports a-head-of time compile and cross-compile ARM? 【发布时间】:2020-04-03 07:54:54 【问题描述】:我正在考虑用 intel sycl 和 pocl 构建 SYCL 和 OpenCL 环境,提前编译并在 ARM CPU 板上运行。
理论上,如果intel sycl 支持交叉编译,我认为这是可能的。你能告诉我一些意见或建议吗?
【问题讨论】:
【参考方案1】:使用 ComputeCpp(Codeplay 的 SYCL 实现)可以很容易地使用 CMake 和正确的工具链文件来做到这一点。在 computecpp-sdk/cmake/toolchains/arm-gcc-poky.cmake 中的ComputeCpp SDK 中有一个 Arm 工具链文件,您可以在以下示例命令中使用它。您需要用自己的路径替换每条路径。例如,使用此命令,您可以构建 computecpp-sdk 源代码,生成的二进制文件将在目标 arm 设备上运行。在二进制文件上使用 file Linux 命令将验证已构建的二进制文件是否是目标的正确二进制文件类型。请注意,当使用上面引用的 ComputeCpp SDK 中的 FindComputeCpp.cmake 文件时,这将最有效。
cmake -DComputeCpp_DIR=/path/to/computecpp-ce-xyz-arm \
-DComputeCpp_HOST_DIR=/path/to/computecpp-ce-xyz-x86 \
-DOpenCL_LIBRARY=path/to/libOpenCL.so.1.2 \
-DOpenCL_INCLUDE_DIR=/path/to/opencl/include \
-DCMAKE_TOOLCHAIN_FILE=../computecpp-sdk/cmake/toolchains/gcc-generic.cmake \
-DCOMPUTECPP_BITCODE=spir64 ..
【讨论】:
以上是关于intel sycl 支持提前编译和交叉编译ARM?的主要内容,如果未能解决你的问题,请参考以下文章
ARM交叉编译器GNUEABINONE-EABIARM-EABIGNUEABIHF等的区别