[][src]Trait accel::execution::Launchable9

pub trait Launchable9<'arg> {
    type Target1;
    type Target2;
    type Target3;
    type Target4;
    type Target5;
    type Target6;
    type Target7;
    type Target8;
    type Target9;
    fn get_kernel(&self) -> Result<Kernel>;

    fn launch<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
        &self,
        grid: impl Into<Grid>,
        block: impl Into<Block>,
        (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9): (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)
    ) -> Result<()>
    where
        Arg1: DeviceSend<Target = Self::Target1>,
        Arg2: DeviceSend<Target = Self::Target2>,
        Arg3: DeviceSend<Target = Self::Target3>,
        Arg4: DeviceSend<Target = Self::Target4>,
        Arg5: DeviceSend<Target = Self::Target5>,
        Arg6: DeviceSend<Target = Self::Target6>,
        Arg7: DeviceSend<Target = Self::Target7>,
        Arg8: DeviceSend<Target = Self::Target8>,
        Arg9: DeviceSend<Target = Self::Target9>
, { ... }
fn launch_async<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
        &self,
        grid: impl Into<Grid>,
        block: impl Into<Block>,
        (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9): (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)
    ) -> BoxFuture<'arg, Result<()>>
    where
        Arg1: DeviceSend<Target = Self::Target1> + 'arg,
        Arg2: DeviceSend<Target = Self::Target2> + 'arg,
        Arg3: DeviceSend<Target = Self::Target3> + 'arg,
        Arg4: DeviceSend<Target = Self::Target4> + 'arg,
        Arg5: DeviceSend<Target = Self::Target5> + 'arg,
        Arg6: DeviceSend<Target = Self::Target6> + 'arg,
        Arg7: DeviceSend<Target = Self::Target7> + 'arg,
        Arg8: DeviceSend<Target = Self::Target8> + 'arg,
        Arg9: DeviceSend<Target = Self::Target9> + 'arg
, { ... } }

Launchable Kernel with N-arguments

This is auto-generated by accel_derive::define_launchable! proc-macro. See module level document for detail.

Associated Types

type Target1

type Target2

type Target3

type Target4

type Target5

type Target6

type Target7

type Target8

type Target9

Loading content...

Required methods

fn get_kernel(&self) -> Result<Kernel>

Loading content...

Provided methods

fn launch<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
    &self,
    grid: impl Into<Grid>,
    block: impl Into<Block>,
    (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9): (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)
) -> Result<()> where
    Arg1: DeviceSend<Target = Self::Target1>,
    Arg2: DeviceSend<Target = Self::Target2>,
    Arg3: DeviceSend<Target = Self::Target3>,
    Arg4: DeviceSend<Target = Self::Target4>,
    Arg5: DeviceSend<Target = Self::Target5>,
    Arg6: DeviceSend<Target = Self::Target6>,
    Arg7: DeviceSend<Target = Self::Target7>,
    Arg8: DeviceSend<Target = Self::Target8>,
    Arg9: DeviceSend<Target = Self::Target9>, 

fn launch_async<Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9>(
    &self,
    grid: impl Into<Grid>,
    block: impl Into<Block>,
    (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9): (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)
) -> BoxFuture<'arg, Result<()>> where
    Arg1: DeviceSend<Target = Self::Target1> + 'arg,
    Arg2: DeviceSend<Target = Self::Target2> + 'arg,
    Arg3: DeviceSend<Target = Self::Target3> + 'arg,
    Arg4: DeviceSend<Target = Self::Target4> + 'arg,
    Arg5: DeviceSend<Target = Self::Target5> + 'arg,
    Arg6: DeviceSend<Target = Self::Target6> + 'arg,
    Arg7: DeviceSend<Target = Self::Target7> + 'arg,
    Arg8: DeviceSend<Target = Self::Target8> + 'arg,
    Arg9: DeviceSend<Target = Self::Target9> + 'arg, 

Loading content...

Implementors

Loading content...