Expand description
Reduction kernels — each CTA handles one output element (one “row” of the
flattened [outer, inner] view). The caller is responsible for reshaping
the input to [n_outer, n_inner] before invoking these kernels.
Grid: [n_outer, 1, 1]
Block: [BLOCK_INNER, 1, 1]
Structs§
- CumProd
Forward - Forward: y = cumprod(x, axis=0) over a 1-D block
- CumSum
Forward - Forward: y = cumsum(x, axis=0) over a 1-D block Each CTA handles one complete row (n_inner elements).
- Global
AvgPool Forward - Forward: y[row] = mean(x[row, :]) (same as ReduceMean)
- Global
MaxPool Forward - Forward: y[row] = max(x[row, :]) (same as ReduceMax)
- Reduce
L1Forward - Forward: y[row] = sum(|x[row, :]|)
- Reduce
L2Forward - Forward: y[row] = sqrt(sum(x[row, :]^2))
- Reduce
LogSum ExpForward - Forward: y[row] = log(sum(exp(x[row, :]))) — numerically stable via max subtraction
- Reduce
LogSum Forward - Forward: y[row] = log(sum(x[row, :])) (numerically unsafe; use ReduceLogSumExp for stable)
- Reduce
MaxForward - Forward: y[row] = max(x[row, :])
- Reduce
Mean Forward - Forward: y[row] = mean(x[row, :])
- Reduce
MinForward - Forward: y[row] = min(x[row, :])
- Reduce
Prod Forward - Forward: y[row] = prod(x[row, :]) Note: implemented as exp(sum(log(x))) — only valid for positive x. For general use this is a placeholder.
- Reduce
SumForward - Forward: y[row] = sum(x[row, :])
- Reduce
SumSquare Forward - Forward: y[row] = sum(x[row, :]^2)
Functions§
- cum_
prod_ forward - Forward: y = cumprod(x, axis=0) over a 1-D block
- cum_
sum_ forward - Forward: y = cumsum(x, axis=0) over a 1-D block Each CTA handles one complete row (n_inner elements).
- global_
avg_ pool_ forward - Forward: y[row] = mean(x[row, :]) (same as ReduceMean)
- global_
max_ pool_ forward - Forward: y[row] = max(x[row, :]) (same as ReduceMax)
- reduce_
l1_ forward - Forward: y[row] = sum(|x[row, :]|)
- reduce_
l2_ forward - Forward: y[row] = sqrt(sum(x[row, :]^2))
- reduce_
log_ sum_ exp_ forward - Forward: y[row] = log(sum(exp(x[row, :]))) — numerically stable via max subtraction
- reduce_
log_ sum_ forward - Forward: y[row] = log(sum(x[row, :])) (numerically unsafe; use ReduceLogSumExp for stable)
- reduce_
max_ forward - Forward: y[row] = max(x[row, :])
- reduce_
mean_ forward - Forward: y[row] = mean(x[row, :])
- reduce_
min_ forward - Forward: y[row] = min(x[row, :])
- reduce_
prod_ forward - Forward: y[row] = prod(x[row, :]) Note: implemented as exp(sum(log(x))) — only valid for positive x. For general use this is a placeholder.
- reduce_
sum_ forward - Forward: y[row] = sum(x[row, :])
- reduce_
sum_ square_ forward - Forward: y[row] = sum(x[row, :]^2)