Table of Contents

Delegate ND2DElementwiseKernel

Namespace
NumSharp.Backends.Kernels
Assembly
NumSharp.dll

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

dataptrs void**

One byte-pointer per operand (inputs then output), at the block start.

innerByteStrides long*

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.

innerCount long

Elements per row (the inner axis length).

outerByteStrides long*

Per-operand outer-axis stride in BYTES (may be 0 for a broadcast operand, or negative).

outerCount long

Number of rows (the outer axis length).