koblas

PackedMatrixLayout

class PackedMatrixLayout(val role: PackedRole, val rows: Int, val columns: Int, val group: Int, val depthStride: Int = group, val groupStride: Int = checkedStorageSize( (if (role == PackedRole.Left) columns else rows).toLong() * depthStride, ), val layoutId: Int = GROUPED_FP64, val version: Int = 1, val alignmentBytes: Int = Double.SIZE_BYTES, val requiredSvlBytes: Int = 0)(source)

Version one grouped FP64 format. Grouping is independent of compute microtiles and triangular solve order. depthStride separates depth steps, groupStride separates groups, and group lanes are reserved per step. Every padding entry in the storageSize extent is positive zero when produced by ScalarLayoutKernels. Heap arrays guarantee natural Double alignment only; alignmentBytes cannot promise a stronger alignment. A nonzero requiredSvlBytes restricts exact consumers to that streaming length; zero is length independent.

Constructors

PackedMatrixLayout

constructor(role: PackedRole, rows: Int, columns: Int, group: Int, depthStride: Int = group, groupStride: Int = checkedStorageSize( (if (role == PackedRole.Left) columns else rows).toLong() * depthStride, ), layoutId: Int = GROUPED_FP64, version: Int = 1, alignmentBytes: Int = Double.SIZE_BYTES, requiredSvlBytes: Int = 0)(source)

Types

Link copied to clipboard
object Companion

Factories and format identifiers.

Properties

alignmentBytes

Guaranteed storage alignment in bytes.

columns

Logical column count.

depthStride

Physical distance between depth steps.

group

Number of contiguous lanes in each depth step.

groupStride

Physical distance between groups.

layoutId

Stable physical format identifier.

requiredSvlBytes

Required streaming vector length, or zero when length independent.

role

Left or right grouped product role.

rows

Logical row count.

storageSize

Number of entries in the complete physical extent, including padding.

version

Physical format version.

Functions

requireCompatible

fun requireCompatible(layoutId: Int, version: Int, svlBytes: Int = 0)(source)

Rejects an incompatible consumer before it can mutate output. Zero svlBytes means unknown.