cera 0.5.4

Rust-native LLM inference engine
Documentation
@binding(3) @group(0) var<storage, read> par_buf_0 : array<vec4<u32>>;

@binding(0) @group(0) var<storage, read_write> x_buf_0 : array<f32>;

@binding(1) @group(0) var<storage, read> w_buf_0 : array<f32>;

@binding(2) @group(0) var<storage, read> b_buf_0 : array<f32>;

@compute
@workgroup_size(256, 1, 1)
fn chan_affine_silu(@builtin(global_invocation_id) gid_0 : vec3<u32>)
{
    var t_0 : u32 = par_buf_0[i32(0)].y;
    var idx_0 : u32 = gid_0.x;
    if(idx_0 >= (par_buf_0[i32(0)].x * t_0))
    {
        return;
    }
    var c_0 : u32 = idx_0 / t_0;
    var v_0 : f32 = clamp(x_buf_0[idx_0] * w_buf_0[c_0] + b_buf_0[c_0], -80.0f, 80.0f);
    x_buf_0[idx_0] = v_0 / (1.0f + exp(- v_0));
    return;
}