Delegate ND2DElementwiseKernel
A whole-2-D-block element-wise kernel: it loops the outer (strided) axis
itself, running an inner SIMD loop over innerCount
elements per row and advancing each operand pointer by
outerByteStrides[op]. One call covers the whole
coalesced 2-D block.
public delegate void ND2DElementwiseKernel(void** dataptrs, long* innerByteStrides, long innerCount, long* outerByteStrides, long outerCount)
Parameters
dataptrsvoid**One byte-pointer per operand (inputs then output), at the block start.
innerByteStrideslong*Per-operand inner-axis stride in BYTES: the element size (a contiguous row) or 0 (an input broadcast along the row). The output's is always the element size.
innerCountlongElements per row (the inner axis length).
outerByteStrideslong*Per-operand outer-axis stride in BYTES (may be 0 for a broadcast operand, or negative).
outerCountlongNumber of rows (the outer axis length).