我正在考虑用英特尔的SYCL和pocl构建sycl和OpenCL环境,并在ARM CPU板上编译运行。
理论上,我认为如果英特尔sycl支持交叉编译,这是可能的。你能告诉我一些意见或建议吗?
发布于 2020-04-03 17:22:17
通过使用CMake和正确的工具链文件,可以很容易地使用Codeplay的SYCL实现ComputeCpp来实现这一点。在computecpp-sdk/cmake/toolchains/arm-gcc-poky.cmake,中的ComputeCpp SDK中有一个Arm工具链文件,您可以在下面的示例命令中使用它。您需要将每个路径替换为您自己的路径。例如,使用以下命令,您可以构建computecpp-sdk源代码,生成的二进制文件将在目标arm设备上运行。在二进制文件上使用文件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 ..https://stackoverflow.com/questions/61007352
复制相似问题