Mojo module
conv_utils
comptime valuesβ
elementwise_epilogue_typeβ
comptime elementwise_epilogue_type = def[rank: Int](coords: IndexList[rank], f_size: Int) capturing -> None
elementwise_simd_epilogue_typeβ
comptime elementwise_simd_epilogue_type = def[dtype: DType, rank: Int, width: Int](IndexList[rank], SIMD[dtype, width]) capturing -> None
Structsβ
- β
ConvAlgorithm: - β
ConvInfoStatic: - β
ConvPartition: Work range for a partition. - β
ConvShape: A shape struct describing the convolution dimensions.
Functionsβ
- β
align_down_residual: Returns the remainder after aligning down value to alignment. - β
append_shape: Append input shape by insertinglast2ndandlastat the end. - β
extend_shape: Extend input shape by insertingfirstandlastat both ends. - β
get_conv_num_partitions: Partition the workload in (batch, C, F, HOWO) dimensions. HOWO is the combination of HO and WO dimensions. The actual number of tasks are the product of return num_partitions. - β
get_conv_num_tasks: - β
get_conv_shape: - β
get_conv_tile_shape: Compute the (c, f) tile shape in L2. Assume NHWC layout, the tile shape is (R, S, c_tile, f_tile). R and S are by default fully covered. The heuristic tried to block in C as much as possible. If C is small, it would start to block F. - β
get_conv_tile_size: - β
get_direct_conv_micro_kernel_height: - β
get_direct_conv_micro_kernel_width: - β
get_micro_kernel_shape: - β
get_partition: - β
reorder_padding:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!