Skip to documentation
SLOP

tiny.simd.dotF32BFloat16Assume

Reference tiny.simd dotF32BFloat16Assume

Defined in dot.

Called byCallsdotcomputeF32BFloatarithmeticmulAddbfloatTagbfloatpromoteF32private sourcelib.simd.src.dotloadBFloatTailprivate sourcelib.simd.src.dotloadTail+3 moredotcomputeF32BFloatAssume
Static calls · unresolved targets: 0 · external targets: 0.

Source

Source: lib/simd/src/dot.zig:94

zig
pub fn computeF32BFloatAssume(    comptime D: type,    a: []const f32,    b: []const bfloat.BFloat16,    count: usize,    comptime assumptions: Assumptions,) f32 {    if (comptime D.Lane != f32) @compileError("mixed dot requires an f32 descriptor");    validateInputs(D.lane_count, a.len, b.len, count, assumptions);    var sum0: D.Vector = @splat(0);    var sum1: D.Vector = @splat(0);    var sum2: D.Vector = @splat(0);    var sum3: D.Vector = @splat(0);    var index: usize = 0;    while (index + 4 * D.lane_count <= count) : (index += 4 * D.lane_count) {        sum0 = mixedMulAdd(D, a[index..], b[index..], sum0);        const index1 = index + D.lane_count;        sum1 = mixedMulAdd(D, a[index1..], b[index1..], sum1);        const index2 = index + 2 * D.lane_count;        sum2 = mixedMulAdd(D, a[index2..], b[index2..], sum2);        const index3 = index + 3 * D.lane_count;        sum3 = mixedMulAdd(D, a[index3..], b[index3..], sum3);    }    while (index + D.lane_count <= count) : (index += D.lane_count) {        sum0 = mixedMulAdd(D, a[index..], b[index..], sum0);    }    if (!assumptions.multiple_of_vector and index != count) {        const remaining = count - index;        const av = loadTail(D, a[index..], remaining, assumptions.padded_to_vector);        const DB = bfloat.Tag(D.lane_count);        const bits = loadBFloatTail(DB, b[index..], remaining, assumptions.padded_to_vector);        sum1 = arithmetic.mulAdd(D, av, bfloat.promoteF32(D, bits), sum1);    }    return reduce.sum(D, (sum0 + sum1) + (sum2 + sum3));}

Source: lib/simd/src/root.zig:495

zig
pub const dotF32BFloat16Assume = dot.computeF32BFloatAssume;

Complete call list

8 direct calls.

Audit

Definitions1
Public names2
Members0
Version26.7.0
Revisiondaab053ee433