Skip to content

[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

Merged
merged 5 commits into from
Mar 14, 2021

Conversation

mdtoguchi
Copy link
Contributor

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.

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.
@mdtoguchi mdtoguchi requested a review from AGindinson as a code owner March 9, 2021 18:37
Copy link
Contributor

@AGindinson AGindinson left a 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.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
AGindinson
AGindinson previously approved these changes Mar 9, 2021
Copy link
Contributor

@AGindinson AGindinson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mdtoguchi
Copy link
Contributor Author

@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, -fintelfpga should only change the defaults and expected usage of dependencies.

Copy link
Contributor

@AGindinson AGindinson left a 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.

@mdtoguchi
Copy link
Contributor Author

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.

@mdtoguchi mdtoguchi requested a review from AGindinson March 10, 2021 18:53
@bader bader merged commit c9a65fc into intel:sycl Mar 14, 2021
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Mar 15, 2021
* 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)
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Mar 19, 2021
* 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)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants