-
Notifications
You must be signed in to change notification settings - Fork 83
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
Add the cuda.core.experimental.Linker class #229
Conversation
1916359
to
81086e0
Compare
/ok to test |
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.
Thanks, Keenan! I haven't reviewed the tests yet (they seem OK from a quick glance). Left some comments below.
Please also modify docs/.../api.rst
to document LinkerOptions
/Linker
and make sure the docs build without warnings and render OK.
if self.xptxas is not None: | ||
for opt in self.xptxas: | ||
self.formatted_options.append(f"-Xptxas={opt}") |
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.
Graham can correct me but there's probably a better way to pass multiple options to -Xptxas
. Could you check if this is tested?
aed4c23
to
9d8ecbc
Compare
TODO - fix the finalizer. Once Ralf's change is complete I will implement the finalizer to match. |
Hi @ksimpson-work, I just merged #246. — The pattern for using |
Thanks for the ping! I will look to implement now |
88c5ed2
to
702fbaa
Compare
Tests are updated to link ptx inputs vs ltoir inputs when running with culink backend. The functions are all device, using a global was consistently causing an error when linking (undefined reference to B, C) although B and C were both declared in A and passed to the linker. |
Upon further investigation, the issue with linking ptx inputs was not an issue with the linker, but rather a user error in the compilation step. relocatable device code option was required in order to compile and output unreferenced device functions. This is, of course, a requirement to link them to some declaration in the entrypoint file. |
lazy load modules in #268 |
…nto ksimpson/cuda_core_linker_155
/ok to test |
wrap nvjitlink into the object model.
Depends on #224