tilelang.language.tir.ir¶

Attributes¶

Functions¶

serial(start[, stop, annotations])

The serial For statement.

parallel(start[, stop, annotations])

The parallel For statement.

vectorized(start[, stop, annotations])

The vectorized For statement.

unroll(start[, stop, annotations])

The unrolled For statement.

thread_binding(start[, stop, thread, annotations])

The thread-binding For statement.

grid(*extents)

The grid For statement.

Select(condition, true_value, false_value[, span])

Construct a TIR select expression.

min(a, b)

Construct a binary TIR minimum expression.

max(a, b)

Construct a binary TIR maximum expression.

align_up(x, y)

cast(value, dtype[, round, sat, rbits, span])

Cast value to dtype with optional PTX-style rounding hints.

Module Contents¶

tilelang.language.tir.ir.serial(start, stop=None, *, annotations=None)¶

The serial For statement.

Parameters:
  • start (PrimExpr) – The minimum value of iteration.

  • stop (PrimExpr) – The maximum value of iteration.

  • annotations (Dict[str, Any]) – The optional annotations of the For statement.

Returns:

res – The ForFrame.

Return type:

frame.ForFrame

tilelang.language.tir.ir.parallel(start, stop=None, *, annotations=None)¶

The parallel For statement.

Parameters:
  • start (PrimExpr) – The minimum value of iteration.

  • stop (PrimExpr) – The maximum value of iteration.

  • annotations (Dict[str, Any]) – The optional annotations of the For statement.

Returns:

res – The ForFrame.

Return type:

frame.ForFrame

tilelang.language.tir.ir.vectorized(start, stop=None, *, annotations=None)¶

The vectorized For statement.

Parameters:
  • start (PrimExpr) – The minimum value of iteration.

  • stop (PrimExpr) – The maximum value of iteration.

  • annotations (Dict[str, Any]) – The optional annotations of the For statement.

Returns:

res – The ForFrame.

Return type:

frame.ForFrame

tilelang.language.tir.ir.unroll(start, stop=None, *, annotations=None)¶

The unrolled For statement.

Parameters:
  • start (PrimExpr) – The minimum value of iteration.

  • stop (PrimExpr) – The maximum value of iteration.

  • annotations (Dict[str, Any]) – The optional annotations of the For statement.

Returns:

res – The ForFrame.

Return type:

frame.ForFrame

tilelang.language.tir.ir.thread_binding(start, stop=None, thread=None, *, annotations=None)¶

The thread-binding For statement.

Parameters:
  • start (PrimExpr) – The minimum value of iteration.

  • stop (PrimExpr) – The maximum value of iteration.

  • thread (str) – The thread for loop variable to bind.

  • annotations (Dict[str, Any]) – The optional annotations of the For statement.

Returns:

res – The ForFrame.

Return type:

frame.ForFrame

tilelang.language.tir.ir.grid(*extents)¶

The grid For statement.

Parameters:

extents (PrimExpr) – The extents of the iteration.

Returns:

res – The ForFrame.

Return type:

frame.ForFrame

tilelang.language.tir.ir.Select(condition, true_value, false_value, span=None)¶

Construct a TIR select expression.

Select evaluates both value expressions. Use if_then_else when a branch must guard side effects or out-of-bounds memory accesses.

Parameters:
  • condition (tvm.tirx.PrimExpr | bool)

  • true_value (PyPrimExpr)

  • false_value (PyPrimExpr)

Return type:

tvm.tirx.PrimExpr

tilelang.language.tir.ir.min(a, b)¶

Construct a binary TIR minimum expression.

Parameters:
  • a (tvm.tirx.PrimExpr)

  • b (tvm.tirx.PrimExpr)

Return type:

tvm.tirx.PrimExpr

tilelang.language.tir.ir.max(a, b)¶

Construct a binary TIR maximum expression.

Parameters:
  • a (tvm.tirx.PrimExpr)

  • b (tvm.tirx.PrimExpr)

Return type:

tvm.tirx.PrimExpr

tilelang.language.tir.ir.Shuffle¶
tilelang.language.tir.ir.abs¶
tilelang.language.tir.ir.acos¶
tilelang.language.tir.ir.acosh¶
tilelang.language.tir.ir.address_of¶
tilelang.language.tir.ir.asin¶
tilelang.language.tir.ir.asinh¶
tilelang.language.tir.ir.atan¶
tilelang.language.tir.ir.atan2¶
tilelang.language.tir.ir.atanh¶
tilelang.language.tir.ir.bitwise_and¶
tilelang.language.tir.ir.bitwise_not¶
tilelang.language.tir.ir.bitwise_or¶
tilelang.language.tir.ir.bitwise_xor¶
tilelang.language.tir.ir.ceil¶
tilelang.language.tir.ir.clz¶
tilelang.language.tir.ir.copysign¶
tilelang.language.tir.ir.cos¶
tilelang.language.tir.ir.cosh¶
tilelang.language.tir.ir.erf¶
tilelang.language.tir.ir.exp¶
tilelang.language.tir.ir.exp2¶
tilelang.language.tir.ir.exp10¶
tilelang.language.tir.ir.extract_lane¶
tilelang.language.tir.ir.floor¶
tilelang.language.tir.ir.ceildiv¶
tilelang.language.tir.ir.cdiv¶
tilelang.language.tir.ir.align_up(x, y)¶
tilelang.language.tir.ir.floordiv¶
tilelang.language.tir.ir.floormod¶
tilelang.language.tir.ir.fmod¶
tilelang.language.tir.ir.hypot¶
tilelang.language.tir.ir.if_then_else¶
tilelang.language.tir.ir.infinity¶
tilelang.language.tir.ir.isfinite¶
tilelang.language.tir.ir.isinf¶
tilelang.language.tir.ir.isnan¶
tilelang.language.tir.ir.isnullptr¶
tilelang.language.tir.ir.ldexp¶
tilelang.language.tir.ir.likely¶
tilelang.language.tir.ir.log¶
tilelang.language.tir.ir.log1p¶
tilelang.language.tir.ir.log2¶
tilelang.language.tir.ir.log10¶
tilelang.language.tir.ir.lookup_param¶
tilelang.language.tir.ir.max_value¶
tilelang.language.tir.ir.min_value¶
tilelang.language.tir.ir.nearbyint¶
tilelang.language.tir.ir.nextafter¶
tilelang.language.tir.ir.popcount¶
tilelang.language.tir.ir.pow¶
tilelang.language.tir.ir.q_multiply_shift¶
tilelang.language.tir.ir.q_multiply_shift_per_axis¶
tilelang.language.tir.ir.ret¶
tilelang.language.tir.ir.round¶
tilelang.language.tir.ir.rsqrt¶
tilelang.language.tir.ir.shift_left¶
tilelang.language.tir.ir.shift_right¶
tilelang.language.tir.ir.sigmoid¶
tilelang.language.tir.ir.sin¶
tilelang.language.tir.ir.sinh¶
tilelang.language.tir.ir.sqrt¶
tilelang.language.tir.ir.tan¶
tilelang.language.tir.ir.tanh¶
tilelang.language.tir.ir.trunc¶
tilelang.language.tir.ir.truncdiv¶
tilelang.language.tir.ir.truncmod¶
tilelang.language.tir.ir.tvm_access_ptr¶
tilelang.language.tir.ir.tvm_throw_last_error¶
tilelang.language.tir.ir.tvm_stack_alloca¶
tilelang.language.tir.ir.tvm_stack_make_shape¶
tilelang.language.tir.ir.tvm_stack_make_array¶
tilelang.language.tir.ir.call_packed¶
tilelang.language.tir.ir.call_cpacked¶
tilelang.language.tir.ir.call_packed_lowered¶
tilelang.language.tir.ir.call_cpacked_lowered¶
tilelang.language.tir.ir.tvm_tuple¶
tilelang.language.tir.ir.tvm_struct_set¶
tilelang.language.tir.ir.tvm_struct_get¶
tilelang.language.tir.ir.tvm_thread_invariant¶
tilelang.language.tir.ir.tvm_thread_allreduce¶
tilelang.language.tir.ir.tvm_load_matrix_sync¶
tilelang.language.tir.ir.tvm_mma_sync¶
tilelang.language.tir.ir.tvm_bmma_sync¶
tilelang.language.tir.ir.tvm_fill_fragment¶
tilelang.language.tir.ir.tvm_store_matrix_sync¶
tilelang.language.tir.ir.tvm_storage_sync¶
tilelang.language.tir.ir.tvm_warp_shuffle¶
tilelang.language.tir.ir.tvm_warp_shuffle_up¶
tilelang.language.tir.ir.tvm_warp_shuffle_down¶
tilelang.language.tir.ir.tvm_warp_activemask¶
tilelang.language.tir.ir.ptx_wait_group¶
tilelang.language.tir.ir.ptx_commit_group¶
tilelang.language.tir.ir.ptx_cp_async_barrier¶
tilelang.language.tir.ir.ptx_init_barrier_thread_count¶
tilelang.language.tir.ir.ptx_arrive_barrier¶
tilelang.language.tir.ir.ptx_arrive_barrier_expect_tx¶
tilelang.language.tir.ir.create_barriers¶
tilelang.language.tir.ir.assume¶
tilelang.language.tir.ir.undef¶
tilelang.language.tir.ir.TVMBackendAllocWorkspace¶
tilelang.language.tir.ir.TVMBackendFreeWorkspace¶
tilelang.language.tir.ir.start_profile_intrinsic¶
tilelang.language.tir.ir.end_profile_intrinsic¶
tilelang.language.tir.ir.anylist_getitem¶
tilelang.language.tir.ir.anylist_resetitem¶
tilelang.language.tir.ir.anylist_setitem_call_packed¶
tilelang.language.tir.ir.anylist_setitem_call_cpacked¶
tilelang.language.tir.ir.vscale¶
tilelang.language.tir.ir.reinterpret¶
tilelang.language.tir.ir.call_extern¶
tilelang.language.tir.ir.call_intrin¶
tilelang.language.tir.ir.call_llvm_intrin¶
tilelang.language.tir.ir.call_llvm_pure_intrin¶
tilelang.language.tir.ir.call_pure_extern¶
tilelang.language.tir.ir.ptx_cp_async¶
tilelang.language.tir.ir.mma_store¶
tilelang.language.tir.ir.mma_fill¶
tilelang.language.tir.ir.vectorlow¶
tilelang.language.tir.ir.vectorhigh¶
tilelang.language.tir.ir.vectorcombine¶
tilelang.language.tir.ir.cast(value, dtype, round='', sat=True, rbits=None, span=None)¶

Cast value to dtype with optional PTX-style rounding hints.

Parameters:
  • value (object) – The source operand.

  • dtype (str) – The target data type.

  • round (str, optional) – PTX rounding modifier (e.g. "rn", "rz", "rp", "rm", "rs"). Empty string means use the backend default. Currently only "" and "rs" are lowered by the CUDA backend; the other modifiers are reserved.

  • sat (bool, optional) – Saturate to finite (True = PTX .satfinite, default).

  • rbits (PrimExpr, optional) – Random bits operand for stochastic rounding (round="rs").

  • span (Optional[Span]) – The location of this operator in the source.

Returns:

op – The cast expression.

Return type:

tvm.tir.PrimExpr