Displaying 2 results from an estimated 2 matches for "typed_payload".
2020 Jul 28
2
[RFC] Heterogeneous LLVM-IR Modules
...ad) {
driver_invoke_kernel(&KERNEL_ID, payload);
}
__attribute__((callback (cb_fn, arg)))
void driver_invoke_kernel(void(*cb_fn)(void *), void *arg);
// Device
device 1 global alias KERNEL_ID = kernel; // "LLVM-IR-like syntax"
device 1 void kernel(void *payload) {
auto *typed_payload = static_cast<...>(payload);
...
}
---
The "important" part is there is no direct call edge between the two
modules. If we want to support that, we can have that discussion for
sure. I initially assumed we might not need/want to allow that. If not,
I don't see how any inter...
2020 Jul 28
2
[RFC] Heterogeneous LLVM-IR Modules
On 7/28/20 2:24 PM, Renato Golin wrote:
> On Tue, 28 Jul 2020 at 20:07, Johannes Doerfert via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> Long story short, I think host & device need to, and in practice do,
>> agree on the data layout of the address space they use to communicate.
>
> You can design APIs that call functions into external hardware that