tilelang.ascend.language.reduce_op¶
Ascend dialect of the reduce operators.
Same surface as tilelang.language.reduce_op, plus the SimdVF direct
path: a SimdVF region has no thread domain, so the common implementation’s
fragment round-trip (alloc_fragment + copy in + reduce + copy out) for
shared-to-shared reductions cannot lower there. Inside SimdVF the reduce is
emitted directly on the UB regions and AscendSimdVFLowerParallel lowers it to
the SIMD reduction intrinsics.
The thin reduce_* wrappers are redeclared because the common ones call
the common reduce by module-level binding and would bypass this dialect’s
dispatch.
Functions¶
|
Common |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Module Contents¶
- tilelang.ascend.language.reduce_op.reduce(buffer, out, reduce_type, dim, clear, batch=1, annotations=None)¶
Common
tilelang.language.reduce_op.reduce()plus the SimdVF path.- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
reduce_type (str)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_max(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_max().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_min(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_min().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_sum(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_sum().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_abssum(buffer, out, dim=-1, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_abssum().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_absmax(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_absmax().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_bitand(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_bitand().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_bitor(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_bitor().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None
- tilelang.ascend.language.reduce_op.reduce_bitxor(buffer, out, dim=-1, clear=True, batch=1, annotations=None)¶
See
tilelang.language.reduce_op.reduce_bitxor().- Parameters:
buffer (tvm.tirx.Buffer)
out (tvm.tirx.Buffer)
dim (int)
clear (bool)
batch (int)
annotations (dict | None)
- Return type:
None