Intel sycl поддерживает оперативную компиляцию и кросс-компиляцию ARM?

Я подумываю создать среду SYCL и OpenCL с помощью Intel sycl и pocl путем быстрой компиляции и запуска их на плате процессора ARM.

Теоретически я думаю, что это возможно, если Intel sycl поддерживает кросс-компиляцию. Не могли бы вы дать мне какой-нибудь комментарий или совет.

1 ответ

Это можно сделать с помощью ComputeCpp, реализации SYCL в Codeplay, довольно легко с помощью CMake и правильного файла инструментальной цепочки. В ComputeCpp SDK есть файл инструментальной цепочки Arm, расположенный в computecpp-sdk / cmake / toolchains / arm-gcc-poky.cmake, вы можете использовать его в следующем примере команды. Вам нужно будет заменить каждый путь своим собственным. С помощью этой команды, например, вы можете собрать исходный код computecpp-sdk, и созданные двоичные файлы будут работать на целевом устройстве arm. Использование команды Linux для файла с двоичным файлом позволит проверить, является ли созданный двоичный файл правильным двоичным типом для вашей цели. Обратите внимание, что это будет работать лучше всего при использовании файла FindComputeCpp.cmake из ComputeCpp SDK, упомянутого выше.

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 ..
Другие вопросы по тегам