Skip to content

[Driver][SYCL] Fix processing when using -fsycl-link #1765

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 1 commit into from
May 31, 2020

Conversation

mdtoguchi
Copy link
Contributor

When using -fsycl-link, the expectation is for the generated object file
to be able to be linked in by a non-SYCL enabled compiler/linker. The
generated object did not contain the proper device binary. Fix this up
to go through all of the proper steps to create the wrapped .spv.

Signed-off-by: Michael D Toguchi michael.d.toguchi@intel.com

AGindinson
AGindinson previously approved these changes May 28, 2020
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.

LGTM.
As a follow-up idea, could we schedule more E2E tests like sycl/test/separate-compile/, including the -fsycl-link flow?

@mdtoguchi
Copy link
Contributor Author

LGTM.
As a follow-up idea, could we schedule more E2E tests like sycl/test/separate-compile/, including the -fsycl-link flow?

Creation of E2E testing revealed this problem, so this is covered.

When using -fsycl-link, the expectation is for the generated object file
to be able to be linked in by a non-SYCL enabled compiler/linker.  The
generated object did not contain the proper device binary.  Fix this up
to go through all of the proper steps to create the wrapped .spv.

Signed-off-by: Michael D Toguchi <michael.d.toguchi@intel.com>
@mdtoguchi mdtoguchi force-pushed the private/mdtoguchi/fsycl-link-spirv branch from 3f0ed96 to 4cc0474 Compare May 29, 2020 18:11
@bader bader merged commit 2623abe into intel:sycl May 31, 2020
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request Jun 2, 2020
* upstream/sycl:
  [SYCL] Handle KernelName templated using type with enum template argument (intel#1780)
  [SYCL] Fix KernelNameInfo generated for empty template parameter pack (intel#1775)
  [SYCL] Do not export utility methods from SYCLMemObjT (intel#1768)
  [Driver][SYCL] Fix processing when using -fsycl-link (intel#1765)
  [SYCL][NFC] Remove outdated confusing comment (intel#1779)
  [SYCL][NFC] Wrap classes in .cpp into a namespace to disable external linkage. (intel#1776)
  [SYCL][CUDA] Fixes CUDA unit tests that uses SYCL directly (intel#1763)
  [SYCL][Doc] Fix default device selection rules doc (intel#1769)
  [SYCL][CUDA] Remove pi Event Callback implementation (intel#1735)
  [SYCL] Throw exception if range/offset of kernel execution exceeds INT_MAX (intel#1713)
  [SYCL-PTX] Add intermediate layer to libclc to ease type management (intel#1712)
Fznamznon pushed a commit to Fznamznon/llvm that referenced this pull request Dec 14, 2022
The ptr_annotation/var_annotation/annotation intrinsics gained
additional overloads which means we have to update calls to
Intrinsic::getDeclaration()/Builder.CreateIntrinsic().

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@41d2056
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.

3 participants