[Build] Fix Build setup for oneAPI backend on Windows
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- cmake, cpp
- 領域
- build-system
調査の方向性
まず afoneapi ターゲットの CMake 構成と関連する PR #3610 を確認し、oneAPI Basekit 2023.2 以降を使用する Windows 上で cmake --build . --target afoneapi を実行して失敗を再現します。Visual Studio Generator が sort_by_key targets と oneDPL headers を含めて afoneapi のビルドに成功すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- C++
- スター
- 4.9k
- フォーク
- 555
- 平均マージ
- 1時間 24分
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
arrayfire/arrayfire のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
arrayfire/arrayfire の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
duckdb/duckdb-wasm#2258 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
objectionary/eo-graphs#75 ·
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend オープンcoarray
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
FISCO-BCOS/FISCO-BCOS#5642 ·