-
Notifications
You must be signed in to change notification settings - Fork 808
[SYCL][UR] Add dynamic linking and program flags #20272
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
base: sycl
Are you sure you want to change the base?
Conversation
This commit adds two new experimental parts: 1. A new UR function `urProgramDynamicLinkExp` for dynamically linking binaries in built programs. Support for this can be checked by querying `UR_DEVICE_INFO_DYNAMIC_LINK_SUPPORT_EXP`. 2. A new flag enum `ur_exp_program_flags_t` used by exp-multi-device-compile functions. This enum currently only has a single flag `UR_EXP_PROGRAM_FLAG_ALLOW_UNRESOLVED_SYMBOLS` which instructs the `urProgramLinkExp` function that unresolved external symbols should be allowed after linking. Signed-off-by: Larsen, Steffen <[email protected]>
pDdiTable->pfnBuildExp = urProgramBuildExp; | ||
pDdiTable->pfnCompileExp = nullptr; | ||
pDdiTable->pfnLinkExp = nullptr; | ||
pDdiTable->pfnDynamicLinkExp = nullptr; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the offload adapter not provide a value for UR_DEVICE_INFO_DYNAMIC_LINK_SUPPORT_EXP
as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good eye! I totally missed this. Most likely because I grepped for UR_DEVICE_INFO_MULTI_DEVICE_COMPILE_SUPPORT_EXP
which isn't covered by the offload adapter currently. Neither is UR_DEVICE_INFO_USM_P2P_SUPPORT_EXP
I've noticed.
Signed-off-by: Larsen, Steffen <[email protected]>
Signed-off-by: Larsen, Steffen <[email protected]>
This commit adds two new experimental parts:
urProgramDynamicLinkExp
for dynamically linking binaries in built programs. Support for this can be checked by queryingUR_DEVICE_INFO_DYNAMIC_LINK_SUPPORT_EXP
.ur_exp_program_flags_t
used by exp-multi-device-compile functions. This enum currently only has a single flagUR_EXP_PROGRAM_FLAG_ALLOW_UNRESOLVED_SYMBOLS
which instructs theurProgramLinkExp
function that unresolved external symbols should be allowed after linking.