pub struct OneToManyMatmulFamily<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> { /* private fields */ }
Trait Implementations§
Source§impl<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> BatchMatmulFamily for OneToManyMatmulFamily<GMM, S, C>
impl<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> BatchMatmulFamily for OneToManyMatmulFamily<GMM, S, C>
type Matmul<MP: MatmulPrecision> = OneToManyMatmul<MP, <GMM as GlobalMatmulFamily>::Matmul<MP>, S, C>
Source§impl<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> MatmulConfigFactory for OneToManyMatmulFamily<GMM, S, C>
impl<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> MatmulConfigFactory for OneToManyMatmulFamily<GMM, S, C>
Source§type Config = Config<<GMM as MatmulConfigFactory>::Config, C>
type Config = Config<<GMM as MatmulConfigFactory>::Config, C>
Configuration tailored to the matmul implementation
type Input = <GMM as MatmulConfigFactory>::Input
Source§fn check_config(config: &Self::Config) -> Result<(), InvalidConfigError>
fn check_config(config: &Self::Config) -> Result<(), InvalidConfigError>
Asserts that the configuration for this matmul will lead to a valid computation
Source§fn check_availability<R: Runtime, MP: MatmulPrecision>(
client: &ComputeClient<R::Server, R::Channel>,
config: &Self::Config,
) -> Result<(), MatmulAvailabilityError>
fn check_availability<R: Runtime, MP: MatmulPrecision>( client: &ComputeClient<R::Server, R::Channel>, config: &Self::Config, ) -> Result<(), MatmulAvailabilityError>
Checks if the client can handle the features used in this computation
Source§fn make_config(
input: Self::Input,
problem: &MatmulProblem,
cube_dim: &CubeDim,
cube_count: &CubeCount,
quantized: bool,
) -> Self::Config
fn make_config( input: Self::Input, problem: &MatmulProblem, cube_dim: &CubeDim, cube_count: &CubeCount, quantized: bool, ) -> Self::Config
Create config for this matmul, given launch information
Source§impl<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> MatmulLaunch for OneToManyMatmulFamily<GMM, S, C>
impl<GMM: GlobalMatmulFamily, S: SpanMatmul, C: CubeDispatch> MatmulLaunch for OneToManyMatmulFamily<GMM, S, C>
Source§unsafe fn launch_unchecked<'a, MS: MatmulSpec, R: Runtime>(
client: &ComputeClient<<R as Runtime>::Server, <R as Runtime>::Channel>,
cube_dim: CubeDim,
cube_count: CubeCount,
input: InputRuntimeArg<'a, MS, R>,
output: OutputRuntimeArg<'a, MS, R>,
size_k: ScalarArg<u32>,
config: Self::Config,
)
unsafe fn launch_unchecked<'a, MS: MatmulSpec, R: Runtime>( client: &ComputeClient<<R as Runtime>::Server, <R as Runtime>::Channel>, cube_dim: CubeDim, cube_count: CubeCount, input: InputRuntimeArg<'a, MS, R>, output: OutputRuntimeArg<'a, MS, R>, size_k: ScalarArg<u32>, config: Self::Config, )
Entry point Read more
Auto Trait Implementations§
impl<GMM, S, C> Freeze for OneToManyMatmulFamily<GMM, S, C>
impl<GMM, S, C> RefUnwindSafe for OneToManyMatmulFamily<GMM, S, C>where
<GMM as MatmulConfigFactory>::Config: Sized,
GMM: RefUnwindSafe,
S: RefUnwindSafe,
C: RefUnwindSafe,
impl<GMM, S, C> Send for OneToManyMatmulFamily<GMM, S, C>
impl<GMM, S, C> Sync for OneToManyMatmulFamily<GMM, S, C>
impl<GMM, S, C> Unpin for OneToManyMatmulFamily<GMM, S, C>
impl<GMM, S, C> UnwindSafe for OneToManyMatmulFamily<GMM, S, C>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more