-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][UR] Update CMake to enable easier local dev #11492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Changes look good 👍 Could you document the CMake variables somewhere as well? Maybe in the get started guide: |
For sure. |
5f77789
to
f504e6d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lovely stuff. This should make lives significantly easier
f504e6d
to
f113d65
Compare
f113d65
to
405ad7d
Compare
405ad7d
to
5e3d639
Compare
@intel/dpcpp-l0-pi-reviewers @intel/dpcpp-doc-reviewers @intel/llvm-reviewers-runtime this PR significantly improves the development workflow with the adapters in the UR repo, it would be highly appreciated if we can prioritize it and get it through quickly, Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc
change LGTM
5e3d639
to
af0894e
Compare
This patch introduces new ways to include the Unified Runtime source code in the CMake build, the default behaviour is unchanged. It introduces three new CMake variables: * `SYCL_PI_UR_OVERRIDE_FETCH_CONTENT_REPO` is a variable which can be used to override the `UNIFIED_RUNTIME_REPO` variable used by `FetchContent` to attain the Unified Runtime source code. * `SYCL_PI_UR_OVERRIDE_FETCH_CONTENT_TAG` is a variable which can be used to override the `UNIFIED_RUNTIME_TAG` variable used by `FetchContent` to attain the Unified Runtime source code. * `SYCL_PI_UR_USE_FETCH_CONTENT` is an option to control if CMake should use `FetchContent` to pull in the Unified Runtime repository, it defaults to `ON`. When set to `OFF`, `FetchContent` will not be used, instead: * The path specified by variable `SYCL_PI_UR_SOURCE_DIR` will be used with `add_directory()`. This can be used to point at an adjacent directory containing a clone of the Unified Runtime repository. * The path `sycl/plugins/unified_runtime/unified-runtime` will be used, if it exists. This can be used as-if an in-tree build. * `SYCL_PI_UR_SOURCE_DIR` is a variable used to specify the path to the Unified Runtime repository when `SYCL_PI_UR_USE_FETCH_CONTENT` is set of `OFF`. Additionally: * The logic using `UNIFIED_RUNTIME_LIBRARY` and `UNIFIED_RUNTIME_INCLUDE_DIR` was remove because `UNIFIED_RUNTIME_LIBRARY` has no other uses and the `if` statement would always be true. * The `unified_runtime` PI plugin is now always included in the CMake build.
af0894e
to
4ff80f1
Compare
@intel/llvm-gatekeepers this is ready to merge |
Failed Tests (1): |
Missing approval from @intel/dpcpp-l0-pi-reviewers |
Apologies, I missed that. |
This patch introduces new ways to include the Unified Runtime source code in the CMake build, the default behaviour is unchanged. It introduces three new CMake variables:
SYCL_PI_UR_OVERRIDE_FETCH_CONTENT_REPO
is a variable which can be used to override theUNIFIED_RUNTIME_REPO
variable used byFetchContent
to attain the Unified Runtime source code.SYCL_PI_UR_OVERRIDE_FETCH_CONTENT_TAG
is a variable which can be used to override theUNIFIED_RUNTIME_TAG
variable used byFetchContent
to attain the Unified Runtime source code.SYCL_PI_UR_USE_FETCH_CONTENT
is an option to control if CMake should useFetchContent
to pull in the Unified Runtime repository, it defaults toON
. When set toOFF
,FetchContent
will not be used, instead:SYCL_PI_UR_SOURCE_DIR
will be used withadd_directory()
. This can be used to point at an adjacent directory containing a clone of the Unified Runtime repository.sycl/plugins/unified_runtime/unified-runtime
will be used, if it exists. This can be used as-if an in-tree build.SYCL_PI_UR_SOURCE_DIR
is a variable used to specify the path to the Unified Runtime repository whenSYCL_PI_UR_USE_FETCH_CONTENT
is set ofOFF
.Additionally:
UNIFIED_RUNTIME_LIBRARY
andUNIFIED_RUNTIME_INCLUDE_DIR
was removed becauseUNIFIED_RUNTIME_LIBRARY
has no other uses and theif
statement would always be true.unified_runtime
PI plugin is now always included in the CMake build.