diff --git "a/net_mindgrab.js" "b/net_mindgrab.js" new file mode 100644--- /dev/null +++ "b/net_mindgrab.js" @@ -0,0 +1,2074 @@ + +const mindgrab = (() => { +const getTensorBuffer = (safetensorBuffer, tensorMetadata) => { + return safetensorBuffer.subarray(...tensorMetadata.data_offsets); +}; + +const getTensorMetadata = (safetensorBuffer) => { + const metadataLength = Number(new DataView(safetensorBuffer.buffer).getBigUint64(0, true)); + const metadata = JSON.parse(new TextDecoder("utf8").decode(safetensorBuffer.subarray(8, 8 + metadataLength))); + return Object.fromEntries(Object.entries(metadata).filter(([k, v]) => k !== "__metadata__").map(([k, v]) => [k, {...v, data_offsets: v.data_offsets.map(x => 8 + metadataLength + x)}])); +}; + +const createEmptyBuf = (device, size) => { + return device.createBuffer({size, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST }); +}; + +const createUniformBuf = (device, size) => { + return device.createBuffer({size, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST}) +} + +const createInfinityUniformBuf = (device) => { + const size = 4; + const buf = device.createBuffer({ + mappedAtCreation: true, + size, + usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST + }); + new Float32Array(buf.getMappedRange())[0] = Infinity; + buf.unmap(); + return buf; +}; + +const createWeightBuf = (device, size, data) => { + const buf = device.createBuffer({ size, usage: GPUBufferUsage.STORAGE, mappedAtCreation: true }); + new Uint8Array(buf.getMappedRange()).set(data); buf.unmap(); + return buf; +}; + +const addComputePass = (device, commandEncoder, pipeline, layout, infinityUniformBuf, bufs, workgroup) => { + const bindGroup = device.createBindGroup({ + layout: layout, + entries: [ + { binding: 0, resource: { buffer: infinityUniformBuf } }, + ...bufs.map((buffer, index) => ({ binding: index + 1, resource: { buffer } })) + ] + }); + + const passEncoder = commandEncoder.beginComputePass(); + passEncoder.setPipeline(pipeline); + passEncoder.setBindGroup(0, bindGroup); + passEncoder.dispatchWorkgroups(...workgroup); + passEncoder.end(); +}; + +const r_5_256_32_4_8_16_4_3_3_3_3 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_251658240:array; +@group(0) @binding(2)vardata1_16777216:array; +@group(0) @binding(3)vardata2_405:array; +@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 128 */ + var gidx1 = i32(gindex.y); /* 256 */ + var gidx2 = i32(gindex.z); /* 5 */ + var lidx0 = i32(lindex.x); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx1; + var precast1 = lidx0; + var precast2 = lidx1; + var precast3 = (gidx0>>2u); + var precast4 = (gidx0&3); + var precast5 = (bitcast(precast0)<<16u); + var precast6 = (bitcast(precast1)<<8u); + var precast7 = (bitcast(precast2)<<2u); + var precast8 = (bitcast(precast3)<<11u); + var cast0 = bitcast(precast4); + var precast9 = (cast0<<4u); + var precast10 = (cast0<<6u); + var cast1 = bitcast(precast5); + var alu0 = (lidx1+bitcast(precast9)); + var alu1 = (bitcast(precast6)+bitcast(precast8)+bitcast(precast7)+bitcast(precast10)); + var alu2 = (gidx0<120); + var alu3 = (alu0<60); + var alu4 = (3(precast11); + var precast12 = (cast2<<4u); + var precast13 = (cast2<<20u); + var alu18 = (gidx1+bitcast(precast12)); + var alu19 = (alu1+cast1+bitcast(precast13)); + var alu20 = ((15 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_983040:array; +@group(0) @binding(2)vardata1_251658240:array; +@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 10240 */ + var lidx0 = i32(lindex.x); /* 32 */ + acc0[0] = 0.0f; + acc0[1] = 0.0f; + acc0[2] = 0.0f; + for (var Ridx0 = 0; Ridx0 < 64; Ridx0++) { + var precast0 = Ridx0; + var precast1 = (bitcast(precast0)<<2u); + var alu3 = ((gidx0*24576)+(lidx0*768)+bitcast(precast1)); + var val0 = data1_251658240[(alu3+1)]; + var val1 = data1_251658240[(alu3+2)]; + var val2 = data1_251658240[(alu3+3)]; + var val3 = data1_251658240[(alu3+256)]; + var val4 = data1_251658240[(alu3+257)]; + var val5 = data1_251658240[(alu3+258)]; + var val6 = data1_251658240[(alu3+259)]; + var val7 = data1_251658240[alu3]; + var val8 = data1_251658240[(alu3+512)]; + var val9 = data1_251658240[(alu3+513)]; + var val10 = data1_251658240[(alu3+514)]; + var val11 = data1_251658240[(alu3+515)]; + acc0[0] = (acc0[0]+val7+val0+val1+val2); + acc0[1] = (acc0[1]+val3+val4+val5+val6); + acc0[2] = (acc0[2]+val8+val9+val10+val11); + } + var alu8 = ((gidx0*96)+(lidx0*3)); + data0_983040[(alu8+1)] = acc0[1]; + data0_983040[(alu8+2)] = acc0[2]; + data0_983040[alu8] = acc0[0]; +}`; + +const r_40_32_3_64_4 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_3840:array; +@group(0) @binding(2)vardata1_983040:array; +@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 40 */ + var lidx0 = i32(lindex.x); /* 32 */ + acc0[0] = 0.0f; + acc0[1] = 0.0f; + acc0[2] = 0.0f; + for (var Ridx0 = 0; Ridx0 < 64; Ridx0++) { + var precast0 = Ridx0; + var precast1 = (bitcast(precast0)<<2u); + var alu3 = ((gidx0*24576)+(lidx0*768)+bitcast(precast1)); + var val0 = data1_983040[(alu3+1)]; + var val1 = data1_983040[(alu3+2)]; + var val2 = data1_983040[(alu3+3)]; + var val3 = data1_983040[(alu3+256)]; + var val4 = data1_983040[(alu3+257)]; + var val5 = data1_983040[(alu3+258)]; + var val6 = data1_983040[(alu3+259)]; + var val7 = data1_983040[alu3]; + var val8 = data1_983040[(alu3+512)]; + var val9 = data1_983040[(alu3+513)]; + var val10 = data1_983040[(alu3+514)]; + var val11 = data1_983040[(alu3+515)]; + acc0[0] = (acc0[0]+val7+val0+val1+val2); + acc0[1] = (acc0[1]+val3+val4+val5+val6); + acc0[2] = (acc0[2]+val8+val9+val10+val11); + } + var alu8 = ((gidx0*96)+(lidx0*3)); + data0_3840[(alu8+1)] = acc0[1]; + data0_3840[(alu8+2)] = acc0[2]; + data0_3840[alu8] = acc0[0]; +}`; + +const r_15_16_16 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +var temp0: array; +@group(0) @binding(1)vardata0_15:array; +@group(0) @binding(2)vardata1_3840:array; +@compute @workgroup_size(16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var acc1: array; + var gidx0 = i32(gindex.x); /* 15 */ + var lidx0 = i32(lindex.x); /* 16 */ + var precast0 = gidx0; + var precast1 = lidx0; + var precast2 = (bitcast(precast0)<<8u); + var precast3 = (bitcast(precast1)<<4u); + acc0[0] = 0.0f; + for (var Ridx0 = 0; Ridx0 < 16; Ridx0++) { + var val0 = data1_3840[(bitcast(precast3)+Ridx0+bitcast(precast2))]; + acc0[0] = (acc0[0]+val0); + } + temp0[lidx0] = acc0[0]; + workgroupBarrier(); + acc1[0] = 0.0f; + for (var Ridx102 = 0; Ridx102 < 16; Ridx102++) { + var val1 = temp0[Ridx102]; + acc1[0] = (acc1[0]+val1); + } + var alu8 = ((bool(lidx0))!=true); + if (alu8) { + data0_15[gidx0] = (acc1[0]*5.960464477539063e-08f); + } +}`; + +const r_5_1024_3_16_4_64_4 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_983040:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@compute @workgroup_size(3,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx1 = i32(gindex.y); /* 5 */ + var lidx0 = i32(lindex.x); /* 3 */ + var val0 = data2_15[(lidx0+(gidx1*3))]; + var gidx0 = i32(gindex.x); /* 1024 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx0; + var precast1 = lidx0; + var precast2 = lidx1; + var cast0 = bitcast(precast0); + var precast3 = (cast0<<14u); + var cast1 = bitcast(precast1); + var precast4 = (cast1<<24u); + var cast2 = bitcast(precast2); + var precast5 = (cast2<<10u); + acc0[0] = 0.0f; + acc0[1] = 0.0f; + acc0[2] = 0.0f; + acc0[3] = 0.0f; + for (var Ridx0 = 0; Ridx0 < 64; Ridx0++) { + var precast6 = Ridx0; + var precast7 = (bitcast(precast6)<<2u); + var alu4 = (bitcast(precast3)+bitcast(precast5)+bitcast(precast7)+(gidx1*50331648)+bitcast(precast4)); + var val1 = data1_251658240[alu4]; + var val2 = data1_251658240[(alu4+1)]; + var val3 = data1_251658240[(alu4+2)]; + var val4 = data1_251658240[(alu4+3)]; + var val5 = data1_251658240[(alu4+256)]; + var val6 = data1_251658240[(alu4+257)]; + var val7 = data1_251658240[(alu4+258)]; + var val8 = data1_251658240[(alu4+259)]; + var val9 = data1_251658240[(alu4+512)]; + var val10 = data1_251658240[(alu4+513)]; + var val11 = data1_251658240[(alu4+514)]; + var val12 = data1_251658240[(alu4+515)]; + var val13 = data1_251658240[(alu4+768)]; + var val14 = data1_251658240[(alu4+769)]; + var val15 = data1_251658240[(alu4+770)]; + var val16 = data1_251658240[(alu4+771)]; + var alu5 = (val1-val0); + var alu6 = (val5-val0); + var alu7 = (val9-val0); + var alu8 = (val13-val0); + var alu9 = (val2-val0); + var alu10 = (val6-val0); + var alu11 = (val10-val0); + var alu12 = (val14-val0); + var alu13 = (val3-val0); + var alu14 = (val7-val0); + var alu15 = (val11-val0); + var alu16 = (val15-val0); + var alu17 = (val4-val0); + var alu18 = (val8-val0); + var alu19 = (val12-val0); + var alu20 = (val16-val0); + acc0[0] = (acc0[0]+(alu5*alu5)+(alu9*alu9)+(alu13*alu13)+(alu17*alu17)); + acc0[1] = (acc0[1]+(alu6*alu6)+(alu10*alu10)+(alu14*alu14)+(alu18*alu18)); + acc0[2] = (acc0[2]+(alu7*alu7)+(alu11*alu11)+(alu15*alu15)+(alu19*alu19)); + acc0[3] = (acc0[3]+(alu8*alu8)+(alu12*alu12)+(alu16*alu16)+(alu20*alu20)); + } + var precast8 = (cast0<<6u); + var precast9 = (cast1<<16u); + var precast10 = (cast2<<2u); + var alu26 = (bitcast(precast8)+bitcast(precast10)+(gidx1*196608)+bitcast(precast9)); + data0_983040[alu26] = acc0[0]; + data0_983040[(alu26+1)] = acc0[1]; + data0_983040[(alu26+2)] = acc0[2]; + data0_983040[(alu26+3)] = acc0[3]; +}`; + +const r_15_16_16n1 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +var temp0: array; +@group(0) @binding(1)vardata0_15:array; +@group(0) @binding(2)vardata1_3840:array; +@compute @workgroup_size(16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var acc1: array; + var gidx0 = i32(gindex.x); /* 15 */ + var lidx0 = i32(lindex.x); /* 16 */ + var precast0 = gidx0; + var precast1 = lidx0; + var precast2 = (bitcast(precast0)<<8u); + var precast3 = (bitcast(precast1)<<4u); + acc0[0] = 0.0f; + for (var Ridx0 = 0; Ridx0 < 16; Ridx0++) { + var val0 = data1_3840[(bitcast(precast3)+Ridx0+bitcast(precast2))]; + acc0[0] = (acc0[0]+val0); + } + temp0[lidx0] = acc0[0]; + workgroupBarrier(); + acc1[0] = 0.0f; + for (var Ridx102 = 0; Ridx102 < 16; Ridx102++) { + var val1 = temp0[Ridx102]; + acc1[0] = (acc1[0]+val1); + } + var alu8 = ((bool(lidx0))!=true); + if (alu8) { + data0_15[gidx0] = (1/sqrt(((acc1[0]*5.960464477539063e-08f)+1e-05f))); + } +}`; + +const r_5_256_32_4_8_16_4_3_15_3_3_3 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_251658240:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@group(0) @binding(4)vardata3_15:array; +@group(0) @binding(5)vardata4_6075:array; +@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 128 */ + var gidx1 = i32(gindex.y); /* 256 */ + var gidx2 = i32(gindex.z); /* 5 */ + var lidx0 = i32(lindex.x); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx1; + var precast1 = lidx0; + var precast2 = lidx1; + var precast3 = (gidx0>>2u); + var precast4 = (gidx0&3); + var precast5 = (bitcast(precast0)<<16u); + var precast6 = (bitcast(precast1)<<8u); + var precast7 = (bitcast(precast2)<<2u); + var precast8 = (bitcast(precast3)<<11u); + var cast0 = bitcast(precast4); + var precast9 = (cast0<<4u); + var precast10 = (cast0<<6u); + var cast1 = bitcast(precast5); + var alu0 = (lidx1+bitcast(precast9)); + var alu1 = (bitcast(precast6)+bitcast(precast8)+bitcast(precast7)+bitcast(precast10)); + var alu2 = (gidx0<124); + var alu3 = (alu0<62); + var alu4 = (1(precast11)<<24u); + for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) { + var precast13 = Ridx1; + var cast2 = bitcast(precast13); + var precast14 = (cast2<<3u); + var precast15 = (cast2<<19u); + var alu18 = (gidx1+bitcast(precast14)); + var alu19 = (alu1+cast1+bitcast(precast15)+bitcast(precast12)); + var alu20 = ((7 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_251658240:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@group(0) @binding(4)vardata3_15:array; +@group(0) @binding(5)vardata4_6075:array; +@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 128 */ + var gidx1 = i32(gindex.y); /* 256 */ + var gidx2 = i32(gindex.z); /* 5 */ + var lidx0 = i32(lindex.x); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx1; + var precast1 = lidx0; + var precast2 = lidx1; + var precast3 = (gidx0>>2u); + var alu0 = (gidx0&3); + var precast4 = alu0; + var precast5 = (bitcast(precast0)<<16u); + var precast6 = (bitcast(precast1)<<8u); + var precast7 = (bitcast(precast2)<<2u); + var cast0 = bitcast(precast3); + var precast8 = (cast0<<3u); + var precast9 = (cast0<<11u); + var cast1 = bitcast(precast4); + var precast10 = (cast1<<4u); + var precast11 = (cast1<<6u); + var cast2 = bitcast(precast5); + var alu1 = (lidx0+bitcast(precast8)); + var alu2 = (bitcast(precast6)+bitcast(precast9)+bitcast(precast7)+bitcast(precast11)); + var alu3 = (alu1<252); + var alu4 = ((lidx1+bitcast(precast10))<63); + var alu5 = (0<(lidx1+alu0)); + var alu6 = (3(precast12)<<24u); + for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) { + var precast14 = Ridx1; + var cast3 = bitcast(precast14); + var precast15 = (cast3<<2u); + var precast16 = (cast3<<18u); + var alu19 = (gidx1+bitcast(precast15)); + var alu20 = (alu2+cast2+bitcast(precast16)+bitcast(precast13)); + var alu21 = ((3 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_251658240:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@group(0) @binding(4)vardata3_15:array; +@group(0) @binding(5)vardata4_6075:array; +@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 128 */ + var gidx1 = i32(gindex.y); /* 256 */ + var gidx2 = i32(gindex.z); /* 5 */ + var lidx0 = i32(lindex.x); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx1; + var precast1 = lidx0; + var precast2 = lidx1; + var precast3 = (gidx0>>2u); + var precast4 = (gidx0&3); + var precast5 = (bitcast(precast0)<<16u); + var precast6 = (bitcast(precast1)<<8u); + var cast0 = bitcast(precast2); + var precast7 = (cast0<<1u); + var precast8 = (cast0<<2u); + var cast1 = bitcast(precast3); + var precast9 = (cast1<<3u); + var precast10 = (cast1<<11u); + var cast2 = bitcast(precast4); + var precast11 = (cast2<<4u); + var precast12 = (cast2<<5u); + var precast13 = (cast2<<6u); + var cast3 = bitcast(precast5); + var alu0 = (lidx0+bitcast(precast9)); + var alu1 = (bitcast(precast8)+bitcast(precast13)); + var alu2 = (bitcast(precast6)+bitcast(precast10)+alu1); + var alu3 = (alu0<254); + var alu4 = ((lidx1+bitcast(precast11))<63); + var alu5 = (alu1<251); + var alu6 = (0<(bitcast(precast7)+bitcast(precast12))); + var alu7 = (0(precast14)<<24u); + for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) { + var precast16 = Ridx1; + var cast4 = bitcast(precast16); + var precast17 = (cast4<<1u); + var precast18 = (cast4<<17u); + var alu21 = (gidx1+bitcast(precast17)); + var alu22 = (alu2+cast3+bitcast(precast18)+bitcast(precast15)); + var alu23 = ((1 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_251658240:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@group(0) @binding(4)vardata3_15:array; +@group(0) @binding(5)vardata4_6075:array; +@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 128 */ + var gidx1 = i32(gindex.y); /* 256 */ + var gidx2 = i32(gindex.z); /* 5 */ + var lidx0 = i32(lindex.x); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx1; + var precast1 = lidx0; + var precast2 = lidx1; + var alu0 = (gidx0>>2u); + var precast3 = alu0; + var alu1 = (gidx0&3); + var precast4 = alu1; + var precast5 = (bitcast(precast0)<<16u); + var precast6 = (bitcast(precast1)<<8u); + var precast7 = (bitcast(precast2)<<2u); + var cast0 = bitcast(precast3); + var precast8 = (cast0<<3u); + var precast9 = (cast0<<11u); + var cast1 = bitcast(precast4); + var precast10 = (cast1<<4u); + var precast11 = (cast1<<6u); + var cast2 = bitcast(precast5); + var alu2 = (bitcast(precast6)+bitcast(precast9)+bitcast(precast7)+bitcast(precast11)); + var alu3 = ((lidx0+bitcast(precast8))<255); + var alu4 = ((lidx1+bitcast(precast10))<63); + var alu5 = (0<(lidx0+alu0)); + var alu6 = (0<(lidx1+alu1)); + acc0[0] = 0.0f; + acc0[1] = 0.0f; + acc0[2] = 0.0f; + acc0[3] = 0.0f; + acc0[4] = 0.0f; + acc0[5] = 0.0f; + acc0[6] = 0.0f; + acc0[7] = 0.0f; + acc0[8] = 0.0f; + acc0[9] = 0.0f; + acc0[10] = 0.0f; + acc0[11] = 0.0f; + for (var Ridx0 = 0; Ridx0 < 15; Ridx0++) { + var val0 = data2_15[Ridx0]; + var val1 = data3_15[Ridx0]; + var precast12 = Ridx0; + var precast13 = (bitcast(precast12)<<24u); + for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) { + var precast14 = Ridx1; + var precast15 = (bitcast(precast14)<<16u); + var alu19 = (gidx1+Ridx1); + var alu20 = (alu2+cast2+bitcast(precast15)+bitcast(precast13)); + var alu21 = ((0 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_251658240:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@group(0) @binding(4)vardata3_15:array; +@group(0) @binding(5)vardata4_6075:array; +@compute @workgroup_size(8,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var acc0: array; + var gidx0 = i32(gindex.x); /* 128 */ + var gidx1 = i32(gindex.y); /* 256 */ + var gidx2 = i32(gindex.z); /* 5 */ + var lidx0 = i32(lindex.x); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx1; + var precast1 = lidx0; + var precast2 = lidx1; + var precast3 = (gidx0>>2u); + var precast4 = (gidx0&3); + var precast5 = (bitcast(precast0)<<16u); + var precast6 = (bitcast(precast1)<<8u); + var precast7 = (bitcast(precast2)<<2u); + var precast8 = (bitcast(precast3)<<11u); + var cast0 = bitcast(precast4); + var precast9 = (cast0<<4u); + var precast10 = (cast0<<6u); + var cast1 = bitcast(precast5); + var alu0 = (lidx1+bitcast(precast9)); + var alu1 = (bitcast(precast6)+bitcast(precast8)+bitcast(precast7)+bitcast(precast10)); + var alu2 = (gidx0<120); + var alu3 = (alu0<60); + var alu4 = (3(precast11)<<24u); + for (var Ridx1 = 0; Ridx1 < 3; Ridx1++) { + var precast13 = Ridx1; + var cast2 = bitcast(precast13); + var precast14 = (cast2<<4u); + var precast15 = (cast2<<20u); + var alu18 = (gidx1+bitcast(precast14)); + var alu19 = (alu1+cast1+bitcast(precast15)+bitcast(precast12)); + var alu20 = ((15 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_33554432:array; +@group(0) @binding(2)vardata1_251658240:array; +@group(0) @binding(3)vardata2_15:array; +@group(0) @binding(4)vardata3_15:array; +@group(0) @binding(5)vardata4_30:array; +@compute @workgroup_size(2,16) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var gidx0 = i32(gindex.x); /* 32768 */ + var gidx1 = i32(gindex.y); /* 8 */ + var lidx1 = i32(lindex.y); /* 16 */ + var precast0 = gidx0; + var precast1 = gidx1; + var precast2 = lidx1; + var precast3 = (bitcast(precast0)<<9u); + var precast4 = (bitcast(precast1)<<6u); + var precast5 = (bitcast(precast2)<<2u); + var alu0 = (bitcast(precast3)+bitcast(precast4)+bitcast(precast5)); + var val0 = data1_251658240[alu0]; + var val1 = data2_15[0]; + var val2 = data3_15[0]; + var lidx0 = i32(lindex.x); /* 2 */ + var alu1 = (lidx0*15); + var val3 = data4_30[(alu1+4)]; + var val4 = data4_30[alu1]; + var val5 = data1_251658240[(alu0+16777216)]; + var val6 = data2_15[1]; + var val7 = data3_15[1]; + var val8 = data4_30[(alu1+1)]; + var val9 = data1_251658240[(alu0+33554432)]; + var val10 = data2_15[2]; + var val11 = data3_15[2]; + var val12 = data4_30[(alu1+2)]; + var val13 = data1_251658240[(alu0+50331648)]; + var val14 = data2_15[3]; + var val15 = data3_15[3]; + var val16 = data4_30[(alu1+3)]; + var val17 = data1_251658240[(alu0+67108864)]; + var val18 = data2_15[4]; + var val19 = data3_15[4]; + var val20 = data1_251658240[(alu0+83886080)]; + var val21 = data2_15[5]; + var val22 = data3_15[5]; + var val23 = data4_30[(alu1+5)]; + var val24 = data1_251658240[(alu0+100663296)]; + var val25 = data2_15[6]; + var val26 = data3_15[6]; + var val27 = data4_30[(alu1+6)]; + var val28 = data1_251658240[(alu0+117440512)]; + var val29 = data2_15[7]; + var val30 = data3_15[7]; + var val31 = data4_30[(alu1+7)]; + var val32 = data1_251658240[(alu0+134217728)]; + var val33 = data2_15[8]; + var val34 = data3_15[8]; + var val35 = data4_30[(alu1+8)]; + var val36 = data1_251658240[(alu0+150994944)]; + var val37 = data2_15[9]; + var val38 = data3_15[9]; + var val39 = data4_30[(alu1+9)]; + var val40 = data1_251658240[(alu0+167772160)]; + var val41 = data2_15[10]; + var val42 = data3_15[10]; + var val43 = data4_30[(alu1+10)]; + var val44 = data1_251658240[(alu0+50331649)]; + var val45 = data1_251658240[(alu0+67108865)]; + var val46 = data1_251658240[(alu0+83886081)]; + var val47 = data1_251658240[(alu0+100663297)]; + var val48 = data1_251658240[(alu0+117440513)]; + var val49 = data1_251658240[(alu0+134217729)]; + var val50 = data1_251658240[(alu0+150994945)]; + var val51 = data1_251658240[(alu0+167772161)]; + var val52 = data1_251658240[(alu0+184549376)]; + var val53 = data2_15[11]; + var val54 = data3_15[11]; + var val55 = data4_30[(alu1+11)]; + var val56 = data1_251658240[(alu0+201326592)]; + var val57 = data2_15[12]; + var val58 = data3_15[12]; + var val59 = data4_30[(alu1+12)]; + var val60 = data1_251658240[(alu0+218103808)]; + var val61 = data2_15[13]; + var val62 = data3_15[13]; + var val63 = data4_30[(alu1+13)]; + var val64 = data1_251658240[(alu0+1)]; + var val65 = data1_251658240[(alu0+16777217)]; + var val66 = data1_251658240[(alu0+33554433)]; + var val67 = data1_251658240[(alu0+184549377)]; + var val68 = data1_251658240[(alu0+234881024)]; + var val69 = data2_15[14]; + var val70 = data3_15[14]; + var val71 = data4_30[(alu1+14)]; + var val72 = data1_251658240[(alu0+2)]; + var val73 = data1_251658240[(alu0+3)]; + var val74 = data1_251658240[(alu0+16777218)]; + var val75 = data1_251658240[(alu0+16777219)]; + var val76 = data1_251658240[(alu0+33554434)]; + var val77 = data1_251658240[(alu0+33554435)]; + var val78 = data1_251658240[(alu0+50331650)]; + var val79 = data1_251658240[(alu0+50331651)]; + var val80 = data1_251658240[(alu0+67108866)]; + var val81 = data1_251658240[(alu0+67108867)]; + var val82 = data1_251658240[(alu0+83886082)]; + var val83 = data1_251658240[(alu0+83886083)]; + var val84 = data1_251658240[(alu0+100663298)]; + var val85 = data1_251658240[(alu0+100663299)]; + var val86 = data1_251658240[(alu0+117440514)]; + var val87 = data1_251658240[(alu0+117440515)]; + var val88 = data1_251658240[(alu0+134217730)]; + var val89 = data1_251658240[(alu0+134217731)]; + var val90 = data1_251658240[(alu0+150994946)]; + var val91 = data1_251658240[(alu0+150994947)]; + var val92 = data1_251658240[(alu0+167772162)]; + var val93 = data1_251658240[(alu0+167772163)]; + var val94 = data1_251658240[(alu0+184549378)]; + var val95 = data1_251658240[(alu0+184549379)]; + var val96 = data1_251658240[(alu0+201326593)]; + var val97 = data1_251658240[(alu0+201326594)]; + var val98 = data1_251658240[(alu0+201326595)]; + var val99 = data1_251658240[(alu0+218103809)]; + var val100 = data1_251658240[(alu0+218103810)]; + var val101 = data1_251658240[(alu0+218103811)]; + var val102 = data1_251658240[(alu0+234881025)]; + var val103 = data1_251658240[(alu0+234881026)]; + var val104 = data1_251658240[(alu0+234881027)]; + var precast6 = lidx0; + var precast7 = (bitcast(precast6)<<24u); + var alu2 = (alu0+bitcast(precast7)); + var alu3 = ((val0-val1)*val2); + var alu4 = ((val64-val1)*val2); + var alu5 = ((val72-val1)*val2); + var alu6 = ((val73-val1)*val2); + var alu7 = ((val5-val6)*val7); + var alu8 = ((val65-val6)*val7); + var alu9 = ((val74-val6)*val7); + var alu10 = ((val75-val6)*val7); + var alu11 = ((val9-val10)*val11); + var alu12 = ((val66-val10)*val11); + var alu13 = ((val76-val10)*val11); + var alu14 = ((val77-val10)*val11); + var alu15 = ((val13-val14)*val15); + var alu16 = ((val44-val14)*val15); + var alu17 = ((val78-val14)*val15); + var alu18 = ((val79-val14)*val15); + var alu19 = ((val17-val18)*val19); + var alu20 = ((val45-val18)*val19); + var alu21 = ((val80-val18)*val19); + var alu22 = ((val81-val18)*val19); + var alu23 = ((val20-val21)*val22); + var alu24 = ((val46-val21)*val22); + var alu25 = ((val82-val21)*val22); + var alu26 = ((val83-val21)*val22); + var alu27 = ((val24-val25)*val26); + var alu28 = ((val47-val25)*val26); + var alu29 = ((val84-val25)*val26); + var alu30 = ((val85-val25)*val26); + var alu31 = ((val28-val29)*val30); + var alu32 = ((val48-val29)*val30); + var alu33 = ((val86-val29)*val30); + var alu34 = ((val87-val29)*val30); + var alu35 = ((val32-val33)*val34); + var alu36 = ((val49-val33)*val34); + var alu37 = ((val88-val33)*val34); + var alu38 = ((val89-val33)*val34); + var alu39 = ((val36-val37)*val38); + var alu40 = ((val50-val37)*val38); + var alu41 = ((val90-val37)*val38); + var alu42 = ((val91-val37)*val38); + var alu43 = ((val40-val41)*val42); + var alu44 = ((val51-val41)*val42); + var alu45 = ((val92-val41)*val42); + var alu46 = ((val93-val41)*val42); + var alu47 = ((val52-val53)*val54); + var alu48 = ((val67-val53)*val54); + var alu49 = ((val94-val53)*val54); + var alu50 = ((val95-val53)*val54); + var alu51 = ((val56-val57)*val58); + var alu52 = ((val96-val57)*val58); + var alu53 = ((val97-val57)*val58); + var alu54 = ((val98-val57)*val58); + var alu55 = ((val60-val61)*val62); + var alu56 = ((val99-val61)*val62); + var alu57 = ((val100-val61)*val62); + var alu58 = ((val101-val61)*val62); + var alu59 = ((val68-val69)*val70); + var alu60 = ((val102-val69)*val70); + var alu61 = ((val103-val69)*val70); + var alu62 = ((val104-val69)*val70); + data0_33554432[alu2] = (((1/(1.0f+exp2(((alu3+(0.044715f*alu3*alu3*alu3))*-2.302208198144325f))))*alu3*val4)+((1/(1.0f+exp2(((alu7+(0.044715f*alu7*alu7*alu7))*-2.302208198144325f))))*alu7*val8)+((1/(1.0f+exp2(((alu11+(0.044715f*alu11*alu11*alu11))*-2.302208198144325f))))*alu11*val12)+((1/(1.0f+exp2(((alu15+(0.044715f*alu15*alu15*alu15))*-2.302208198144325f))))*alu15*val16)+((1/(1.0f+exp2(((alu19+(0.044715f*alu19*alu19*alu19))*-2.302208198144325f))))*alu19*val3)+((1/(1.0f+exp2(((alu23+(0.044715f*alu23*alu23*alu23))*-2.302208198144325f))))*alu23*val23)+((1/(1.0f+exp2(((alu27+(0.044715f*alu27*alu27*alu27))*-2.302208198144325f))))*alu27*val27)+((1/(1.0f+exp2(((alu31+(0.044715f*alu31*alu31*alu31))*-2.302208198144325f))))*alu31*val31)+((1/(1.0f+exp2(((alu35+(0.044715f*alu35*alu35*alu35))*-2.302208198144325f))))*alu35*val35)+((1/(1.0f+exp2(((alu39+(0.044715f*alu39*alu39*alu39))*-2.302208198144325f))))*alu39*val39)+((1/(1.0f+exp2(((alu43+(0.044715f*alu43*alu43*alu43))*-2.302208198144325f))))*alu43*val43)+((1/(1.0f+exp2(((alu47+(0.044715f*alu47*alu47*alu47))*-2.302208198144325f))))*alu47*val55)+((1/(1.0f+exp2(((alu51+(0.044715f*alu51*alu51*alu51))*-2.302208198144325f))))*alu51*val59)+((1/(1.0f+exp2(((alu55+(0.044715f*alu55*alu55*alu55))*-2.302208198144325f))))*alu55*val63)+((1/(1.0f+exp2(((alu59+(0.044715f*alu59*alu59*alu59))*-2.302208198144325f))))*alu59*val71)); + data0_33554432[(alu2+1)] = (((1/(1.0f+exp2(((alu4+(0.044715f*alu4*alu4*alu4))*-2.302208198144325f))))*alu4*val4)+((1/(1.0f+exp2(((alu8+(0.044715f*alu8*alu8*alu8))*-2.302208198144325f))))*alu8*val8)+((1/(1.0f+exp2(((alu12+(0.044715f*alu12*alu12*alu12))*-2.302208198144325f))))*alu12*val12)+((1/(1.0f+exp2(((alu16+(0.044715f*alu16*alu16*alu16))*-2.302208198144325f))))*alu16*val16)+((1/(1.0f+exp2(((alu20+(0.044715f*alu20*alu20*alu20))*-2.302208198144325f))))*alu20*val3)+((1/(1.0f+exp2(((alu24+(0.044715f*alu24*alu24*alu24))*-2.302208198144325f))))*alu24*val23)+((1/(1.0f+exp2(((alu28+(0.044715f*alu28*alu28*alu28))*-2.302208198144325f))))*alu28*val27)+((1/(1.0f+exp2(((alu32+(0.044715f*alu32*alu32*alu32))*-2.302208198144325f))))*alu32*val31)+((1/(1.0f+exp2(((alu36+(0.044715f*alu36*alu36*alu36))*-2.302208198144325f))))*alu36*val35)+((1/(1.0f+exp2(((alu40+(0.044715f*alu40*alu40*alu40))*-2.302208198144325f))))*alu40*val39)+((1/(1.0f+exp2(((alu44+(0.044715f*alu44*alu44*alu44))*-2.302208198144325f))))*alu44*val43)+((1/(1.0f+exp2(((alu48+(0.044715f*alu48*alu48*alu48))*-2.302208198144325f))))*alu48*val55)+((1/(1.0f+exp2(((alu52+(0.044715f*alu52*alu52*alu52))*-2.302208198144325f))))*alu52*val59)+((1/(1.0f+exp2(((alu56+(0.044715f*alu56*alu56*alu56))*-2.302208198144325f))))*alu56*val63)+((1/(1.0f+exp2(((alu60+(0.044715f*alu60*alu60*alu60))*-2.302208198144325f))))*alu60*val71)); + data0_33554432[(alu2+2)] = (((1/(1.0f+exp2(((alu5+(0.044715f*alu5*alu5*alu5))*-2.302208198144325f))))*alu5*val4)+((1/(1.0f+exp2(((alu9+(0.044715f*alu9*alu9*alu9))*-2.302208198144325f))))*alu9*val8)+((1/(1.0f+exp2(((alu13+(0.044715f*alu13*alu13*alu13))*-2.302208198144325f))))*alu13*val12)+((1/(1.0f+exp2(((alu17+(0.044715f*alu17*alu17*alu17))*-2.302208198144325f))))*alu17*val16)+((1/(1.0f+exp2(((alu21+(0.044715f*alu21*alu21*alu21))*-2.302208198144325f))))*alu21*val3)+((1/(1.0f+exp2(((alu25+(0.044715f*alu25*alu25*alu25))*-2.302208198144325f))))*alu25*val23)+((1/(1.0f+exp2(((alu29+(0.044715f*alu29*alu29*alu29))*-2.302208198144325f))))*alu29*val27)+((1/(1.0f+exp2(((alu33+(0.044715f*alu33*alu33*alu33))*-2.302208198144325f))))*alu33*val31)+((1/(1.0f+exp2(((alu37+(0.044715f*alu37*alu37*alu37))*-2.302208198144325f))))*alu37*val35)+((1/(1.0f+exp2(((alu41+(0.044715f*alu41*alu41*alu41))*-2.302208198144325f))))*alu41*val39)+((1/(1.0f+exp2(((alu45+(0.044715f*alu45*alu45*alu45))*-2.302208198144325f))))*alu45*val43)+((1/(1.0f+exp2(((alu49+(0.044715f*alu49*alu49*alu49))*-2.302208198144325f))))*alu49*val55)+((1/(1.0f+exp2(((alu53+(0.044715f*alu53*alu53*alu53))*-2.302208198144325f))))*alu53*val59)+((1/(1.0f+exp2(((alu57+(0.044715f*alu57*alu57*alu57))*-2.302208198144325f))))*alu57*val63)+((1/(1.0f+exp2(((alu61+(0.044715f*alu61*alu61*alu61))*-2.302208198144325f))))*alu61*val71)); + data0_33554432[(alu2+3)] = (((1/(1.0f+exp2(((alu6+(0.044715f*alu6*alu6*alu6))*-2.302208198144325f))))*alu6*val4)+((1/(1.0f+exp2(((alu10+(0.044715f*alu10*alu10*alu10))*-2.302208198144325f))))*alu10*val8)+((1/(1.0f+exp2(((alu14+(0.044715f*alu14*alu14*alu14))*-2.302208198144325f))))*alu14*val12)+((1/(1.0f+exp2(((alu18+(0.044715f*alu18*alu18*alu18))*-2.302208198144325f))))*alu18*val16)+((1/(1.0f+exp2(((alu22+(0.044715f*alu22*alu22*alu22))*-2.302208198144325f))))*alu22*val3)+((1/(1.0f+exp2(((alu26+(0.044715f*alu26*alu26*alu26))*-2.302208198144325f))))*alu26*val23)+((1/(1.0f+exp2(((alu30+(0.044715f*alu30*alu30*alu30))*-2.302208198144325f))))*alu30*val27)+((1/(1.0f+exp2(((alu34+(0.044715f*alu34*alu34*alu34))*-2.302208198144325f))))*alu34*val31)+((1/(1.0f+exp2(((alu38+(0.044715f*alu38*alu38*alu38))*-2.302208198144325f))))*alu38*val35)+((1/(1.0f+exp2(((alu42+(0.044715f*alu42*alu42*alu42))*-2.302208198144325f))))*alu42*val39)+((1/(1.0f+exp2(((alu46+(0.044715f*alu46*alu46*alu46))*-2.302208198144325f))))*alu46*val43)+((1/(1.0f+exp2(((alu50+(0.044715f*alu50*alu50*alu50))*-2.302208198144325f))))*alu50*val55)+((1/(1.0f+exp2(((alu54+(0.044715f*alu54*alu54*alu54))*-2.302208198144325f))))*alu54*val59)+((1/(1.0f+exp2(((alu58+(0.044715f*alu58*alu58*alu58))*-2.302208198144325f))))*alu58*val63)+((1/(1.0f+exp2(((alu62+(0.044715f*alu62*alu62*alu62))*-2.302208198144325f))))*alu62*val71)); +}`; + +const r_131072_32_4_2 = `fn nan() -> f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_16777216:array; +@group(0) @binding(2)vardata1_33554432:array; +@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var gidx0 = i32(gindex.x); /* 32768 */ + var gidx1 = i32(gindex.y); /* 4 */ + var lidx0 = i32(lindex.x); /* 32 */ + var precast0 = gidx0; + var precast1 = gidx1; + var precast2 = lidx0; + var precast3 = (bitcast(precast0)<<9u); + var precast4 = (bitcast(precast1)<<7u); + var precast5 = (bitcast(precast2)<<2u); + var alu0 = (bitcast(precast3)+bitcast(precast4)+bitcast(precast5)); + var val0 = data1_33554432[alu0]; + var alu1 = (alu0+1); + var val1 = data1_33554432[alu1]; + var alu2 = (alu0+2); + var val2 = data1_33554432[alu2]; + var alu3 = (alu0+3); + var val3 = data1_33554432[alu3]; + var val4 = data1_33554432[(alu0+16777216)]; + var val5 = data1_33554432[(alu0+16777217)]; + var val6 = data1_33554432[(alu0+16777218)]; + var val7 = data1_33554432[(alu0+16777219)]; + var alu4 = select(val0,val4,(val0 f32 { let bits = 0xffffffffu; return bitcast(bits); } +@group(0) @binding(0) +var INFINITY : f32; +@group(0) @binding(1)vardata0_16777216:array; +@group(0) @binding(2)vardata1_33554432:array; +@group(0) @binding(3)vardata2_16777216:array; +@compute @workgroup_size(32) fn main(@builtin(workgroup_id) gindex: vec3,@builtin(local_invocation_id) lindex: vec3) { + var gidx0 = i32(gindex.x); /* 32768 */ + var gidx1 = i32(gindex.y); /* 4 */ + var lidx0 = i32(lindex.x); /* 32 */ + var precast0 = gidx0; + var precast1 = gidx1; + var precast2 = lidx0; + var precast3 = (bitcast(precast0)<<9u); + var precast4 = (bitcast(precast1)<<7u); + var precast5 = (bitcast(precast2)<<2u); + var alu0 = (bitcast(precast3)+bitcast(precast4)+bitcast(precast5)); + var val0 = data1_33554432[alu0]; + var val1 = data2_16777216[alu0]; + var alu1 = (alu0+1); + var val2 = data1_33554432[alu1]; + var alu2 = (alu0+2); + var val3 = data1_33554432[alu2]; + var val4 = data1_33554432[(alu0+16777216)]; + var val5 = data2_16777216[alu1]; + var val6 = data1_33554432[(alu0+16777217)]; + var val7 = data2_16777216[alu2]; + var alu3 = (alu0+3); + var val8 = data1_33554432[alu3]; + var val9 = data1_33554432[(alu0+16777218)]; + var val10 = data2_16777216[alu3]; + var val11 = data1_33554432[(alu0+16777219)]; + var precast6 = (i32((val0==val1))); + var precast7 = (i32((val2==val5))); + var precast8 = (i32((val3==val7))); + var precast9 = (i32((val8==val10))); + var precast10 = (bitcast(precast6)<<1u); + var precast11 = (bitcast(precast7)<<1u); + var precast12 = (bitcast(precast8)<<1u); + var precast13 = (bitcast(precast9)<<1u); + var cast0 = (i32((val4==val1))); + var cast1 = (i32((val6==val5))); + var cast2 = (i32((val9==val7))); + var cast3 = (i32((val11==val10))); + var cast4 = bitcast(precast10); + var cast5 = bitcast(precast11); + var cast6 = bitcast(precast12); + var cast7 = bitcast(precast13); + var alu4 = select(cast4,cast0,(cast4 { + const metadata = getTensorMetadata(safetensor); + const infinityBuf = createInfinityUniformBuf(device); + + const layouts=[device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 4, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 5, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]}),device.createBindGroupLayout({entries: [{binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'uniform' }}, {binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } },{binding: 3, visibility: GPUShaderStage.COMPUTE, buffer: { type: 'storage' } }]})] + + const buf_0 = createEmptyBuf(device, 1006632960);; + const input0 = createEmptyBuf(device, 67108864);; + const buf_1 = createWeightBuf(device, 1620, getTensorBuffer(safetensor, metadata['model.0.weight'])); + const buf_2 = createEmptyBuf(device, 3932160);; + const buf_3 = createEmptyBuf(device, 15360);; + const buf_4 = createEmptyBuf(device, 60);; + const buf_5 = createEmptyBuf(device, 60);; + const buf_6 = createEmptyBuf(device, 1006632960);; + const buf_7 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.3.weight'])); + const buf_8 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.6.weight'])); + const buf_9 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.9.weight'])); + const buf_10 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.12.weight'])); + const buf_11 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.15.weight'])); + const buf_12 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.18.weight'])); + const buf_13 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.21.weight'])); + const buf_14 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.24.weight'])); + const buf_15 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.27.weight'])); + const buf_16 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.30.weight'])); + const buf_17 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.33.weight'])); + const buf_18 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.36.weight'])); + const buf_19 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.39.weight'])); + const buf_20 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.42.weight'])); + const buf_21 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.45.weight'])); + const buf_22 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.48.weight'])); + const buf_23 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.51.weight'])); + const buf_24 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.54.weight'])); + const buf_25 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.57.weight'])); + const buf_26 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.60.weight'])); + const buf_27 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.63.weight'])); + const buf_28 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.66.weight'])); + const buf_29 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.69.weight'])); + const buf_30 = createWeightBuf(device, 24300, getTensorBuffer(safetensor, metadata['model.72.weight'])); + const buf_31 = createEmptyBuf(device, 134217728);; + const buf_32 = createWeightBuf(device, 120, getTensorBuffer(safetensor, metadata['model.75.weight'])); + const buf_33 = createEmptyBuf(device, 67108864);; + const output0 = createEmptyBuf(device, 67108864);; + + const gpuWriteBuffer0 = device.createBuffer({size:input0.size, usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE }); + + const gpuReadBuffer0 = device.createBuffer({size:output0.size, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ }); + + const kernels = [r_5_256_32_4_8_16_4_3_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n4, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n1, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n2, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_5_256_32_4_8_16_4_3_15_3_3_3n3, r_10240_32_3_64_4, r_40_32_3_64_4, r_15_16_16, r_5_1024_3_16_4_64_4, r_40_32_3_64_4, r_15_16_16n1, r_262144_2_16_4_15, r_131072_32_4_2, r_131072_32_4_2n1]; + const pipelines = await Promise.all(kernels.map(async (name, i) => { + return await device.createComputePipelineAsync({ + layout: device.createPipelineLayout({ + bindGroupLayouts: [layouts[i]], + }), + compute: { + module: device.createShaderModule({ + code: name, + }), + entryPoint: "main", + }, + }); + })) + + return async (_input0) => { + const commandEncoder = device.createCommandEncoder(); + await gpuWriteBuffer0.mapAsync(GPUMapMode.WRITE); + new Float32Array(gpuWriteBuffer0.getMappedRange()).set(_input0); + gpuWriteBuffer0.unmap(); + commandEncoder.copyBufferToBuffer(gpuWriteBuffer0, 0, input0, 0, gpuWriteBuffer0.size); + addComputePass(device, commandEncoder, pipelines[0], layouts[0], infinityBuf, [buf_0, input0, buf_1], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[1], layouts[1], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[2], layouts[2], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[3], layouts[3], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[4], layouts[4], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[5], layouts[5], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[6], layouts[6], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[7], layouts[7], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_7], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[8], layouts[8], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[9], layouts[9], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[10], layouts[10], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[11], layouts[11], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[12], layouts[12], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[13], layouts[13], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[14], layouts[14], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_8], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[15], layouts[15], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[16], layouts[16], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[17], layouts[17], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[18], layouts[18], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[19], layouts[19], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[20], layouts[20], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[21], layouts[21], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_9], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[22], layouts[22], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[23], layouts[23], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[24], layouts[24], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[25], layouts[25], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[26], layouts[26], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[27], layouts[27], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[28], layouts[28], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_10], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[29], layouts[29], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[30], layouts[30], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[31], layouts[31], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[32], layouts[32], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[33], layouts[33], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[34], layouts[34], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[35], layouts[35], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_11], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[36], layouts[36], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[37], layouts[37], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[38], layouts[38], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[39], layouts[39], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[40], layouts[40], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[41], layouts[41], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[42], layouts[42], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_12], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[43], layouts[43], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[44], layouts[44], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[45], layouts[45], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[46], layouts[46], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[47], layouts[47], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[48], layouts[48], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[49], layouts[49], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_13], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[50], layouts[50], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[51], layouts[51], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[52], layouts[52], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[53], layouts[53], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[54], layouts[54], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[55], layouts[55], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[56], layouts[56], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_14], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[57], layouts[57], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[58], layouts[58], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[59], layouts[59], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[60], layouts[60], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[61], layouts[61], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[62], layouts[62], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[63], layouts[63], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_15], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[64], layouts[64], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[65], layouts[65], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[66], layouts[66], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[67], layouts[67], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[68], layouts[68], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[69], layouts[69], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[70], layouts[70], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_16], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[71], layouts[71], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[72], layouts[72], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[73], layouts[73], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[74], layouts[74], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[75], layouts[75], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[76], layouts[76], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[77], layouts[77], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_17], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[78], layouts[78], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[79], layouts[79], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[80], layouts[80], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[81], layouts[81], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[82], layouts[82], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[83], layouts[83], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[84], layouts[84], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_18], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[85], layouts[85], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[86], layouts[86], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[87], layouts[87], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[88], layouts[88], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[89], layouts[89], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[90], layouts[90], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[91], layouts[91], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_19], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[92], layouts[92], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[93], layouts[93], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[94], layouts[94], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[95], layouts[95], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[96], layouts[96], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[97], layouts[97], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[98], layouts[98], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_20], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[99], layouts[99], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[100], layouts[100], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[101], layouts[101], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[102], layouts[102], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[103], layouts[103], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[104], layouts[104], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[105], layouts[105], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_21], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[106], layouts[106], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[107], layouts[107], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[108], layouts[108], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[109], layouts[109], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[110], layouts[110], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[111], layouts[111], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[112], layouts[112], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_22], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[113], layouts[113], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[114], layouts[114], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[115], layouts[115], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[116], layouts[116], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[117], layouts[117], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[118], layouts[118], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[119], layouts[119], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_23], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[120], layouts[120], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[121], layouts[121], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[122], layouts[122], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[123], layouts[123], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[124], layouts[124], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[125], layouts[125], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[126], layouts[126], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_24], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[127], layouts[127], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[128], layouts[128], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[129], layouts[129], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[130], layouts[130], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[131], layouts[131], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[132], layouts[132], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[133], layouts[133], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_25], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[134], layouts[134], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[135], layouts[135], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[136], layouts[136], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[137], layouts[137], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[138], layouts[138], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[139], layouts[139], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[140], layouts[140], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_26], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[141], layouts[141], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[142], layouts[142], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[143], layouts[143], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[144], layouts[144], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[145], layouts[145], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[146], layouts[146], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[147], layouts[147], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_27], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[148], layouts[148], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[149], layouts[149], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[150], layouts[150], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[151], layouts[151], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[152], layouts[152], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[153], layouts[153], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[154], layouts[154], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_28], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[155], layouts[155], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[156], layouts[156], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[157], layouts[157], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[158], layouts[158], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[159], layouts[159], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[160], layouts[160], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[161], layouts[161], infinityBuf, [buf_6, buf_0, buf_4, buf_5, buf_29], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[162], layouts[162], infinityBuf, [buf_2, buf_6], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[163], layouts[163], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[164], layouts[164], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[165], layouts[165], infinityBuf, [buf_2, buf_6, buf_5], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[166], layouts[166], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[167], layouts[167], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[168], layouts[168], infinityBuf, [buf_0, buf_6, buf_5, buf_4, buf_30], [128, 256, 5]); + addComputePass(device, commandEncoder, pipelines[169], layouts[169], infinityBuf, [buf_2, buf_0], [10240, 1, 1]); + addComputePass(device, commandEncoder, pipelines[170], layouts[170], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[171], layouts[171], infinityBuf, [buf_4, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[172], layouts[172], infinityBuf, [buf_2, buf_0, buf_4], [1024, 5, 1]); + addComputePass(device, commandEncoder, pipelines[173], layouts[173], infinityBuf, [buf_3, buf_2], [40, 1, 1]); + addComputePass(device, commandEncoder, pipelines[174], layouts[174], infinityBuf, [buf_5, buf_3], [15, 1, 1]); + addComputePass(device, commandEncoder, pipelines[175], layouts[175], infinityBuf, [buf_31, buf_0, buf_4, buf_5, buf_32], [32768, 8, 1]); + addComputePass(device, commandEncoder, pipelines[176], layouts[176], infinityBuf, [buf_33, buf_31], [32768, 4, 1]); + addComputePass(device, commandEncoder, pipelines[177], layouts[177], infinityBuf, [output0, buf_31, buf_33], [32768, 4, 1]); + commandEncoder.copyBufferToBuffer(output0, 0, gpuReadBuffer0, 0, output0.size); + const gpuCommands = commandEncoder.finish(); + device.queue.submit([gpuCommands]); + + await gpuReadBuffer0.mapAsync(GPUMapMode.READ); + const resultBuffer0 = new Int32Array(gpuReadBuffer0.size/4); + resultBuffer0.set(new Int32Array(gpuReadBuffer0.getMappedRange())); + gpuReadBuffer0.unmap(); + return [resultBuffer0]; + } +} +const load = async (device, weight_path) => { return await fetch(weight_path).then(x => x.arrayBuffer()).then(x => setupNet(device, new Uint8Array(x))); } +return { load, setupNet }; +})(); +export default mindgrab;