-
Notifications
You must be signed in to change notification settings - Fork 768
[Driver][SYCL][FPGA] Improve FPGA AOT when using Triple #3330
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
Behaviors for enabling AOT for FPGA is allowed when using both -fintelfpga and -fsycl-targets=spir64_fpga-unknown-unknown-sycldevice. Improve the usage when using the -fsycl-targets method as we were a bit too reliant on -fintelfpga for some checks, causing some of the tool chain construction to fail. Use of -fintelfpga should effectively only enable specific settings such as debug and dependency generation.
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.
Nice rework, thanks! Just some minor suggestions/questions.
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.
Some additional places that might require similar rework:
https://github.com/intel/llvm/blob/sycl/clang/lib/Driver/Driver.cpp#L3988
https://github.com/intel/llvm/blob/sycl/clang/lib/Driver/Driver.cpp#L4744
https://github.com/intel/llvm/blob/sycl/clang/lib/Driver/Driver.cpp#L5207
https://github.com/intel/llvm/blob/sycl/clang/lib/Driver/Driver.cpp#L6156
https://github.com/intel/llvm/blob/sycl/clang/lib/Driver/Driver.cpp#L6206
Do these need to be addressed now (or ever)?
P.S. I might have duplicated some that are fixed by the change, will edit out.
@AGindinson, some of the locations you mentioned are already covered. But looking through a couple of them, they should be addressed now (which is an oversight on my part). I will make additional adjustments. Ideally, |
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.
The code LGTM, however the pre-commit failure seems to be relevant to the changes. Could you please take a look at that? It would seem like reverting some of the new changes might be necessary to avoid that.
Thanks - found an issue with how the fpga triple was being discovered - made adjustments accordingly. |
* upstream/sycl: Add ITT stubs and wrappers for SPIR-V devices (intel#3279) [SYCL] Add zero argument version of buffer::reinterpret() for SYCL 2020 (intel#3333) [SYCL] Restore old behavior of get() method (intel#3356) [Driver][SYCL][FPGA] Improve FPGA AOT when using Triple (intel#3330) [SYCL] Revert support for pinned_host_memory extension in Level-Zero backend. Make it a NOP (intel#3349) [SYCL] Remove redundant build options processing (intel#3342) [SYCL][NFC] Factor out GenXIntrinsics git repo tag. (intel#3351) [SYCL] Add coarse-grained debug aid for finding imbalance in Level-Zero alloc/free (intel#3334) [SYCL] Sub-group load/store for raw pointers (intel#3255) [SYCL] Fix more unused variables warnings (intel#3352) [BuildBot] Uplift CPU/FPGAEMU RT version for CI Process (intel#3338)
* upstream/sycl: (1804 commits) [SYCL] SYCL 2020 backend interoperability part 1 (intel#3354) [Driver][SYCL] Address issue when unbundling for non-FPGA archive (intel#3366) [SYCL][Doc] Update compiler options descriptions (intel#3340) [SYCL] Update ABI dump tool to disable checks with libcxx by default (intel#3370) [SYCL] Update the way we handle -sycl-std= based on community review feedback (intel#3371) [SYCL] Move tests to llvm-test-suite (intel#3359) [SYCL][PI][L0] Revert copy batching from intel#3232 (intel#3363) [SYCL] Remove unsupported option. [SYCL] Fix pragma setting in sycl-post-link (intel#3358) [SYCL] Add ITT annotation instructions (intel#3299) [SYCL] Propagate attributes of original kernel to wrapper kernel generated for range-rounding (intel#3306) [BuildBot] Uplift GPU RT version for Linux to 21.09.19150 (intel#3316) [SYCL] Retain PI events until they have signaled (intel#3350) [SYCL] Add caching when using interop constructor (intel#3327) Add ITT stubs and wrappers for SPIR-V devices (intel#3279) [SYCL] Add zero argument version of buffer::reinterpret() for SYCL 2020 (intel#3333) [SYCL] Restore old behavior of get() method (intel#3356) [Driver][SYCL][FPGA] Improve FPGA AOT when using Triple (intel#3330) [SYCL] Revert support for pinned_host_memory extension in Level-Zero backend. Make it a NOP (intel#3349) [SYCL] Remove redundant build options processing (intel#3342) ...
Behaviors for enabling AOT for FPGA is allowed when using both
-fintelfpga and -fsycl-targets=spir64_fpga-unknown-unknown-sycldevice.
Improve the usage when using the -fsycl-targets method as we were
a bit too reliant on -fintelfpga for some checks, causing some
of the tool chain construction to fail.
Use of -fintelfpga should effectively only enable specific settings
such as debug and dependency generation.