Skip to content
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 ccall(..., llvmcall, ...) to external functions. #31403

Merged
merged 1 commit into from
Mar 21, 2019

Conversation

maleadt
Copy link
Member

@maleadt maleadt commented Mar 19, 2019

This is useful for calling into libraries that are linked by CUDAnative, both libraries with PTX bitcode (libdevice, like here) and libraries with PTX assembly (libcudadevrt). We currently do this with a nasty macro that generates llvmcall expressions that declare the function, but that duplicates functionality from the ccall implementation in Julia.

@maleadt maleadt added compiler:codegen Generation of LLVM IR and native code gpu Affects running Julia on a GPU labels Mar 19, 2019
@maleadt maleadt requested review from vtjnash and Keno March 19, 2019 12:55
@maleadt
Copy link
Member Author

maleadt commented Mar 21, 2019

CI looks "good" (Travis is green). Any objections? If not, I'd like to merge this so that we can have CI for some new and fancy features over at CUDAnative.jl (JuliaGPU/CUDAnative.jl#362).

@vchuravy vchuravy merged commit 54fe55b into master Mar 21, 2019
@vchuravy vchuravy deleted the tb/llvmcall_extern branch March 21, 2019 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:codegen Generation of LLVM IR and native code gpu Affects running Julia on a GPU
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants