-
Notifications
You must be signed in to change notification settings - Fork 552
Description
Versions of Intel's oneAPI Basekit after 2023.2 have changed the CMake workflow for using SYCL with Intel's compiler. Therefore, currently building ArrayFire with CMake and the Visual Studio Generator is not possible.
Description
-
Additional details about the errors during the build:
-
Setting the language of a source file to SYCL causes the Visual Studio Generator to ignore and not set any Build Step to it. The first errors caused by this are observed on the
sort_by_key_${SBK_TYPE}targets required by targetafoneapi -
When adding SYCL to a target, the DPL includes are by default not added to the include directories of the targets causing a include not found compilation error on the
#include <oneapi/dpl/algorithm>lines.
-
-
What do you suspect is causing the issue?/Fixes
- According to Intel oneAPI DPC++ Compiler Reference, a
find_package(IntelSYCL REQUIRED)andadd_sycl_to_targetlines are required in CMake to force a source file to be build with a SYCL compiler. Furthermore, a newer CMake version requisites must also be set. - To fix this, a
find_package(oneDPL REQUIRED)must be added for cmake to find the dpl package. Then, it must be added to the include directories of the target.
- According to Intel oneAPI DPC++ Compiler Reference, a
-
Which steps in the (wiki)[https://github.com/arrayfire/arrayfire/wiki] failed:
cmake --build . --target afoneapi -
What operating system and/or distro are you using?: Windows 10/11
-
Versions of the packages related to this bug: oneAPI Basetoolkit >= 2023.2
For more information look at the PR #3610