Refactoring Kernel argument management
Add
- Replace
Arguments<'arg>trait intoArgReftrait - Introduce
ArgReftrait andArgRef0toArgRef12objects-
ArgRefNhas an appropriate memory format using#[repr(C)]
This can pass into cuLaunchKernel directory#[repr(C)] pub struct ArgRef2<'arg, D1: DeviceSend, D2: DeviceSend> { arg1: &'arg D1, arg2: &'arg D2, } -
Change
- Argument parameter of launch changes:
becomes
let result = assert(&ctx, 1 /* grid */, 4 /* block */, &());let result = assert(&ctx, 1 /* grid */, 4 /* block */, ()); /* ^ drop & */
Edited by termoshtt