-
Notifications
You must be signed in to change notification settings - Fork 51
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
Linking bitcode libraries fail on 1.11 #489
Comments
To be clear, it's only passing to |
has JuliaLang/julia#50791 (review) fixed this? |
In theory yes, in practice there may be other changes required for GPUCompiler to handle all the new globals we emit. |
Great, thanks! Let's close this then and open new issues when we run into other incompatibilities. |
During runtime generation, we emit an unoptimized bitcode library for every runtime function and link those together. On 1.11, that means linking many modules with the following IR (post JuliaLang/julia#50632):
Linking modules like that together, where there may be multiple GVs like that, can lead to:
@pchintalapudi mentions that Base handles this via deduplication in codegen_params' global_targets map. None of that is exposed to us though, so a possible workaround would be to change those GVs to private/internal so that they get deduplicated when linking (IIUC). That would prevent passing the IR to
jl_create_native
though; @vchuravy is that a problem for Enzyme (or other CPU-based compilers that build on GPUCompiler.jl)?The text was updated successfully, but these errors were encountered: