Skip to content
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

[SYCL][Driver] Fix suggested target triple in the warning message #4475

Merged
merged 1 commit into from
Sep 7, 2021

Conversation

bader
Copy link
Contributor

@bader bader commented Sep 2, 2021

The warning message emitted for deprecated target triple includes
suggested target triple to be used instead of deprecated one. Currently
it prints only architecture component of the target triple, which works
only for SPIR target architecture. Non-SPIR targets may support multiple
vendor/OS components, so users are expected to specify the full triple.
This patch fixes the warning message and suggests all components set
before deprecated sycldevice environment component if they are not
"unknown" (which is default and can be omitted).

The warning message emitted for deprecated target triple includes
suggested target triple to be used instead of deprecated one. Currently
it prints only architecture component of the target triple, which works
only for SPIR target architecture. Non-SPIR targets may support multiple
vendor/OS components, so users are expected to specify the full triple.
This patch fixes the warning message and suggests all components set
before deprecated `sycldevice` environment component if they are not
"unknown" (which is default and can be omitted).
@bader bader added cuda CUDA back-end hip Issues related to execution on HIP backend. compiler Compiler related issue labels Sep 2, 2021
@bader bader linked an issue Sep 2, 2021 that may be closed by this pull request
bader referenced this pull request Sep 3, 2021
Today DPC++ compiler requires users to set "sycldevice" target triple component to separate SYCL compilation mode for SPIR target from other compilation mode (e.g. OpenCL).
Triple environment component is not intended to be used in such context and this patch removes `sycldevice`.

This patch also preserves backward compatibility with binaries built using old versions of the compiler, which enforced `sycldevice` environment component of the target triple. It's provided by `clang-offload-bundler` tool, which now implicitly looks for the additional SYCL offload kind bundle with a "legacy" triple.
A driver warning was added to let users know that `sycldevice` environment component is ignored now.
@bader bader requested a review from mdtoguchi September 3, 2021 09:22
@bader bader merged commit 7cc89fa into intel:sycl Sep 7, 2021
@bader bader deleted the warning-update branch September 7, 2021 16:36
DoyleLi pushed a commit to DoyleLi/intel_llvm that referenced this pull request Sep 13, 2021
…tel#4475)

The warning message emitted for deprecated target triple includes
suggested target triple to be used instead of deprecated one. Currently
it prints only architecture component of the target triple, which works
only for SPIR target architecture. Non-SPIR targets may support multiple
vendor/OS components, so users are expected to specify the full triple.
This patch fixes the warning message and suggests all components set
before deprecated `sycldevice` environment component if they are not
"unknown" (which is default and can be omitted).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler Compiler related issue cuda CUDA back-end hip Issues related to execution on HIP backend.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[SYCL][ROCM] amdgcn flag shows lld errors
2 participants