用途与范围
HiF4 Matrix 缩放值采用一个 32 位原始字,与 64 个逻辑 HiF4 lane 配合使用。本页说明 E6M2 基础字段如何与两级指数选择位组合;确切行为仍由 PTO-CUBE-HIF4-SCALE-001 及其 ASL 函数定义。
PTO-ARCH-DATA-TYPES-FORMAT-HIF4-SCALE下面直接显示完整的 ASL 所有者。
// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-FORMAT-HIF4-SCALE","surface":"arch","classification":["data-types","formats","hif4-scale"],"depends_on":["PTO-ARCH-DATA-TYPES-FP19"]}
// NDF-BEGIN: PTO-CUBE-HIF4-SCALE-001// ndf: kind=contract level=L1 layer=architecture status=accepted// A HiF4 Matrix scale MUST be one raw U32 word containing E6M2 in bits 7:0,// eight E1_8 exponents in bits 15:8, and sixteen E1_16 exponents in bits// 31:16. E6M2 values 00..FE MUST be finite with bias 48 and two fraction// bits; FF MUST be a legal quiet NaN scale. One word scales 64 logical HiF4// lanes through the selected E1_8 plus E1_16 exponent bits.// NDF-END: PTO-CUBE-HIF4-SCALE-001
pure func HiF4E6M2ValueClass(value: bits(8)) => NumericValueClassbegin if value == Ones{8} then return NumericValue_QuietNaN; end; return NumericValue_PositiveNormal;end;
pure func HiF4E6M2FiniteValue(value: bits(8)) => realbegin assert value != Ones{8}; let exponent = (UInt(value[7:2]) - 48) as integer {-48..15}; let mantissa_quarters = 4 + UInt(value[1:0]); return (Real(mantissa_quarters) / 4.0) * FP19PowerOfTwo(exponent);end;
pure func HiF4ScaleExponentIncrement( scale_word: bits(32), q: integer {0..63}) => integer {0..2}begin let e1_8_index = 8 + (q DIVRM 8); let e1_16_index = 16 + (q DIVRM 4); return UInt(scale_word[e1_8_index]) + UInt(scale_word[e1_16_index]);end;
pure func HiF4ScaleFiniteValue( scale_word: bits(32), q: integer {0..63}) => realbegin assert HiF4E6M2ValueClass(scale_word[7:0]) == NumericValue_PositiveNormal; return HiF4E6M2FiniteValue(scale_word[7:0]) * FP19PowerOfTwo(HiF4ScaleExponentIncrement(scale_word, q));end;
HiF4 Matrix 缩放值采用一个 32 位原始字,与 64 个逻辑 HiF4 lane 配合使用。本页说明 E6M2 基础字段如何与两级指数选择位组合;确切行为仍由 PTO-CUBE-HIF4-SCALE-001 及其 ASL 函数定义。
7:0 位保存一个 E6M2 基础缩放值,15:8 位保存 8 个 E1_8 指数位,31:16 位保存 16 个 E1_16 指数位。
对于 0..63 范围内的 lane 索引 q,HiF4ScaleExponentIncrement 选择第 8 + (q DIVRM 8) 位和第 16 + (q DIVRM 4) 位,再把两位相加,得到 0 到 2 的增量。
E6M2 编码 0x00 到 0xfe 是偏置为 48、具有 2 个尾数位的正有限值。0xff 是合法的静默 NaN 缩放值。
基础值有限时,HiF4ScaleFiniteValue 把 HiF4E6M2FiniteValue 与 FP19PowerOfTwo(increment) 相乘,其中 increment 由 HiF4ScaleExponentIncrement 返回。该函数要求基础字段分类为 NumericValue_PositiveNormal。
0x00 表示 2^-48;0xfe 表示 1.5 * 2^15;0xff 是静默 NaN 编码,因此 HiF4E6M2FiniteValue 不接受它。
每个 E1_8 位由连续 8 个逻辑 lane 共享,每个 E1_16 位由连续 4 个 lane 共享。对给定 q 起作用的是选中的这一对,而不是字中的其他指数位。
下面只演示索引方式,不增加缩放规则。
当基础值为 0x00、E1_8 的第 8 位和 E1_16 的第 16 位均置 1 时,lane q = 0 得到增量 2 和缩放值 2^-46;在 AVS 夹具中,lane q = 8 选择另外的指数位,因此增量为 0。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
A HiF4 Matrix scale MUST be one raw U32 word containing E6M2 in bits 7:0, eight E1_8 exponents in bits 15:8, and sixteen E1_16 exponents in bits 31:16. E6M2 values 00..FE MUST be finite with bias 48 and two fraction bits; FF MUST be a legal quiet NaN scale. One word scales 64 logical HiF4 lanes through the selected E1_8 plus E1_16 exponent bits.
PTO-CUBE-HIF4-SCALE-001asl/arch/data-types/formats/hif4-scale.asl6244309630f70598af01ec16b5ccc1e33b896b1db47b9fc315a79b454fe0255ad8219c1758a63297a987e21d60b6c3cdf066ae5b4606665f133c6e654fc4456b9 matching entries
PTO-AVS-ARCH-DATA-TYPES-FORMAT-HIF4-SCALE-STATIC-001tests/asl/arch/data-types/formats/hif4-scale/arch-static-hif4-scale-contract-001.asl46b5b244b12a06d0fc7c0387a000dc70045fc0728f59e7f38d0009c36246f76fPTO-AVS-ARCH-HIF4-SCALE-001tests/asl/arch/data-types/formats/hif4-scale/arch-bound-hif4-scale-001.asl1008e5fad222db2f31dda4d47b9a2825c69630bc28016b3a3ff0b6a92aa4432fPTO-AVS-BLOCK-TMATMULMX-HIF4-002tests/asl/block/execution/BSTART.TMATMULMX/block-exec-bstart-tmatmulmx-hif4-002.asl91f5b9bff2f01f56f15768ed160eaef7f8e7b29073a15cb3c8cecd7de6211ba9PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0101…
ADR-0101docs/status/decisions/0101-matrix-scale-and-cscale.mda5c962437636c0d3f4f3585d3b529fcc9821d4b00c540243c2351978196e9be0{
"classification": [
"data-types",
"formats",
"hif4-scale"
],
"documentation": "docs/arch/data-types/formats/hif4-scale.md",
"id": "PTO-ARCH-DATA-TYPES-FORMAT-HIF4-SCALE",
"mnemonic": null,
"readiness_subjects": [
"ADR-0101"
],
"semantic_tests": [
"PTO-AVS-ARCH-HIF4-SCALE-001"
],
"source": "asl/arch/data-types/formats/hif4-scale.asl",
"surface": "arch",
"tests": [
"PTO-AVS-ARCH-DATA-TYPES-FORMAT-HIF4-SCALE-STATIC-001",
"PTO-AVS-ARCH-HIF4-SCALE-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd868126244309630f70598af01ec16b5ccc1e33b896b1db47b9fc315a79b454fe0255ad38b301a788d31dbc8120b1b87be5b7ac8101100cdc56bb89642c55e87087a10asl/arch/data-types/formats/hif4-scale.aslasl/arch/data-types/formats/hif4-scale.asl