Protected buffers for native queried products #
Main definitions #
QueriedProduct.inputEnd: four original headers, both matrices and all coordinate pairs.QueriedProduct.snapshotBase: protected original input above both producers' work areas.QueriedProduct.offsetBase,QueriedProduct.codeBase,QueriedProduct.originalBase: protected copies of the actual computed routing arrays.QueriedProduct.outputBase: answers in original request order.QueriedProduct.scratchBase: reusable pruned-kernel workspace after every protected array.
These numeric specifications describe the addresses computed by the native header. Neither a layout nor an execution/cost certificate is supplied to the program.
One past the original initialized input, including the native length word.
Instances For
Original coordinate pairs follow both row-major input matrices.
Instances For
The sum reserves disjoint space above the input and both low producer allocations. Using a sum permits direct arithmetic without a hidden maximum/layout operation.
Instances For
Actual prefix offsets are saved here before the band producer reuses low memory.
Instances For
The grouped numerical codes follow all offsets, including their terminal word.
Instances For
The actual original-index permutation follows the grouped codes.
Instances For
Kernel reporting writes answers in grouped order into this separate array.
Instances For
Reconstructed answers in original list order; repeated requests have separate cells.
Instances For
Every source, saved routing array and answer block precedes reusable kernel scratch.
Instances For
The shared timestamp directory follows the kernel's actual frames and depth rows.
Instances For
One past the explicit whole-program allocation.
Instances For
Every tile call increases its actual returned epoch by at most this total envelope.
Instances For
Ordinary scalar bound covering all producer, caller and kernel address arithmetic. Signed arithmetic has its separate original-entry magnitude envelope.
Instances For
The source's magnitude bounds on shared encodings derive the kernel's operand bounds.
Instances For
Both low producer work areas and the complete original input precede its snapshot.
The high buffers are adjacent and ordered, including zero-length answer arrays.