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

Link devicelib during device code compilation #15114

Closed
wants to merge 2 commits into from

Conversation

MartinWehking
Copy link
Contributor

@MartinWehking MartinWehking commented Aug 16, 2024

Note: This patch is based on 15048 (Not merged yet)
and links against the final resulting bitcode library that is created through that patch

Use the -mlink-builtin-bitcode flag to link the CUDA devicelib
during device code compilation instead of generating a separate
llvm-link action in the driver.

Add a new flag to exclude linking of libdevice completely.

Add a new error in case that the cuda devicelib file can not be found.

Martin Wehking added 2 commits August 13, 2024 14:39
Create one single bitcode library for NVPTX by compiling each
libdev file into bitcode first, linking these together and running
opt on them.

Strip away metadata by reusing prepare_builtins from libclc.

Remove NVPTX bundles from the libdev object files and remove any
unbundling action spawned by the Clang driver for the SYCL toolchain
when compiling for the NVPTX backend.

Make the driver link against the single bitcode libraries for NVPTX
for the SYCL toolchain when device library linkage is not excluded.

Ensure that the clang tests check for the correctness of the new
clang driver actions and check if the driver still links the device
code against the itt device libraries when device library linkage has
been excluded.

Refactor SYCLLibdevice.cmake by creating functions and grouping
e.g. the same compilation flags for a filetype together in one variable.
Reuse these variables and call functions to remove redundancies.
Use the -mlink-builtin-bitcode flag to link the CUDA devicelib
during device code compilation instead of generating a separate
llvm-link action in the driver.

Add a new flag to exclude linking of libdevice completely.

Add a new error in case that the cuda devicelib file can not be found.
@MartinWehking
Copy link
Contributor Author

Closed, see discussions in #15083

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.

1 participant