-
Notifications
You must be signed in to change notification settings - Fork 10
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
Allow CUDA source inputs compiled to LTOIR, and enable pynvjitlinker to link inputs that contains LTOIR #62
Conversation
I'm not able to reproduce this segfault on my v100 machine:
|
In afcce87 I added an additional flag |
A subtle case here is that |
@@ -2704,6 +2710,13 @@ def add_file_guess_ext(self, path_or_code): | |||
"Don't know how to link file with extension " | |||
f"{ext}" | |||
) | |||
if ignore_nonlto and kind != FILE_EXTENSION_MAP["ltoir"]: |
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.
There's a nuance here where fatbin object can also only contains LTOIR. Though that requires building additional bindings for cuobjdump
and outputting the result.
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.
In bac11f6 I made a new created a new fatbin object that contains both LTOIR and SASS and feed into the linker for testing. I added a helper function that invokes cuobjdump
to extract object types from the fatbin / object. We allow and fatbin / object that contains LTOIR to be passed into the linker.
After a merge from |
""" | ||
Add a file or LinkableCode object to the link. If a file is | ||
passed, the type will be inferred from the extension. A LinkableCode | ||
object represents a file already in memory. | ||
|
||
When `ignore_nonlto` is set to true, do not add code that are will not |
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.
When `ignore_nonlto` is set to true, do not add code that are will not | |
When `ignore_nonlto` is set to true, do not add code that will not |
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.
This tests OK for me locally on Windows. I've pushed changes to the Windows test binary build script that mirror the Makefile changes.
I think this is good to merge, pending:
- Completion of CI
- @isVoid checking integration with Numbast again locally, with the recent changes.
This PR supercedes #60 due to write permission issue.