tilelang.contrib.ptodsl.simt¶

PTODSL tracing helpers for TileLang PTO SIMT codegen.

Functions¶

shuffle_vec(dtype, values, indices)

Pick lanes by constant index from concatenated scalar/vector inputs.

vector_from_list(dtype, values)

Build a PTODSL builtin vector from scalar values in a Python sequence.

vector_to_list(value)

Extract all lanes of a PTODSL builtin vector into a Python list.

store_vector_to_list(dst, offset, value)

Store all lanes of a PTODSL vector into a Python-list local buffer.

vectorize_unary_f32x2(op, value)

vectorize_binary_f32x2(op, lhs, rhs)

vectorize_binary_fp8(op, lhs, rhs, dtype)

Compute FP8 vectors through the supported packed two-lane conversions.

fp8_byte_load(buffer, index, dtype)

Load one FP8 storage byte without materializing an unsupported scalar FP8.

fp8_byte_store(value, buffer, index, dtype)

Store one FP8 storage byte through its integer representation.

scalar_binary_fp8(op, lhs, rhs, dtype)

Use the packed FP8 conversion primitive for one logical element.

scalar_div(lhs, rhs)

scalar_rsqrt(value)

simt_allreduce_sum(value, **kwargs)

simt_allreduce_max(value, **kwargs)

simt_allreduce_min(value, **kwargs)

Module Contents¶

tilelang.contrib.ptodsl.simt.shuffle_vec(dtype, values, indices)¶

Pick lanes by constant index from concatenated scalar/vector inputs.

Parameters:
  • dtype (ptodsl._types._DType)

  • values (list | tuple)

  • indices (list[int] | tuple[int, Ellipsis])

tilelang.contrib.ptodsl.simt.vector_from_list(dtype, values)¶

Build a PTODSL builtin vector from scalar values in a Python sequence.

Parameters:
  • dtype (ptodsl._types._DType)

  • values (list | tuple)

Return type:

ptodsl._surface_values.VecValue

tilelang.contrib.ptodsl.simt.vector_to_list(value)¶

Extract all lanes of a PTODSL builtin vector into a Python list.

Parameters:

value (ptodsl._surface_values.VecValue)

Return type:

list

tilelang.contrib.ptodsl.simt.store_vector_to_list(dst, offset, value)¶

Store all lanes of a PTODSL vector into a Python-list local buffer.

Parameters:
  • dst (list)

  • offset (int)

  • value (ptodsl._surface_values.VecValue)

Return type:

None

tilelang.contrib.ptodsl.simt.vectorize_unary_f32x2(op, value)¶
tilelang.contrib.ptodsl.simt.vectorize_binary_f32x2(op, lhs, rhs)¶
tilelang.contrib.ptodsl.simt.vectorize_binary_fp8(op, lhs, rhs, dtype)¶

Compute FP8 vectors through the supported packed two-lane conversions.

tilelang.contrib.ptodsl.simt.fp8_byte_load(buffer, index, dtype)¶

Load one FP8 storage byte without materializing an unsupported scalar FP8.

tilelang.contrib.ptodsl.simt.fp8_byte_store(value, buffer, index, dtype)¶

Store one FP8 storage byte through its integer representation.

tilelang.contrib.ptodsl.simt.scalar_binary_fp8(op, lhs, rhs, dtype)¶

Use the packed FP8 conversion primitive for one logical element.

tilelang.contrib.ptodsl.simt.scalar_div(lhs, rhs)¶
tilelang.contrib.ptodsl.simt.scalar_rsqrt(value)¶
tilelang.contrib.ptodsl.simt.simt_allreduce_sum(value, **kwargs)¶
tilelang.contrib.ptodsl.simt.simt_allreduce_max(value, **kwargs)¶
tilelang.contrib.ptodsl.simt.simt_allreduce_min(value, **kwargs)¶