tilelang.language.copyΒΆ

The language interface for tl programs.

FunctionsΒΆ

copy(src, dst[, coalesced_width, disable_tma, ...])

Copy data between memory regions.

c2d_im2col(img, col, nhw_step, c_step, kernel, stride, ...)

Perform im2col transformation for 2D convolution.

Module ContentsΒΆ

tilelang.language.copy.copy(src, dst, coalesced_width=None, disable_tma=False, eviction_policy=None)ΒΆ

Copy data between memory regions.

Parameters:
  • src (Union[tir.Buffer, tir.BufferLoad, tir.BufferRegion]) – Source memory region

  • dst (Union[tir.Buffer, tir.BufferLoad]) – Destination memory region

  • coalesced_width (Optional[int], optional) – Width for coalesced memory access. Defaults to None.

  • disable_tma (bool)

  • eviction_policy (Literal['evict_normal', 'evict_first', 'evict_last'] | None)

Raises:

TypeError – If copy extents cannot be deduced from arguments

Returns:

A handle to the copy operation

Return type:

tir.Call

tilelang.language.copy.c2d_im2col(img, col, nhw_step, c_step, kernel, stride, dilation, pad, eviction_policy=None)ΒΆ

Perform im2col transformation for 2D convolution.

Parameters:
  • img (tir.Buffer) – Input image buffer

  • col (tir.Buffer) – Output column buffer

  • nhw_step (tir.PrimExpr) – Step size for batch and spatial dimensions

  • c_step (tir.PrimExpr) – Step size for channel dimension

  • kernel (int) – Kernel size

  • stride (int) – Stride of the convolution

  • dilation (int) – Dilation rate

  • pad (int) – Padding size

  • eviction_policy (Literal['evict_normal', 'evict_first', 'evict_last'] | None)

Returns:

A handle to the im2col operation

Return type:

tir.Call