9.7.15.3. Matrix Data-types

The matrix multiply and accumulate operation is supported separately on integer, floating-point, sub-byte integer and single bit data-types. All operands must contain the same basic type kind, i.e., integer or floating-point.

For floating-point matrix multiply and accumulate operation, different matrix operands may have different precision, as described later.

For integer matrix multiply and accumulate operation, both multiplicand matrices (A and B) must have elements of the same data-type, e.g. both signed integer or both unsigned integer.

Data-type Multiplicands (A or B) Accumulator (D)
Integer both .u8 or both .s8 .s32
Floating Point .f16 .f16, .f32
Alternate floating Point .bf16 .f32
Alternate floating Point .tf32 .f32
Alternate floating Point .e4m3, .e5m2 .f16, .f32
Single-bit integer .b1 .s32