Skip to content

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