Function tvm::tirx::gpu_thread_allreduce_op

Function tvm::tirx::gpu_thread_allreduce_op#

Function Documentation#

const Op &tvm::tirx::gpu_thread_allreduce_op()#

Cross-thread reduction with an explicit typed combiner and identities.

void gpu_thread_allreduce(LambdaExpr combine, Expr identity, Expr values,

PrimExpr predicate, Expr destinations, Expr thread_axes);

For N values, combine binds lhs[0:N] followed by rhs[0:N] and returns an N-element Tuple, or a scalar when N is one. Identity, values, destinations and thread_axes may each be a scalar or an explicit Tuple of fields. Each value, identity, pair of parameters and result have the same primitive type. Inactive inputs are replaced by their identities. Destinations are N tensor loads at index zero of one-element result temporaries (optionally cast for boolean storage). Each result temporary must be accessed only at index zero. Thread axes are reduction thread variables or zero for simplified unit axes. Other thread indices remain fixed. The operation writes the reduced values to the destination tensors and returns void.