pub struct PartitionedBatchMatmulFamily<GMM: GlobalMatmulFamily, S: GlobalPartitionMatmul> { /* private fields */ }
Expand description
Simple partitioned batch matmul family for any precision
Trait Implementations§
Source§impl<GMM: GlobalMatmulFamily, S: GlobalPartitionMatmul> BatchMatmulFamily for PartitionedBatchMatmulFamily<GMM, S>
impl<GMM: GlobalMatmulFamily, S: GlobalPartitionMatmul> BatchMatmulFamily for PartitionedBatchMatmulFamily<GMM, S>
Source§type Matmul<MP: MatmulPrecision> = PartitionedBatchMatmul<MP, <GMM as GlobalMatmulFamily>::Matmul<MP>, S>
type Matmul<MP: MatmulPrecision> = PartitionedBatchMatmul<MP, <GMM as GlobalMatmulFamily>::Matmul<MP>, S>
The specific BatchMatmul implementation associated with this family.
Source§type Config = PartitionedBatchConfig<<GMM as GlobalMatmulFamily>::Config>
type Config = PartitionedBatchConfig<<GMM as GlobalMatmulFamily>::Config>
The configuration type associated with this matmul family.
Source§fn setup<MP: MatmulPrecision, R: Runtime>(
client: &ComputeClient<R::Server, R::Channel>,
problem: &MatmulProblem,
selection: &MatmulSelection,
line_sizes: &MatmulLineSizes,
) -> Result<Self::Config, MatmulSetupError>
fn setup<MP: MatmulPrecision, R: Runtime>( client: &ComputeClient<R::Server, R::Channel>, problem: &MatmulProblem, selection: &MatmulSelection, line_sizes: &MatmulLineSizes, ) -> Result<Self::Config, MatmulSetupError>
Constructs the configuration based on the matmul problem, selection, and line sizes. Read more
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>,
cube_count_input: CubeCountInputArgs<'a, R>,
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>, cube_count_input: CubeCountInputArgs<'a, R>, config: Self::Config, )
Entry point Read more
Source§fn filter_line_sizes(
available_line_sizes: AvailableLineSizes,
) -> AvailableLineSizes
fn filter_line_sizes( available_line_sizes: AvailableLineSizes, ) -> AvailableLineSizes
Filters out line sizes that are incompatible with this matmul family. Read more
Auto Trait Implementations§
impl<GMM, S> Freeze for PartitionedBatchMatmulFamily<GMM, S>
impl<GMM, S> RefUnwindSafe for PartitionedBatchMatmulFamily<GMM, S>where
GMM: RefUnwindSafe,
S: RefUnwindSafe,
impl<GMM, S> Send for PartitionedBatchMatmulFamily<GMM, S>
impl<GMM, S> Sync for PartitionedBatchMatmulFamily<GMM, S>
impl<GMM, S> Unpin for PartitionedBatchMatmulFamily<GMM, S>
impl<GMM, S> UnwindSafe for PartitionedBatchMatmulFamily<GMM, S>where
GMM: UnwindSafe,
S: UnwindSafe,
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