-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Generated IR is not portable #1104
Comments
Yeah, that sounds like a good solution |
We hit a libdevice.10.bc not found compile/runtime error from https://github.com/openai/triton/blob/972b761390c45bcb0d0091741067603b2ab2ed42/lib/Target/LLVMIR/LLVMIRTranslation.cpp#L126-L133. Can we mitigate via a env variable for the libdevice.10.bc path? |
Just curious, if this |
I'm definitely surprised. Unless you share the IR (but not the cubin) between different machines then you shouldn't run into the issue |
I believe it is related to our build system and maybe remote execution. The path is correct for local machine but failed to load at runtime. |
This is strange indeed. Does that mean that the TTGIR is generated on one machine, but then converted to PTX on another machine? Can I see the full stack trace of the error? |
Unfortunately the stack trace only contains one line complaining missing libdevice.10.bc. And using an env variable for the path does work. |
The error should be from kernel compilation. Tried it again the full error stack is
Looks like no space between the sentences. |
I don't think an environment variable would be a good workaround. The fundamental issue here seems to be that Maybe something better would be for the frontend to copy |
Maybe our use case is a bit special since we may compile kernels on remote machines which does not have triton source code. We already use https://github.com/openai/triton/blob/a13ddf08e2984d3d734f242e4bea589c3fbbbca4/python/triton/compiler.py#L1066 |
I see. Ok then, feel free to submit a PR that adds an |
How about using dladdr to get path to the shared object and then look for library relative to it |
I hope fixed by #1176 |
libdevice
uses absolute path for the bytecode location. This is not portable. Not sure how to fix this, maybe libdevice location can be passed as an argument for compilation, rather than baked into the IR?The text was updated successfully, but these errors were encountered: