Skip to content

Conversation

@mdtoguchi
Copy link
Contributor

This is try #2 for this - original change was suspected of breaking the device library builds.

This change represents 2 changes.

  1. Update the build to create LLVM-IR based device libraries.

This is done by using the existing -fsycl-device-only functionality to create the device libraries that are used during device link.

  1. Update the compiler driver to use the LLVM-IR based device libraries.

When performing the device linking instead of performing a full unbundle of the device libraries and using the device binary that was extracted.

This streamlines the device linking behaviors, completely removing the cumbersome unbundling step from the process, freeing up a number of exteral tool calls.

This is try intel#2 for this - original change was suspected of breaking the
device library builds.

This change represents 2 changes.
1.  Update the build to create LLVM-IR based device libraries.

This is done by using the existing -fsycl-device-only functionality to
create the device libraries that are used during device link.

2.  Update the compiler driver to use the LLVM-IR based device
    libraries.

When performing the device linking instead of performing a full unbundle
of the device libraries and using the device binary that was extracted.

This streamlines the device linking behaviors, completely removing the
cumbersome unbundling step from the process, freeing up a number of
exteral tool calls.
@mdtoguchi mdtoguchi requested review from a team as code owners April 30, 2024 18:17
@mdtoguchi mdtoguchi closed this Apr 30, 2024
@mdtoguchi mdtoguchi reopened this Apr 30, 2024
@mdtoguchi mdtoguchi requested a review from asudarsa May 1, 2024 00:15
@mdtoguchi mdtoguchi temporarily deployed to WindowsCILock May 1, 2024 00:48 — with GitHub Actions Inactive
@asudarsa
Copy link
Contributor

asudarsa commented May 1, 2024

The AMD/HIp failure is unrelated and has been reported here (Thanks Yury Plyakhin)
#13612

Thanks

Copy link
Contributor

@asudarsa asudarsa left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks

@sarnex
Copy link
Contributor

sarnex commented May 1, 2024

My bad on this one, I've never seen the docker image get destroyed before!

@mdtoguchi
Copy link
Contributor Author

@intel/dpcpp-clang-driver-reviewers, @intel/llvm-reviewers-runtime, please review. The original change was reverted due to some build problems that started occurring about the same time as the original PR being merged. Turns out that these changes were not the offending issue and can be re-applied.

Copy link
Contributor

@hchilama hchilama left a comment

Choose a reason for hiding this comment

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

Driver Changes LGTM

@asudarsa
Copy link
Contributor

asudarsa commented May 2, 2024

@intel/llvm-gatekeepers , please merge. AMD/HIP failure is not related. I see other PRs have it as well:

Thanks

Copy link
Contributor

@steffenlarsen steffenlarsen left a comment

Choose a reason for hiding this comment

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

LGTM!

@steffenlarsen steffenlarsen merged commit e17632f into intel:sycl May 2, 2024
@hdelan
Copy link
Contributor

hdelan commented May 2, 2024

Would it make sense to bundle all of these bc objs into a single bc library, like the way libclc is built? Then you would have a single devicelib library for each triple (or maybe a single bc lib for each triple-os pair).

Or is there some reason for keeping the devicelib objs split per TU?

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.

6 participants