diff --git a/.gitattributes b/.gitattributes index 5a39d01c0f814dbaeaa5d632d2796b8f850e19d6..49f6c2dd5ac04fb2f0b4e983c6cf71bcbefeb2a2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -41,3 +41,5 @@ qwen35-2b-fp32-int8-g32-home-token-major-v2/graph.json filter=lfs diff=lfs merge qwen35-2b-fp32-int8-g32-home-token-major-v2/tokenizer/tokenizer.json filter=lfs diff=lfs merge=lfs -text qwen35-2b-multimodal-fp32-three-grid-state-alias-token-major-v2/graph.json filter=lfs diff=lfs merge=lfs -text qwen35-2b-multimodal-fp32-three-grid-state-alias-token-major-v2/tokenizer/tokenizer.json filter=lfs diff=lfs merge=lfs -text +qwen35-08b-fp16-int4-g32-gptq-home/graph.json filter=lfs diff=lfs merge=lfs -text +qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/graph.json b/qwen35-08b-fp16-int4-g32-gptq-home/graph.json new file mode 100644 index 0000000000000000000000000000000000000000..7ee24e19d0d5fd002296362e750ce84ffd93ca6e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/graph.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58ed5a024322bfc57f3bd80cbf906735d65a1317967d4f0757529cc393190c66 +size 12162459 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/023d7b2d9e71a92f74db0e4583d453118915f46ba0c8c96c796632d958654ea1.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/023d7b2d9e71a92f74db0e4583d453118915f46ba0c8c96c796632d958654ea1.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..57f490e587dab593560daa3c9772c2b9140361b7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/023d7b2d9e71a92f74db0e4583d453118915f46ba0c8c96c796632d958654ea1.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 8u) { return; } +let x = f32(b0[i]); +out[i] = f32(inverseSqrt(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/02915a0f22b3245bc6490c9bfbedc331f50293e3e7f87525fe4482f0c94e8aff.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/02915a0f22b3245bc6490c9bfbedc331f50293e3e7f87525fe4482f0c94e8aff.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..219b8a3d094d939e6b6f6c1c99b7a05e0cd0ebf7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/02915a0f22b3245bc6490c9bfbedc331f50293e3e7f87525fe4482f0c94e8aff.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1536u; +if (i >= 1536u) { return; } +out[i] = f16(b0[((i / 1536u) % 1u) * 2048u + ((i / 192u) % 8u) * 256u + ((i / 192u) % 1u) * 256u + (((i / 1u) % 192u) * 1u + 64u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/02b89cf7780686b8cf46c4db784144cef988e047230cf92ecd1e25e45cabd224.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/02b89cf7780686b8cf46c4db784144cef988e047230cf92ecd1e25e45cabd224.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c4b3fc8c9f4326ec8fc257af3939c29e4440bd3b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/02b89cf7780686b8cf46c4db784144cef988e047230cf92ecd1e25e45cabd224.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 32768u; +if (i >= 32768u) { return; } +out[i] = f16(f32(b0[i]) * 0.0625); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/046b8b39f33faa9e39a553acc1912fbce2c4bc4178588df30cf98717bca6f328.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/046b8b39f33faa9e39a553acc1912fbce2c4bc4178588df30cf98717bca6f328.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..357ca373ece418c5df2da3ad655b65b0d2dc9c3b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/046b8b39f33faa9e39a553acc1912fbce2c4bc4178588df30cf98717bca6f328.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 1u) % 1024u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/04f26661cc9ac73bb7f39f66b76c4be31ee8774e094eeb41ed7d677e1b1d3fa9.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/04f26661cc9ac73bb7f39f66b76c4be31ee8774e094eeb41ed7d677e1b1d3fa9.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..67133bd5fb075efe996a921acde0d02717ffa6f3 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/04f26661cc9ac73bb7f39f66b76c4be31ee8774e094eeb41ed7d677e1b1d3fa9.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 10u) { return; } +out[i] = f32(b0[((i / 10u) % 1u) * 32u + ((i / 10u) % 1u) * 32u + (((i / 1u) % 10u) * 3u + 2u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/06f0c9ec30de4203c86ec1fa0eaeeea3450d838b78b5c7a02df1c61616405c4d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/06f0c9ec30de4203c86ec1fa0eaeeea3450d838b78b5c7a02df1c61616405c4d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..12599020fbbb2b48019e7de6cd1df62e38197be0 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/06f0c9ec30de4203c86ec1fa0eaeeea3450d838b78b5c7a02df1c61616405c4d.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0835fa80eaadb7c0e6d677e1fc622ad5dcedabb431e5d312f3b7aeb2252a7c7c.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0835fa80eaadb7c0e6d677e1fc622ad5dcedabb431e5d312f3b7aeb2252a7c7c.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..91f740aa7006d14dca451533719861c5823ff016 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0835fa80eaadb7c0e6d677e1fc622ad5dcedabb431e5d312f3b7aeb2252a7c7c.wgsl @@ -0,0 +1,8 @@ +@group(0) @binding(0) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(0.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0888235d9d0cb75cbdb598cbb2d235a2db071bed0dd8193164f8f21eab5a8ba9.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0888235d9d0cb75cbdb598cbb2d235a2db071bed0dd8193164f8f21eab5a8ba9.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..cf8c932790b6de3696da8abd6a49e7fa0a9a4f24 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0888235d9d0cb75cbdb598cbb2d235a2db071bed0dd8193164f8f21eab5a8ba9.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 32768u; +if (i >= 32768u) { return; } +out[i] = f16(f32(b0[i]) + (f32(b1[((i / 1u) % 4096u) * 1u]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/09e236dd54b3abd945c2d4fef393e9e9810f0d90cdec0d5deafd68ed3b95083d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/09e236dd54b3abd945c2d4fef393e9e9810f0d90cdec0d5deafd68ed3b95083d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..efefa9875fba543b9ab32306f58ba55c9f3e31dd --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/09e236dd54b3abd945c2d4fef393e9e9810f0d90cdec0d5deafd68ed3b95083d.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 256u) % 2u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/09e48926914d3759efd11d83aa3ba539f06f33c6f2c28fcc0c12811f9cd1bc44.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/09e48926914d3759efd11d83aa3ba539f06f33c6f2c28fcc0c12811f9cd1bc44.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c81c6fe894f9ccfb287f2822ffc25de0ed3b6d89 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/09e48926914d3759efd11d83aa3ba539f06f33c6f2c28fcc0c12811f9cd1bc44.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 4096u; +if (i >= 4096u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0a9068c3d7c002ffe2631245f0873bf56d726b5d933b040851e20cd8fad9fe1a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0a9068c3d7c002ffe2631245f0873bf56d726b5d933b040851e20cd8fad9fe1a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..957e22d690670bcf12444e81c17b680e37dffc82 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0a9068c3d7c002ffe2631245f0873bf56d726b5d933b040851e20cd8fad9fe1a.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 4194240u; +if (i >= 8388608u) { return; } +out[i] = f16(b0[((i / 4194304u) % 2u) * 1048576u + ((i / 256u) % 4096u) * 256u + ((i / 1u) % 256u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0bd599ee0e0d3e758477e5b3603c6b8cebf703223656bc3f4b53dc922e2bd314.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0bd599ee0e0d3e758477e5b3603c6b8cebf703223656bc3f4b53dc922e2bd314.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..e69d2289a5fd0d0c6f8cefd3198bea27c1dd5733 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0bd599ee0e0d3e758477e5b3603c6b8cebf703223656bc3f4b53dc922e2bd314.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f16(f32(b0[i]) + (f32(b1[i]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0da9c6227714e2a6c031928cb6a6db229c1cb0a53a9309aea4e833a9b2b1f2f1.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0da9c6227714e2a6c031928cb6a6db229c1cb0a53a9309aea4e833a9b2b1f2f1.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..85ec37d559d666fdce0ebfacea55cf92fb1309a5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0da9c6227714e2a6c031928cb6a6db229c1cb0a53a9309aea4e833a9b2b1f2f1.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +out[i] = f16(b0[((i / 64u) % 1u) * 128u + ((i / 32u) % 2u) * 64u + ((i / 32u) % 1u) * 64u + (((i / 1u) % 32u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0e6c14d2118fe801932c1b41995a65c8e165bf8df3989e40793f509448988218.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0e6c14d2118fe801932c1b41995a65c8e165bf8df3989e40793f509448988218.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0fbed2c2803544176a2948c7666e91d918788652 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0e6c14d2118fe801932c1b41995a65c8e165bf8df3989e40793f509448988218.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +let coord = (i / 1u) % 256u; +if (coord >= 0u && coord < 64u) { out[i] = f16(b0[(i / 256u) * 64u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 64u && coord < 256u) { out[i] = f16(b1[(i / 256u) * 192u + (coord - 64u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0fb8222de35c84fb88807d4a3880f21188cf48d64c89a21aa208d7d72a48c273.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0fb8222de35c84fb88807d4a3880f21188cf48d64c89a21aa208d7d72a48c273.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..1950645a0a8045e09651a52cb7794360cc5a81e1 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/0fb8222de35c84fb88807d4a3880f21188cf48d64c89a21aa208d7d72a48c273.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/13dc73935b9b3b978232043e13babee3877bd53ca572be440de0590dacce8b17.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/13dc73935b9b3b978232043e13babee3877bd53ca572be440de0590dacce8b17.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..de89efb15b0a288331488e51bd02760c3dded87f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/13dc73935b9b3b978232043e13babee3877bd53ca572be440de0590dacce8b17.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 32u) { return; } +out[i] = f32(b0[0u * 32u + ((i / 32u) % 1u) * 32u + ((i / 32u) % 1u) * 32u + ((i / 1u) % 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1608c6cf00b5863ad002f089be58fce76cff2c61fd43e3bb54ba90add6f41b02.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1608c6cf00b5863ad002f089be58fce76cff2c61fd43e3bb54ba90add6f41b02.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c87c9e1944c99c07b07b84e15fea0c9fc0f2334a --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1608c6cf00b5863ad002f089be58fce76cff2c61fd43e3bb54ba90add6f41b02.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +let x = f32(b0[i]); +out[i] = f16(-x); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/171389dc1ab21b1521080c899bd9685baa2e05324c4ee95e4b0b042b9ecf4e9b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/171389dc1ab21b1521080c899bd9685baa2e05324c4ee95e4b0b042b9ecf4e9b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..984b3432775b73b5b8161083804c61f1ae472824 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/171389dc1ab21b1521080c899bd9685baa2e05324c4ee95e4b0b042b9ecf4e9b.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 1024u; + let col = index % 1024u; + let word = b1[row * 128u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 32u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 16u; + if (i >= 16u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 16u) * 1024u + p]) * dequant_1((i % 16u) * 1024u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/17ec6bdaf98edf7657b74a25036c2bec806ecbb4280f33fff6afd2e0de5ed377.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/17ec6bdaf98edf7657b74a25036c2bec806ecbb4280f33fff6afd2e0de5ed377.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f8b87c0bd2b9575bbbc8395e5d566f057aeb69dd --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/17ec6bdaf98edf7657b74a25036c2bec806ecbb4280f33fff6afd2e0de5ed377.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(f32(b0[i]) * 0.08838834764831843); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/197465241bc85d39f754ff558d69abf289859cd7e13f5cf1bdaad66c4c74e94f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/197465241bc85d39f754ff558d69abf289859cd7e13f5cf1bdaad66c4c74e94f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..fe09b5ee524264e28673587c79ccde59919b0323 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/197465241bc85d39f754ff558d69abf289859cd7e13f5cf1bdaad66c4c74e94f.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 1024u; + let col = index % 1024u; + let word = b1[row * 128u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 32u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 512u; + if (i >= 512u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 512u) * 1024u + p]) * dequant_1((i % 512u) * 1024u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1c3075bda51d817a45cebcbb10fdd9db05093be2843c47c6a0669a058892126b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1c3075bda51d817a45cebcbb10fdd9db05093be2843c47c6a0669a058892126b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..055bb967f111786cee919c22f9bd324f89912260 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1c3075bda51d817a45cebcbb10fdd9db05093be2843c47c6a0669a058892126b.wgsl @@ -0,0 +1,21 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 51712u; + if (i >= 51712u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 51712u) * 1024u + p]) * f32(b1[(i % 51712u) * 1024u + p]); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1c7201caab74d50198d8bc7168ba7da0c97ece74a5ebdd791f88d6cfb5086975.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1c7201caab74d50198d8bc7168ba7da0c97ece74a5ebdd791f88d6cfb5086975.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..5c5819710be5b6147bca047695faeb86145b5c06 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/1c7201caab74d50198d8bc7168ba7da0c97ece74a5ebdd791f88d6cfb5086975.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 8u) { return; } +out[i] = f32(f32(b0[i]) + (1e-06 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/20dd7df6a12031057faa143e5c2c08bfd0d92bbe990d83ea61a6d540e6216649.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/20dd7df6a12031057faa143e5c2c08bfd0d92bbe990d83ea61a6d540e6216649.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..4272469db3e88eb55c39c5f78649968a3dafd578 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/20dd7df6a12031057faa143e5c2c08bfd0d92bbe990d83ea61a6d540e6216649.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +let token = i32(b0[i / 1024u]); +if (token < 196608 || token >= 248320) { out[i] = f16(0.0); return; } +out[i] = f16(b1[u32(token - 196608) * 1024u + i % 1024u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/222a2645e3e02d0a4063a63ca1b6fa4c89faee6b76905b20de4dd54ab3077ea3.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/222a2645e3e02d0a4063a63ca1b6fa4c89faee6b76905b20de4dd54ab3077ea3.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..1447aa7dfa8f3765ba1ecc1e492c6fce42213779 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/222a2645e3e02d0a4063a63ca1b6fa4c89faee6b76905b20de4dd54ab3077ea3.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 3u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/234987ec68497956ea7aef8e3f44c8a73dbe4c1519165d123946bedbb4d18e26.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/234987ec68497956ea7aef8e3f44c8a73dbe4c1519165d123946bedbb4d18e26.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f6c451610050d5332f2e96fe27fb0fc3d8359841 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/234987ec68497956ea7aef8e3f44c8a73dbe4c1519165d123946bedbb4d18e26.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(b0[((i / 2048u) % 1u) * 2048u + ((i / 128u) % 16u) * 128u + 0u * 128u + ((i / 1u) % 128u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/26862ccab76186d81a45f06c5a7c9e1cd04e4592dbe151341043725a49a5cd2f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/26862ccab76186d81a45f06c5a7c9e1cd04e4592dbe151341043725a49a5cd2f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..777855e9a0619a31265d40e40b978418274c1301 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/26862ccab76186d81a45f06c5a7c9e1cd04e4592dbe151341043725a49a5cd2f.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 24576u; +if (i >= 24576u) { return; } +out[i] = f16(b0[((i / 24576u) % 1u) * 30720u + ((i / 4u) % 6144u) * 5u + (((i / 1u) % 4u) * 1u + 1u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2711a4a396071f4e99303d01d4854ccaa37a445f4b718ebd7b61cf1c37e56b48.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2711a4a396071f4e99303d01d4854ccaa37a445f4b718ebd7b61cf1c37e56b48.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8a950952abaa36f3937eab9390ad3807c223cb72 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2711a4a396071f4e99303d01d4854ccaa37a445f4b718ebd7b61cf1c37e56b48.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(b0[((i / 16u) % 1u) * 16u + ((i / 1u) % 16u) * 1u + ((i / 1u) % 1u) * 16u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/27ed9ce421e40975ea99531a57e86dbcde5310faae3826bc81bc60fcdbaa1f4e.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/27ed9ce421e40975ea99531a57e86dbcde5310faae3826bc81bc60fcdbaa1f4e.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..fc4456374691243ee6e8b6f0749024e3dcca0982 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/27ed9ce421e40975ea99531a57e86dbcde5310faae3826bc81bc60fcdbaa1f4e.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +let x = f32(b0[i]); +out[i] = f32(x*x); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/291830b3cb692bab94344428e329c3dc9417a43f48e1c42e414cf3f956686f1f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/291830b3cb692bab94344428e329c3dc9417a43f48e1c42e414cf3f956686f1f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..a9f0acecf8ccd82d99e363498b3e79e3017fd782 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/291830b3cb692bab94344428e329c3dc9417a43f48e1c42e414cf3f956686f1f.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(f32(b0[((i / 1u) % 128u) * 1u]) * f32(b1[i])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/293b36448f6af1c167040d45840a2ae8f05ca669424bdebd16fc2c7e5bc5bfff.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/293b36448f6af1c167040d45840a2ae8f05ca669424bdebd16fc2c7e5bc5bfff.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..83f7efa7e1f91aed28c9fcb5e391d051c80cdfcd --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/293b36448f6af1c167040d45840a2ae8f05ca669424bdebd16fc2c7e5bc5bfff.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 1024u; + let col = index % 1024u; + let word = b1[row * 128u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 32u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 3584u; + if (i >= 3584u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 3584u) * 1024u + p]) * dequant_1((i % 3584u) * 1024u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2c0cca2a7b0198c317e68992e64f3fe9bba80b67204c2695c20c372471c150d3.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2c0cca2a7b0198c317e68992e64f3fe9bba80b67204c2695c20c372471c150d3.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..05c73e3e7e256b462ade35867855db48ad811b19 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2c0cca2a7b0198c317e68992e64f3fe9bba80b67204c2695c20c372471c150d3.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 262144u; +if (i >= 262144u) { return; } +out[i] = f32(f32(b0[((i / 16384u) % 16u) * 128u + ((i / 128u) % 128u) * 1u]) * f32(b1[((i / 16384u) % 16u) * 128u + ((i / 1u) % 128u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2db8a995aaf1e89bf2da258d8e77c4ccc53a4d61ab9b352757da0e5a7321729d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2db8a995aaf1e89bf2da258d8e77c4ccc53a4d61ab9b352757da0e5a7321729d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..89a11494cd7f33adda4e076ebdbfd70d81c7c326 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2db8a995aaf1e89bf2da258d8e77c4ccc53a4d61ab9b352757da0e5a7321729d.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +let x = f32(b0[i]); +out[i] = f32(x*x); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2dd29b61b039fcdd7fbc3c94f629b24b6f81aa5b9923098837597359b295e40d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2dd29b61b039fcdd7fbc3c94f629b24b6f81aa5b9923098837597359b295e40d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..9548ed074fc5f4321188aa402aa399a4525a86b3 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2dd29b61b039fcdd7fbc3c94f629b24b6f81aa5b9923098837597359b295e40d.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(b0[((i / 2048u) % 1u) * 2048u + ((i / 2048u) % 1u) * 128u + ((i / 128u) % 16u) * 128u + ((i / 1u) % 128u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2e1ce6ef01198780289fd4a35d8f86b5172595ed189cf931e8444091d49e8d3a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2e1ce6ef01198780289fd4a35d8f86b5172595ed189cf931e8444091d49e8d3a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..2269a620c58e84a4903bb1135733ef2385d6af46 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2e1ce6ef01198780289fd4a35d8f86b5172595ed189cf931e8444091d49e8d3a.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +out[i] = f32(f32(b0[i]) * 1.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2ecb3b88f329d2d66b34465ebc62482b3a9d40d37c69a30d55b69d2c85f082cb.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2ecb3b88f329d2d66b34465ebc62482b3a9d40d37c69a30d55b69d2c85f082cb.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..3c63ce2f0dca0db14d9ea99d0b7961a8e3ca077d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/2ecb3b88f329d2d66b34465ebc62482b3a9d40d37c69a30d55b69d2c85f082cb.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +let x = f32(b0[i]); +out[i] = f16(1.0 / (1.0 + exp(-x))); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/32a5027cac5dd969d63fe5d5c88d7c87abb600c43ad1d70e1c56615ea781eff3.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/32a5027cac5dd969d63fe5d5c88d7c87abb600c43ad1d70e1c56615ea781eff3.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..acbc0b91943f7202976d3a0119d1ad2f45215e18 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/32a5027cac5dd969d63fe5d5c88d7c87abb600c43ad1d70e1c56615ea781eff3.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 262144u; +if (i >= 262144u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 16384u) % 16u) * 128u + ((i / 128u) % 128u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/344153d8e20e545c4656ce08b7236cd65878f5ea91014447f4a129ea94025970.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/344153d8e20e545c4656ce08b7236cd65878f5ea91014447f4a129ea94025970.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..72c41ba6267d60e0c0315a6fec0eb455ae06c942 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/344153d8e20e545c4656ce08b7236cd65878f5ea91014447f4a129ea94025970.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 256u; +if (i >= 256u) { return; } +out[i] = f16(b0[((i / 256u) % 1u) * 512u + ((i / 32u) % 8u) * 64u + ((i / 32u) % 1u) * 64u + (((i / 1u) % 32u) * 1u + 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/370bab74beead2c5e9cc8893585f79ae97ee5eace554cee12555a8ac8293b1c0.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/370bab74beead2c5e9cc8893585f79ae97ee5eace554cee12555a8ac8293b1c0.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..6e14292187b8316a8c107ad2f62fdffd925daec6 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/370bab74beead2c5e9cc8893585f79ae97ee5eace554cee12555a8ac8293b1c0.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 4194240u; +if (i >= 8388608u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/377880fa04b2ba2c6238045a88750ff214243eb739603a04b16b69221ec5a6c2.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/377880fa04b2ba2c6238045a88750ff214243eb739603a04b16b69221ec5a6c2.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..211fd6598a97833eb4f50fd80a39c9b7f4f50be7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/377880fa04b2ba2c6238045a88750ff214243eb739603a04b16b69221ec5a6c2.wgsl @@ -0,0 +1,18 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 32768u; +if (i >= 32768u) { return; } +let batch = i / 4096u; +let row = (i / 4096u) % 1u; +let col = i % 4096u; +var acc = 0.0; +for (var p = 0u; p < 256u; p++) { + acc += f32(b0[(((batch / 1u) % 8u) * 256u) + row * 256u + p]) * f32(b1[(((batch / 1u) % 8u) * 1048576u) + p * 4096u + col]); +} +out[i] = f16(acc); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/378330e4bcfd0c2f194f2ca261988c352ba4cdffd71dee16af52c3b7ba25657f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/378330e4bcfd0c2f194f2ca261988c352ba4cdffd71dee16af52c3b7ba25657f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..327312e60caf98bc40d9b0ce6fd14c6f02848d13 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/378330e4bcfd0c2f194f2ca261988c352ba4cdffd71dee16af52c3b7ba25657f.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 2048u + ((i / 2048u) % 1u) * 256u + ((i / 256u) % 8u) * 256u + ((i / 1u) % 256u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3a87037580f20ca38623bdcc88abd77f8cc3a83d8b3d1726756a1ec01656a496.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3a87037580f20ca38623bdcc88abd77f8cc3a83d8b3d1726756a1ec01656a496.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..ad74b3648b0ea1f8c1b65017eabec261d2e554fa --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3a87037580f20ca38623bdcc88abd77f8cc3a83d8b3d1726756a1ec01656a496.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 6144u; +if (i >= 6144u) { return; } +out[i] = f16(b0[((i / 6144u) % 1u) * 6144u + ((i / 1u) % 6144u) * 1u + ((i / 1u) % 1u) * 6144u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3bb850bda95bf77706a2839616a401b773f9de0428d1b427e61fb04e2c35fe74.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3bb850bda95bf77706a2839616a401b773f9de0428d1b427e61fb04e2c35fe74.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..a3e680fcc3fb413659faf5613327f7d216420af9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3bb850bda95bf77706a2839616a401b773f9de0428d1b427e61fb04e2c35fe74.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 96u) { return; } +let coord = (i / 32u) % 3u; +if (coord == 0u) { out[i] = f32(b0[((i / 32u) % 1u) * 32u + ((i / 32u) % 1u) * 32u + ((i / 1u) % 32u) * 1u]); } else { out[i] = f32(b1[i]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3f78504435af26dbd6b62c6720a640528ce172b2e9062bd4d09806e3d2553423.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3f78504435af26dbd6b62c6720a640528ce172b2e9062bd4d09806e3d2553423.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..52fe147802d5ce29b2c5bc1180fa9e1abd1f2baf --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3f78504435af26dbd6b62c6720a640528ce172b2e9062bd4d09806e3d2553423.wgsl @@ -0,0 +1,14 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { + let i = gid.x + gid.y * 512u; + if (i >= 512u) { return; } + let token = (i / 256u) % 1u; + let outer = i / 256u; + let destination = outer * 1048576u + u32(b1[token]) * 256u + i % 256u; + out[((destination) / 256u) % 4096u * 512u + ((destination) / 1048576u) % 2u * 256u + ((destination) / 1u) % 256u * 1u] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3fa1efae6d90015ba69cb40cef009f49ad7f7a960018fb92a962707deff4f09e.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3fa1efae6d90015ba69cb40cef009f49ad7f7a960018fb92a962707deff4f09e.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..dd0f6856d5316f3d610290ed98cf1a9c465f554d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3fa1efae6d90015ba69cb40cef009f49ad7f7a960018fb92a962707deff4f09e.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 10u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3ff863808627e030edefbb05f743b5a2cc19412b22779508a9d173a40d2ecc6e.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3ff863808627e030edefbb05f743b5a2cc19412b22779508a9d173a40d2ecc6e.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c075d6dfe88061f343f951725253abb44c30c4fb --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/3ff863808627e030edefbb05f743b5a2cc19412b22779508a9d173a40d2ecc6e.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 2u) { return; } +var acc = 0.0; +for (var j = 0u; j < 256u; j++) { acc += f32(b0[(((i / 2u) % 1u) * 512u + ((i / 2u) % 1u) * 512u + ((i / 1u) % 2u) * 256u) + (((j / 1u) % 256u) * 1u)]); } +out[i] = f32(acc / 256.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/408b4edf1721b552fd1406f682e9c1612b2662372860bf14e040f011c1ee0cb9.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/408b4edf1721b552fd1406f682e9c1612b2662372860bf14e040f011c1ee0cb9.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..00b61866bc91528d842be55ceab8361398a8ffcc --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/408b4edf1721b552fd1406f682e9c1612b2662372860bf14e040f011c1ee0cb9.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(f32(b0[i]) * f32(b1[((i / 128u) % 16u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4282aa48d394c7c4b0d6c6f1063526bda4b9da2708f77a1945793a4614107efb.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4282aa48d394c7c4b0d6c6f1063526bda4b9da2708f77a1945793a4614107efb.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..34e454679b05cf533c851743edc32e5b5a62a5ca --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4282aa48d394c7c4b0d6c6f1063526bda4b9da2708f77a1945793a4614107efb.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 4096u + ((i / 2048u) % 1u) * 4096u + ((i / 256u) % 8u) * 512u + (((i / 1u) % 256u) * 1u + 256u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/42c5af4838daf75fff9d4bb9a5df409511c1d6daed617d05eaf033a977503eac.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/42c5af4838daf75fff9d4bb9a5df409511c1d6daed617d05eaf033a977503eac.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..ab4b18691ec8371839272e82e1191ffc00772c73 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/42c5af4838daf75fff9d4bb9a5df409511c1d6daed617d05eaf033a977503eac.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 32u) { return; } +let coord = (i / 1u) % 32u; +if (coord >= 1u && coord < 34u && (coord - 1u) % 3u == 0u) { out[i] = f32(b0[((i / 32u) % 1u) * 11u + ((i / 32u) % 1u) * 11u + ((((i / 1u) % 32u) - 1u) / 3u) * 1u]); } else { out[i] = f32(b1[i]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4313bdfa0ca93fab559ffb77baf82e7712ccbc61e5e55a717288762bf84e62fc.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4313bdfa0ca93fab559ffb77baf82e7712ccbc61e5e55a717288762bf84e62fc.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c42362222b420bee208352c32c9026d59088b319 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4313bdfa0ca93fab559ffb77baf82e7712ccbc61e5e55a717288762bf84e62fc.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4540d87eaec90c9eb42badfe0abfa70252f26b6e7de4dd31ee6903fe50e96bd1.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4540d87eaec90c9eb42badfe0abfa70252f26b6e7de4dd31ee6903fe50e96bd1.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..a0caa5c08df286ab5dbba084e1b6b90da802badc --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4540d87eaec90c9eb42badfe0abfa70252f26b6e7de4dd31ee6903fe50e96bd1.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 262144u; +if (i >= 262144u) { return; } +out[i] = f32(f32(b0[i]) + (f32(b1[i]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/45bb598b61c05eb6cdf699755e2877c598bb6fda0eee019e60d8301535dd3ec2.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/45bb598b61c05eb6cdf699755e2877c598bb6fda0eee019e60d8301535dd3ec2.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..7e46591c2e309d554498e54fd9b83191549fe136 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/45bb598b61c05eb6cdf699755e2877c598bb6fda0eee019e60d8301535dd3ec2.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +let x = f32(b0[i]); +out[i] = f16(inverseSqrt(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/48f34a333ff70495892101c428694fcddedec29f954b659093d206abbe1f7c15.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/48f34a333ff70495892101c428694fcddedec29f954b659093d206abbe1f7c15.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..98e80452fa7114465d478458819d5c9d107883d5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/48f34a333ff70495892101c428694fcddedec29f954b659093d206abbe1f7c15.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 1u) { return; } +let x = f32(b0[i]); +out[i] = f32(inverseSqrt(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4a952811352a76ed9369f2e11ba4d52917b618a5bc95e3232fdfa0579a79bef3.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4a952811352a76ed9369f2e11ba4d52917b618a5bc95e3232fdfa0579a79bef3.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..5616870154be4b18b79eaafbb181a936311e6b40 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4a952811352a76ed9369f2e11ba4d52917b618a5bc95e3232fdfa0579a79bef3.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(f32(b0[i]) * f32(b0[i])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4be963f9a4bb928764fd0efe02769e220b0e69defb2f8b22ab28e41a90d3fc14.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4be963f9a4bb928764fd0efe02769e220b0e69defb2f8b22ab28e41a90d3fc14.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..24b926b3b907f9052d46718955950614e3f4d5b2 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/4be963f9a4bb928764fd0efe02769e220b0e69defb2f8b22ab28e41a90d3fc14.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 11u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/50a2aaffa2f6e9866a2456ff60aa2a54cb817b737210774ef3ec1ba64834954e.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/50a2aaffa2f6e9866a2456ff60aa2a54cb817b737210774ef3ec1ba64834954e.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..95189a197a347cc835d16d08e03cba68fa4c2bd3 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/50a2aaffa2f6e9866a2456ff60aa2a54cb817b737210774ef3ec1ba64834954e.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 1u) % 256u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/51fd4d798491c6a80daff4c18b0495926b7f62269dfc3a78a327faa52ba2a759.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/51fd4d798491c6a80daff4c18b0495926b7f62269dfc3a78a327faa52ba2a759.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..fc751a3c5de6830de0104027f986f119ec7276f2 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/51fd4d798491c6a80daff4c18b0495926b7f62269dfc3a78a327faa52ba2a759.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +let x = f32(b0[i]); +out[i] = f32(exp(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/53d6eb0b5e6d49bfd3bb9fd1b781e13317adf528e047da2416e95f5a3a13b1b4.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/53d6eb0b5e6d49bfd3bb9fd1b781e13317adf528e047da2416e95f5a3a13b1b4.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..b42167010260a49ed2060dcc92a7440b82333b7e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/53d6eb0b5e6d49bfd3bb9fd1b781e13317adf528e047da2416e95f5a3a13b1b4.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 96u) { return; } +out[i] = f32(b0[((i / 32u) % 3u) * 32u + ((i / 32u) % 1u) * 32u + ((i / 32u) % 1u) * 1u + ((i / 1u) % 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5471ae38e894829494bbf27a5b01ac3256a61849dc2e23cdc190fd63954b8cd8.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5471ae38e894829494bbf27a5b01ac3256a61849dc2e23cdc190fd63954b8cd8.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0aa75ecbf1242e3ff93afe626715479ed01d650d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5471ae38e894829494bbf27a5b01ac3256a61849dc2e23cdc190fd63954b8cd8.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 2u) { return; } +let x = f32(b0[i]); +out[i] = f32(inverseSqrt(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/578c3f0d7eb85a27b4da58e79e8842b993125d088e11e214d9d20be447388d80.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/578c3f0d7eb85a27b4da58e79e8842b993125d088e11e214d9d20be447388d80.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..d6728c1ee46190528ad1c6e3036ab76b97b971a5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/578c3f0d7eb85a27b4da58e79e8842b993125d088e11e214d9d20be447388d80.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +var acc = 0.0; +for (var j = 0u; j < 128u; j++) { acc += f32(b0[(((i / 1u) % 16u) * 128u) + (((j / 1u) % 128u) * 1u)]); } +out[i] = f32(acc / 128.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/57dc406322bf3badd8490493ef924bd7e7e0afd542d2d6e409b4d8a3b4b784f7.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/57dc406322bf3badd8490493ef924bd7e7e0afd542d2d6e409b4d8a3b4b784f7.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..5442fb5e440bbbbc406fb5988a08504f70fb6527 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/57dc406322bf3badd8490493ef924bd7e7e0afd542d2d6e409b4d8a3b4b784f7.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/599b140e59a8ddda07eda33e1d5196005389702373b2ccbdbadff9dd6617eaaa.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/599b140e59a8ddda07eda33e1d5196005389702373b2ccbdbadff9dd6617eaaa.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..671ed2f3d0909c7a325cfa9cc77e778b40cd8aaa --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/599b140e59a8ddda07eda33e1d5196005389702373b2ccbdbadff9dd6617eaaa.wgsl @@ -0,0 +1,12 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 3584u; +if (i >= 3584u) { return; } +let x = f32(b0[i]); let s = f32(f16(x / (1.0 + exp(-x)))); +out[i] = f16(s * f32(b1[i])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/59ea88d691b919af03bbb26f0253decfbc35d74f9661cdd3a08570ae85c313d2.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/59ea88d691b919af03bbb26f0253decfbc35d74f9661cdd3a08570ae85c313d2.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..5330d07c480a06ace52bbbeb6bf873fea1416d6c --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/59ea88d691b919af03bbb26f0253decfbc35d74f9661cdd3a08570ae85c313d2.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +let x = f32(b0[i]); +if (x * 1.0 > 20.0) { out[i] = f32(x); return; } +out[i] = f32(log(1.0 + exp(x * 1.0)) / 1.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/59ece6b6ee5f138bf5250920723503dc2f10504d967cd9c1839bc001b768bc88.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/59ece6b6ee5f138bf5250920723503dc2f10504d967cd9c1839bc001b768bc88.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..09e9ccc332020cbda521a7eb3e9c8400d9e84f08 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/59ece6b6ee5f138bf5250920723503dc2f10504d967cd9c1839bc001b768bc88.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +let token = i32(b0[i / 1024u]); +if (token < 131072 || token >= 196608) { out[i] = f16(0.0); return; } +out[i] = f16(b1[u32(token - 131072) * 1024u + i % 1024u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5abee175a331788afb292784154e8b92360ae6c22a818e351eaa15f5352f78ad.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5abee175a331788afb292784154e8b92360ae6c22a818e351eaa15f5352f78ad.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..e8985ab18d2d8577f347f5cbefdea46af4bd69e5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5abee175a331788afb292784154e8b92360ae6c22a818e351eaa15f5352f78ad.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 32768u; +if (i >= 32768u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5c01813f337b4def8b4ed83afc43d6f55fe7c556739d4a23c5699a6da24e99fe.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5c01813f337b4def8b4ed83afc43d6f55fe7c556739d4a23c5699a6da24e99fe.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..41b58f2ffd5c2da2eb47696239a556c82c41fcf7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5c01813f337b4def8b4ed83afc43d6f55fe7c556739d4a23c5699a6da24e99fe.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f16(b0[((i / 512u) % 1u) * 2048u + ((i / 64u) % 8u) * 256u + ((i / 64u) % 1u) * 256u + (((i / 1u) % 64u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5c87f765fc76bd11b9204ef3f8ff03c03a0fd203f8bd0185b6496f74369da758.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5c87f765fc76bd11b9204ef3f8ff03c03a0fd203f8bd0185b6496f74369da758.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..4ace60caa9d184e3593a91d2b0f5de635e4625eb --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5c87f765fc76bd11b9204ef3f8ff03c03a0fd203f8bd0185b6496f74369da758.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5fd6e068841f5c054392bef564909dbf086bae9e4030f3625d1143244a08cbbf.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5fd6e068841f5c054392bef564909dbf086bae9e4030f3625d1143244a08cbbf.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..d60668fd46afd65337a293687e115ac26feb2dab --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/5fd6e068841f5c054392bef564909dbf086bae9e4030f3625d1143244a08cbbf.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +let coord = (i / 1u) % 64u; +if (coord >= 0u && coord < 32u) { out[i] = f32(b0[(i / 64u) * 32u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 32u && coord < 64u) { out[i] = f32(b0[(i / 64u) * 32u + (coord - 32u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6076d0bf36bd399e99fc409a95634cc3a508bec06ca558f0177434547983cd8b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6076d0bf36bd399e99fc409a95634cc3a508bec06ca558f0177434547983cd8b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8c75b69d7022cf5cd20457ed9ab0f9c3441f501e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6076d0bf36bd399e99fc409a95634cc3a508bec06ca558f0177434547983cd8b.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +let coord = (i / 1u) % 64u; +if (coord >= 0u && coord < 32u) { out[i] = f16(b0[(i / 64u) * 32u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 32u && coord < 64u) { out[i] = f16(b1[(i / 64u) * 32u + (coord - 32u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/64290f9bb656bb072a24effb35742fb11ced6f3bd4bc5f4b54123c9606cef41f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/64290f9bb656bb072a24effb35742fb11ced6f3bd4bc5f4b54123c9606cef41f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..3edac89133b814ba21156e7f9e6b4307f7ed2041 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/64290f9bb656bb072a24effb35742fb11ced6f3bd4bc5f4b54123c9606cef41f.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/665cda3c121e57eca4b72aa63e61e2e3d7935fb204d6fbc57adbb0b393fd32d4.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/665cda3c121e57eca4b72aa63e61e2e3d7935fb204d6fbc57adbb0b393fd32d4.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..15171e78d3a57e3d50f4589f93af74fcc82fdd26 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/665cda3c121e57eca4b72aa63e61e2e3d7935fb204d6fbc57adbb0b393fd32d4.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f16(b0[((i / 16u) % 1u) * 16u + ((i / 1u) % 16u) * 1u + ((i / 1u) % 1u) * 16u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a337b88a5efde2d59ea676f0cfb58df2003935428bcc283950b7c89cab1aa7f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a337b88a5efde2d59ea676f0cfb58df2003935428bcc283950b7c89cab1aa7f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..ae82bf1bbb32e6f2388f8a1ff2794088f359e940 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a337b88a5efde2d59ea676f0cfb58df2003935428bcc283950b7c89cab1aa7f.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 30720u; +if (i >= 30720u) { return; } +let coord = (i / 1u) % 5u; +if (coord >= 0u && coord < 4u) { out[i] = f16(b0[(i / 5u) * 4u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 4u && coord < 5u) { out[i] = f16(b1[(i / 5u) * 1u + (coord - 4u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a7b2e3778a02c76155d46fa84aeb33f594954e82e09b6b7f2915c0a606eb3f5.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a7b2e3778a02c76155d46fa84aeb33f594954e82e09b6b7f2915c0a606eb3f5.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..dbb8e11929641cd77e1054eb002c379556e71409 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a7b2e3778a02c76155d46fa84aeb33f594954e82e09b6b7f2915c0a606eb3f5.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +var acc = 0.0; +for (var j = 0u; j < 128u; j++) { acc += f32(b0[(((i / 2048u) % 1u) * 262144u + ((i / 128u) % 16u) * 16384u + ((i / 1u) % 128u) * 1u) + (((j / 1u) % 128u) * 128u)]); } +out[i] = f32(acc); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a83253d850e0909ae680acaa0774c5ad110f4c057980106c0383d73371bfb1a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a83253d850e0909ae680acaa0774c5ad110f4c057980106c0383d73371bfb1a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..7f60d938f1501d684213feaaf57ce5a3313c853f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a83253d850e0909ae680acaa0774c5ad110f4c057980106c0383d73371bfb1a.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a953fa40ac66d71c6b96e0a14fb321f2d0e8c39a9af7041966bc07284720fa7.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a953fa40ac66d71c6b96e0a14fb321f2d0e8c39a9af7041966bc07284720fa7.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..fc79c9501c735aa0060d91e3691b02df98a24f56 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6a953fa40ac66d71c6b96e0a14fb321f2d0e8c39a9af7041966bc07284720fa7.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f16(f32(b0[i]) * f32(b1[((i / 1u) % 64u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6acb95aac27b4ee1945a1ea077b48448a1a91509a577269847d244a90b32c132.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6acb95aac27b4ee1945a1ea077b48448a1a91509a577269847d244a90b32c132.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..40b4a6fe0f957cedc4af44677a5a80f61e7f13ed --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6acb95aac27b4ee1945a1ea077b48448a1a91509a577269847d244a90b32c132.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 6144u + ((i / 2048u) % 1u) * 6144u + (((i / 1u) % 2048u) * 1u + 4096u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6be08553b45679d139ac09782dd180d640757cc4ed4f1d00ceeeb65dc470e72d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6be08553b45679d139ac09782dd180d640757cc4ed4f1d00ceeeb65dc470e72d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..31132550b1862e7d7dae65904ec250b533f8dbaa --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6be08553b45679d139ac09782dd180d640757cc4ed4f1d00ceeeb65dc470e72d.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 6144u + ((i / 2048u) % 1u) * 6144u + (((i / 1u) % 2048u) * 1u + 2048u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6dd75d41e19dbacfe48721ca98e0e9b910ff5ffdada05880789c0a011675fabf.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6dd75d41e19dbacfe48721ca98e0e9b910ff5ffdada05880789c0a011675fabf.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c8beea40d7b77a9ea311e83ba103b73d67510f1b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/6dd75d41e19dbacfe48721ca98e0e9b910ff5ffdada05880789c0a011675fabf.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 8u) { return; } +var acc = 0.0; +for (var j = 0u; j < 256u; j++) { acc += f32(b0[(((i / 8u) % 1u) * 2048u + ((i / 8u) % 1u) * 2048u + ((i / 1u) % 8u) * 256u) + (((j / 1u) % 256u) * 1u)]); } +out[i] = f32(acc / 256.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/70ce424e071e4be502db10d94f3d121cbf8d15d920db399cc6e3a0727c060caa.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/70ce424e071e4be502db10d94f3d121cbf8d15d920db399cc6e3a0727c060caa.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..9ffc77e52ab934575b1385965da0ee64b3e236d6 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/70ce424e071e4be502db10d94f3d121cbf8d15d920db399cc6e3a0727c060caa.wgsl @@ -0,0 +1,12 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +var acc = 0.0; +for (var j = 0u; j < 128u; j++) { acc += f32(b0[(((i / 16u) % 1u) * 2048u + ((i / 16u) % 1u) * 2048u + ((i / 1u) % 16u) * 128u) + (((j / 1u) % 128u) * 1u)]); } +out[i] = f16(acc); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7121b5c223da0b0f28991f55cfed3c3f3390caa0bf65a8e58ae380db281ceb6b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7121b5c223da0b0f28991f55cfed3c3f3390caa0bf65a8e58ae380db281ceb6b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..69d777ae7caf63f2db83f47bb596dbe1e85a7c4b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7121b5c223da0b0f28991f55cfed3c3f3390caa0bf65a8e58ae380db281ceb6b.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 11u) { return; } +out[i] = f32(b0[((i / 11u) % 1u) * 32u + ((i / 11u) % 1u) * 32u + (((i / 1u) % 11u) * 3u + 1u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7183997261247fa4df7e081c0d6d01036fee95b9b57ef944d5f44f72fc80d5fe.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7183997261247fa4df7e081c0d6d01036fee95b9b57ef944d5f44f72fc80d5fe.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..99d3e6e77543d2cc58b39e9dcb97109efd21a2fe --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7183997261247fa4df7e081c0d6d01036fee95b9b57ef944d5f44f72fc80d5fe.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 3u) { return; } +out[i] = i32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/742db031d819fdf5a756f37e8e824e2dcb2ca3f30efac3ffbd5918181059ae3a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/742db031d819fdf5a756f37e8e824e2dcb2ca3f30efac3ffbd5918181059ae3a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0879520c73bf4f1395e8a15cc5874fa97dbecde1 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/742db031d819fdf5a756f37e8e824e2dcb2ca3f30efac3ffbd5918181059ae3a.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 262144u; +if (i >= 262144u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 16384u) % 16u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/74825c737a9af6b5b5f135b1df88afaa7e80c3dfbb2ed9dd406e9242c50bfe06.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/74825c737a9af6b5b5f135b1df88afaa7e80c3dfbb2ed9dd406e9242c50bfe06.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8fb0a3ba28b97ae86dab2d3f04a56279c23362da --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/74825c737a9af6b5b5f135b1df88afaa7e80c3dfbb2ed9dd406e9242c50bfe06.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 1u) { return; } +out[i] = f32(f32(b0[i]) + (1e-06 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/759c63c4e237a2b3764b626e9db4f60536faf26577419d488b4fbf271a6e4e4a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/759c63c4e237a2b3764b626e9db4f60536faf26577419d488b4fbf271a6e4e4a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8a85c166513d8b4f82123beb8df8e37f8bbe085a --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/759c63c4e237a2b3764b626e9db4f60536faf26577419d488b4fbf271a6e4e4a.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 256u; +if (i >= 256u) { return; } +out[i] = f32(f32(b0[i]) + (1.0 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/777b69ccbce41d844bbde50c84294eec98066ce09c0a49249c0083e6a98ab561.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/777b69ccbce41d844bbde50c84294eec98066ce09c0a49249c0083e6a98ab561.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0a6bcfd227464384d89d21677ed7dcd99dc3425e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/777b69ccbce41d844bbde50c84294eec98066ce09c0a49249c0083e6a98ab561.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7ad635ba3bd72099f5b84597ad23ed54b83873ac53944649fd0bedb25a52a692.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7ad635ba3bd72099f5b84597ad23ed54b83873ac53944649fd0bedb25a52a692.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..db6e11433bc4264230e8dc7653c899197b935ac5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7ad635ba3bd72099f5b84597ad23ed54b83873ac53944649fd0bedb25a52a692.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 2048u + ((i / 128u) % 16u) * 128u + ((i / 128u) % 1u) * 2048u + ((i / 1u) % 128u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7fe183583b43b627721ba6853b306288d7ceea4b42b630410f47ea9637220a4b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7fe183583b43b627721ba6853b306288d7ceea4b42b630410f47ea9637220a4b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..afbf92723660dbb4d364ef0cbeaf40d4cdc4891a --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/7fe183583b43b627721ba6853b306288d7ceea4b42b630410f47ea9637220a4b.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8527da3511965e56b55949265779ba1a6a61b2257e7120ec97b4d4350cb2599c.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8527da3511965e56b55949265779ba1a6a61b2257e7120ec97b4d4350cb2599c.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..df7347776d1e8bb5c2d9be3b7bc6488488e7e54e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8527da3511965e56b55949265779ba1a6a61b2257e7120ec97b4d4350cb2599c.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 256u; +if (i >= 256u) { return; } +let x = f32(b0[i]); +out[i] = f16(-x); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/869b5ed8d1728d6fc7262ed6a0d8412dfd1e2c0ae420f068c41fc1f3f3ca14e9.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/869b5ed8d1728d6fc7262ed6a0d8412dfd1e2c0ae420f068c41fc1f3f3ca14e9.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..40d827d22e06007c30b9546cde391737d54a6f9e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/869b5ed8d1728d6fc7262ed6a0d8412dfd1e2c0ae420f068c41fc1f3f3ca14e9.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +let x = f32(b0[i]); +out[i] = f32(x*x); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8711a14350ed15b562f26bb3aa41296c48020d2a36eedc5bd89adcad550ea90f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8711a14350ed15b562f26bb3aa41296c48020d2a36eedc5bd89adcad550ea90f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..6ee3e22715fc3c638a5407a811495bd272e0a7ff --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8711a14350ed15b562f26bb3aa41296c48020d2a36eedc5bd89adcad550ea90f.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 3584u; + let col = index % 3584u; + let word = b1[row * 448u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 112u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 1024u; + if (i >= 1024u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 3584u; p += 64u) { acc += f32(b0[(i / 1024u) * 3584u + p]) * dequant_1((i % 1024u) * 3584u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8bbc8f15f6eae5abd8e43cdadd577047e3e81811c701da1954f1355f3a514a21.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8bbc8f15f6eae5abd8e43cdadd577047e3e81811c701da1954f1355f3a514a21.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..2ef17495943820b526b78ed8d3feb3e4b651dd33 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8bbc8f15f6eae5abd8e43cdadd577047e3e81811c701da1954f1355f3a514a21.wgsl @@ -0,0 +1,18 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +let batch = i / 256u; +let row = (i / 256u) % 1u; +let col = i % 256u; +var acc = 0.0; +for (var p = 0u; p < 4096u; p++) { + acc += f32(b0[(((batch / 1u) % 8u) * 4096u) + row * 4096u + p]) * f32(b1[(((batch / 1u) % 8u) * 1048576u) + p * 256u + col]); +} +out[i] = f16(acc); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8d0a37e497bcb37e2d5a1746fba59fd69680ed8eeada4835c5d0eeef840d57ab.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8d0a37e497bcb37e2d5a1746fba59fd69680ed8eeada4835c5d0eeef840d57ab.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8a01c2daa51364f3125cbebcab9dbf7871446a9a --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/8d0a37e497bcb37e2d5a1746fba59fd69680ed8eeada4835c5d0eeef840d57ab.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +let x = f32(b0[i]); +out[i] = f32(-x); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/90d5a717885fcf0ac83d93bc97ccc20676b71b30aab9d4635494baee38ba88ce.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/90d5a717885fcf0ac83d93bc97ccc20676b71b30aab9d4635494baee38ba88ce.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..958b5bbdbf512591753bf03cc8d1b81ebf996171 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/90d5a717885fcf0ac83d93bc97ccc20676b71b30aab9d4635494baee38ba88ce.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 384u; +if (i >= 384u) { return; } +out[i] = f16(b0[((i / 384u) % 1u) * 512u + ((i / 192u) % 2u) * 256u + ((i / 192u) % 1u) * 256u + (((i / 1u) % 192u) * 1u + 64u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9144d827dae4c52b80abb829178a9ed901ce5dbc6702ad94b0b355e8eaad5ea5.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9144d827dae4c52b80abb829178a9ed901ce5dbc6702ad94b0b355e8eaad5ea5.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0e196cbf9c5f57d582e8784874efe3d9797e27fe --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9144d827dae4c52b80abb829178a9ed901ce5dbc6702ad94b0b355e8eaad5ea5.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 32u) { return; } +let coord = (i / 1u) % 32u; +if (coord >= 2u && coord < 32u && (coord - 2u) % 3u == 0u) { out[i] = f32(b0[((i / 32u) % 1u) * 10u + ((i / 32u) % 1u) * 10u + ((((i / 1u) % 32u) - 2u) / 3u) * 1u]); } else { out[i] = f32(b1[i]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/91fe8f8184a87eb1a52ef4ca8ef340b9b209789ceaa5b41a47f2cd240571ab70.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/91fe8f8184a87eb1a52ef4ca8ef340b9b209789ceaa5b41a47f2cd240571ab70.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..d8e27bd1672b84788d86a0ef33bd3a3d2169ccb9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/91fe8f8184a87eb1a52ef4ca8ef340b9b209789ceaa5b41a47f2cd240571ab70.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 30720u; +if (i >= 30720u) { return; } +let x = f32(b0[i]); +out[i] = f16(x / (1.0 + exp(-x))); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/93120194556482afd2620e1987865bb53877263ccc980a055dfa748894585e8c.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/93120194556482afd2620e1987865bb53877263ccc980a055dfa748894585e8c.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f81c777c9bbc8b0632baafa5d4567d8391a4d91b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/93120194556482afd2620e1987865bb53877263ccc980a055dfa748894585e8c.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/947f5cc8b3f87e1a0d4d322d9d9e71e2ed16ce6e1f7c91118678c164dc1c8752.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/947f5cc8b3f87e1a0d4d322d9d9e71e2ed16ce6e1f7c91118678c164dc1c8752.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..2bb5bd4f5d110df131987419e6018288811ea172 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/947f5cc8b3f87e1a0d4d322d9d9e71e2ed16ce6e1f7c91118678c164dc1c8752.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 96u) { return; } +out[i] = f32(b0[((i / 32u) % 3u) * 32u + ((i / 32u) % 1u) * 32u + ((i / 1u) % 32u) * 1u + ((i / 1u) % 1u) * 32u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9625ca0b071511e5261877fd21627ca354ea0219da86a10887e8054afa15dcfd.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9625ca0b071511e5261877fd21627ca354ea0219da86a10887e8054afa15dcfd.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..e1f0cf834667ef3ff29080e64d8f9d08e6702c3e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9625ca0b071511e5261877fd21627ca354ea0219da86a10887e8054afa15dcfd.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 32u) { return; } +out[i] = f32(b0[1u * 32u + ((i / 32u) % 1u) * 32u + ((i / 32u) % 1u) * 32u + ((i / 1u) % 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/985bb9ad33654b9adbd4a256d626e346556a10dad514692800da8ebd7910f0f0.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/985bb9ad33654b9adbd4a256d626e346556a10dad514692800da8ebd7910f0f0.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..9018c3fdbf086b98282a94876e8a6631eb5442af --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/985bb9ad33654b9adbd4a256d626e346556a10dad514692800da8ebd7910f0f0.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 3u) { return; } +out[i] = i32(b0[(((i / 1u) % 3u) * 1u + 1u) * 1u + ((i / 1u) % 1u) * 1u + ((i / 1u) % 1u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/990406d9e76238db8bc85793325e969e48c04c75d1a217fe63b7cb7d9c561edf.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/990406d9e76238db8bc85793325e969e48c04c75d1a217fe63b7cb7d9c561edf.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..18c672a602fa05263490c3742b7b25cc5e6e2a87 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/990406d9e76238db8bc85793325e969e48c04c75d1a217fe63b7cb7d9c561edf.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +let x = f32(b0[i]); +out[i] = f16(1.0 / (1.0 + exp(-x))); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/99fb5353b82923ddccb0cf31d2b470e745c8c3b98e1a5c9667ae323babe79b0a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/99fb5353b82923ddccb0cf31d2b470e745c8c3b98e1a5c9667ae323babe79b0a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..42eb59f6091c887537b1912618a5866953fe8f48 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/99fb5353b82923ddccb0cf31d2b470e745c8c3b98e1a5c9667ae323babe79b0a.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 128u) { return; } +out[i] = f16(f32(b0[i]) + (f32(b1[i]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9e13a281c20a618b227cdda747fdecaeca171af334742b83a80d2019ebb96cbd.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9e13a281c20a618b227cdda747fdecaeca171af334742b83a80d2019ebb96cbd.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..a9735a9a58576e2ee3a6d2db456ca8ddf1f786ca --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9e13a281c20a618b227cdda747fdecaeca171af334742b83a80d2019ebb96cbd.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 6144u + ((i / 2048u) % 1u) * 6144u + (((i / 1u) % 2048u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9e5386586f692cd1d2e6b25dce87abaa97386fa0ae759586e718dda142bea88a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9e5386586f692cd1d2e6b25dce87abaa97386fa0ae759586e718dda142bea88a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..5d7457ce6d9bfd674387b56096bdaa0ab9c31235 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9e5386586f692cd1d2e6b25dce87abaa97386fa0ae759586e718dda142bea88a.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(f32(b0[i]) * f32(b1[i])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9ea58d458b4dd4fa7c3d738c8b710517e4b8dfb0d87fbec7b5c2f49bcd2de7bc.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9ea58d458b4dd4fa7c3d738c8b710517e4b8dfb0d87fbec7b5c2f49bcd2de7bc.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..65ee2680567dcbb58a0984b1aff10f1b50566af4 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/9ea58d458b4dd4fa7c3d738c8b710517e4b8dfb0d87fbec7b5c2f49bcd2de7bc.wgsl @@ -0,0 +1,17 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var b3: array; +@group(0) @binding(4) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 248320u; +if (i >= 248320u) { return; } +let coord = (i / 1u) % 248320u; +if (coord >= 0u && coord < 65536u) { out[i] = f16(b0[(i / 248320u) * 65536u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 65536u && coord < 131072u) { out[i] = f16(b1[(i / 248320u) * 65536u + (coord - 65536u) * 1u + i % 1u]); } +if (coord >= 131072u && coord < 196608u) { out[i] = f16(b2[(i / 248320u) * 65536u + (coord - 131072u) * 1u + i % 1u]); } +if (coord >= 196608u && coord < 248320u) { out[i] = f16(b3[(i / 248320u) * 51712u + (coord - 196608u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a2561f5de51467cbba9b2f74e213693630ba6c086fb0a1b5b97315d37bfb6942.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a2561f5de51467cbba9b2f74e213693630ba6c086fb0a1b5b97315d37bfb6942.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..740acb214f3c2958f1ef041c26966b2f9fd81b6b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a2561f5de51467cbba9b2f74e213693630ba6c086fb0a1b5b97315d37bfb6942.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f16(f32(b0[i]) + (f32(b1[i]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a37dac611b27158f19aa5bd70c43217286e610e733cbd602b91666b4af42d3ef.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a37dac611b27158f19aa5bd70c43217286e610e733cbd602b91666b4af42d3ef.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c0eaa7ea6d730c603c8ce3193ea9e00a3ec74433 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a37dac611b27158f19aa5bd70c43217286e610e733cbd602b91666b4af42d3ef.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 1u) { return; } +out[i] = i32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a37ea95ec60e5b8fc248c9e0ab6d4c2c344f6f504cd73bd4aac7b4f4d562e930.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a37ea95ec60e5b8fc248c9e0ab6d4c2c344f6f504cd73bd4aac7b4f4d562e930.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0deaaefaf9e0c86313681857db4754ab19e067a9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a37ea95ec60e5b8fc248c9e0ab6d4c2c344f6f504cd73bd4aac7b4f4d562e930.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +let token = i32(b0[i / 1024u]); +if (token < 65536 || token >= 131072) { out[i] = f16(0.0); return; } +out[i] = f16(b1[u32(token - 65536) * 1024u + i % 1024u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a3e14309c38bb9a32a31e38d756485dddef949ff49d956a50908e2247c7c8abe.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a3e14309c38bb9a32a31e38d756485dddef949ff49d956a50908e2247c7c8abe.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..47e3fe5da0a5ea34120099d3e14c89df2d73b5db --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a3e14309c38bb9a32a31e38d756485dddef949ff49d956a50908e2247c7c8abe.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f16(b0[((i / 512u) % 1u) * 512u + ((i / 256u) % 2u) * 256u + ((i / 256u) % 1u) * 512u + ((i / 1u) % 256u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a429ab30ff95ce1b0f0388498d823ff9c043ad70b21f8bb609bbcf87cd28014e.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a429ab30ff95ce1b0f0388498d823ff9c043ad70b21f8bb609bbcf87cd28014e.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0556e53f06e6f7f9bb870fcd99defbe831f63ba1 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a429ab30ff95ce1b0f0388498d823ff9c043ad70b21f8bb609bbcf87cd28014e.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2097152u; +if (i >= 2097152u) { return; } +out[i] = f16(b0[((i) / 256u) % 4096u * 512u + ((i) / 1048576u) % 2u * 256u + ((i) / 1u) % 256u * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a4cf1224f0c913592843045b6b129bb92273bc021af13296127d1b57156e6f88.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a4cf1224f0c913592843045b6b129bb92273bc021af13296127d1b57156e6f88.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..18d7749e6e4110f3707919a9875b0059f5ae1e2f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a4cf1224f0c913592843045b6b129bb92273bc021af13296127d1b57156e6f88.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 128u) { return; } +out[i] = f16(f32(b0[i]) * f32(b1[((i / 1u) % 64u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a58e9adbad973ba2f87419a87d15a4b203e4fac2adb1c2f0f45dded8467e7386.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a58e9adbad973ba2f87419a87d15a4b203e4fac2adb1c2f0f45dded8467e7386.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8dafafcc769f0a0153ea36a8a3d0e469a65fb915 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a58e9adbad973ba2f87419a87d15a4b203e4fac2adb1c2f0f45dded8467e7386.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 256u) % 8u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a672c3e158716bde7444c8141f3df1da16da739ccdd2eb2ad60f9d42d0775157.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a672c3e158716bde7444c8141f3df1da16da739ccdd2eb2ad60f9d42d0775157.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..aa456f658303b9267eb9faab7425cd740bbdc6f5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a672c3e158716bde7444c8141f3df1da16da739ccdd2eb2ad60f9d42d0775157.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +let coord = (i / 128u) % 1u; +if (coord == 0u) { out[i] = f32(b0[((i / 2048u) % 1u) * 2048u + ((i / 128u) % 16u) * 128u + ((i / 1u) % 128u) * 1u]); } else { out[i] = f32(b1[i]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a77f14c89662d2d3da8abd8f109667793dc662d307e5e1c61123be753e25437b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a77f14c89662d2d3da8abd8f109667793dc662d307e5e1c61123be753e25437b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..8f7e080e8cee8c2acabacf51697ca01fe402a237 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/a77f14c89662d2d3da8abd8f109667793dc662d307e5e1c61123be753e25437b.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 96u) { return; } +out[i] = f32(b0[((i / 1u) % 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/accc4c502a4ddeea7dc9c3d00f3f58cd77ecb5ccddc0f1dd44a2c578e97e63f2.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/accc4c502a4ddeea7dc9c3d00f3f58cd77ecb5ccddc0f1dd44a2c578e97e63f2.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..cea97ffa48d7d65929a78eb9126ca5158470292d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/accc4c502a4ddeea7dc9c3d00f3f58cd77ecb5ccddc0f1dd44a2c578e97e63f2.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ae8f63dd06507fd0c575e576c126944275a62fd9b6730313e8e5ac6369872267.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ae8f63dd06507fd0c575e576c126944275a62fd9b6730313e8e5ac6369872267.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..b18c5b1cd31ea00868fbfeecb448516b406bf6bf --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ae8f63dd06507fd0c575e576c126944275a62fd9b6730313e8e5ac6369872267.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 4194240u; +if (i >= 8388608u) { return; } +out[i] = f16(b0[((i / 8388608u) % 1u) * 8388608u + ((i / 1048576u) % 8u) * 1048576u + ((i / 4096u) % 256u) * 1u + ((i / 1u) % 4096u) * 256u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b0838d1f95f0fd6641bd3ae7d989ebe8f964bc3c82631b2a33e2ca564a927e9b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b0838d1f95f0fd6641bd3ae7d989ebe8f964bc3c82631b2a33e2ca564a927e9b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..a1b0e550d8c9fafe0d2d025de16ace6169cc4cff --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b0838d1f95f0fd6641bd3ae7d989ebe8f964bc3c82631b2a33e2ca564a927e9b.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 24576u; +if (i >= 24576u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b199d835db70f888c7b99a3ac6e9ec56f6c47d5bba4eaf352e0a8eabed56411e.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b199d835db70f888c7b99a3ac6e9ec56f6c47d5bba4eaf352e0a8eabed56411e.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..54526e84e0f57f0b27c2e0d57273b25cde83790f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b199d835db70f888c7b99a3ac6e9ec56f6c47d5bba4eaf352e0a8eabed56411e.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 128u) % 16u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b7a4fe3a16a37ec4eb65ad6959dc83f30aa20cdc405aa66ee0d4efeb1920b1a1.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b7a4fe3a16a37ec4eb65ad6959dc83f30aa20cdc405aa66ee0d4efeb1920b1a1.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..1a8022d0caa67680e866df6ba6fd74e6bad97552 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b7a4fe3a16a37ec4eb65ad6959dc83f30aa20cdc405aa66ee0d4efeb1920b1a1.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 128u) { return; } +out[i] = f16(b0[((i / 128u) % 1u) * 512u + ((i / 64u) % 2u) * 256u + ((i / 64u) % 1u) * 256u + (((i / 1u) % 64u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b909f6bd15e58b4e5559da88b56208d617d4439a17cc14dea96e2897de0c0118.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b909f6bd15e58b4e5559da88b56208d617d4439a17cc14dea96e2897de0c0118.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..2aceaf3d0c32d6db7c5444a6c751a61d3f9099bc --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/b909f6bd15e58b4e5559da88b56208d617d4439a17cc14dea96e2897de0c0118.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 1024u; + let col = index % 1024u; + let word = b1[row * 128u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 32u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 6144u; + if (i >= 6144u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 6144u) * 1024u + p]) * dequant_1((i % 6144u) * 1024u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bb07991ad7088f42c159cbd086520fb2900c45cf27ed91784f2dc1780d36ed70.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bb07991ad7088f42c159cbd086520fb2900c45cf27ed91784f2dc1780d36ed70.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..1cf16693c6d5f13164839ce21ecde410dc81145c --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bb07991ad7088f42c159cbd086520fb2900c45cf27ed91784f2dc1780d36ed70.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 30720u; +if (i >= 30720u) { return; } +out[i] = f16(b0[((i / 30720u) % 1u) * 49152u + ((i / 5u) % 6144u) * 8u + (((i / 1u) % 5u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bb9029b667eeb13670d1f640cd677c6eabd7a7569686c599e3eeb9482d642b00.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bb9029b667eeb13670d1f640cd677c6eabd7a7569686c599e3eeb9482d642b00.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..70d42d4c763bcca299e524c1695c1ae352353cd9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bb9029b667eeb13670d1f640cd677c6eabd7a7569686c599e3eeb9482d642b00.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(f32(b0[i]) - (f32(b1[i]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bcbe14ef2fceea3448f416019a200c774bbd023457d9c833f20bf6c674bfa87f.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bcbe14ef2fceea3448f416019a200c774bbd023457d9c833f20bf6c674bfa87f.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..459154deb1b86e2c50aef0bec16e5b41ad797c90 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/bcbe14ef2fceea3448f416019a200c774bbd023457d9c833f20bf6c674bfa87f.wgsl @@ -0,0 +1,22 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 49152u; +if (i >= 49152u) { return; } +let batch = i / 49152u; +let channel = (i / 8u) % 6144u; +let group = channel / 1u; +var acc = 0.0; +for (var c = 0u; c < 1u; c++) { + for (var p = 0u; p < 4u; p++) { + let pos0 = i32((i / 1u) % 8u) * 1 + i32((p / 1u) % 4u) * 1 - 3; + if (pos0 >= 0 && pos0 < 5) { acc += f32(b0[batch * 30720u + (group * 1u + c) * 5u + u32(pos0) * 1u]) * f32(b1[(channel * 1u + c) * 4u + p]); } + } +} +out[i] = f16(acc + 0.0); + +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c0b2947798baa198598d75ca0e5dcd31a9fa320499665e34f7bb81d27fc15fb0.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c0b2947798baa198598d75ca0e5dcd31a9fa320499665e34f7bb81d27fc15fb0.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..bb8b3676ab0dfbc0c5c78d28f96387bc3a721046 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c0b2947798baa198598d75ca0e5dcd31a9fa320499665e34f7bb81d27fc15fb0.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +let x = f32(b0[i]); +out[i] = f32(cos(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c23bee3c3664172bf0a078a96acd2b3ad3136732234975f757d313e696c2c37a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c23bee3c3664172bf0a078a96acd2b3ad3136732234975f757d313e696c2c37a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..2d80755364a4fee024c589b10f9f00932c251576 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c23bee3c3664172bf0a078a96acd2b3ad3136732234975f757d313e696c2c37a.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(f32(b0[((i / 1u) % 16u) * 1u]) * f32(b1[i])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c2c806bbe93f09247867b4ace45489a5f2fe3ee67f265418eb7aa71a29880276.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c2c806bbe93f09247867b4ace45489a5f2fe3ee67f265418eb7aa71a29880276.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..fa4df64a06b41dc3305ec748ea504d435a19aa23 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c2c806bbe93f09247867b4ace45489a5f2fe3ee67f265418eb7aa71a29880276.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +let x = f32(b0[i]); +out[i] = f32(inverseSqrt(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c4aaa9922e572cf7f355b13dd20f449499c622a329f230a8c97fd5ee5b718a05.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c4aaa9922e572cf7f355b13dd20f449499c622a329f230a8c97fd5ee5b718a05.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..9ab3577a1f67b65ea756e41662ef54521e5f32ce --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c4aaa9922e572cf7f355b13dd20f449499c622a329f230a8c97fd5ee5b718a05.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 1024u; + let col = index % 1024u; + let word = b1[row * 128u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 32u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 2048u; + if (i >= 2048u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 2048u) * 1024u + p]) * dequant_1((i % 2048u) * 1024u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c4e65292c406754db5cde9209846773aec380a2963ba6ca329ea68fe501ed3e0.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c4e65292c406754db5cde9209846773aec380a2963ba6ca329ea68fe501ed3e0.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..b63f152d20bd494cccff76d97fca2dc68d0faf04 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c4e65292c406754db5cde9209846773aec380a2963ba6ca329ea68fe501ed3e0.wgsl @@ -0,0 +1,11 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(f32(b0[i]) + (f32(b1[((i / 1u) % 16u) * 1u]) * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c72041e82befee6919af48775291256e22a43dc6445ef0aa288db6b96585a2a9.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c72041e82befee6919af48775291256e22a43dc6445ef0aa288db6b96585a2a9.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..ceffcce3113d363ae38d0760c9af3a93e2a924d3 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c72041e82befee6919af48775291256e22a43dc6445ef0aa288db6b96585a2a9.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 32u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c7be5e0d4293081b3b169c46b74a4412167112d45649f0f692060d68d121ac04.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c7be5e0d4293081b3b169c46b74a4412167112d45649f0f692060d68d121ac04.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..ce45770126638a4e1eb71be6908120f21ec05f54 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c7be5e0d4293081b3b169c46b74a4412167112d45649f0f692060d68d121ac04.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f32(f32(b0[i]) + (1.0 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c80a8e9a7d08644037dcc89d0faea51c11125e9212f09dac7a4fc32d1d4f2743.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c80a8e9a7d08644037dcc89d0faea51c11125e9212f09dac7a4fc32d1d4f2743.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f327dab2dcc347a7035d0ddb35b9f03e1f183d48 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c80a8e9a7d08644037dcc89d0faea51c11125e9212f09dac7a4fc32d1d4f2743.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c82dd7f7bd4afd0cf1031cecb00d8978b4be6c78f7349b0f2a78622d533bd432.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c82dd7f7bd4afd0cf1031cecb00d8978b4be6c78f7349b0f2a78622d533bd432.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..db7f91aa63d60510b9ee579f042a4ca4f4d413e9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c82dd7f7bd4afd0cf1031cecb00d8978b4be6c78f7349b0f2a78622d533bd432.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +let coord = (i / 1u) % 256u; +if (coord >= 0u && coord < 64u) { out[i] = f16(b0[(i / 256u) * 64u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 64u && coord < 256u) { out[i] = f16(b1[(i / 256u) * 192u + (coord - 64u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c90428425f6d220b441e97e3b894adfb090869c98b17f53afbd2f9fb202b4525.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c90428425f6d220b441e97e3b894adfb090869c98b17f53afbd2f9fb202b4525.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..6bbc472bea9c8d96ae70e94b1ca3e146cd081981 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/c90428425f6d220b441e97e3b894adfb090869c98b17f53afbd2f9fb202b4525.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +let x = f32(b0[i]); +out[i] = f32(sin(x)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cbe7ec56ce7efa22fb07f71b374a4e8953e9dcff5c95fb000f6bf5295bbae63d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cbe7ec56ce7efa22fb07f71b374a4e8953e9dcff5c95fb000f6bf5295bbae63d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..9becf8c3f7218c82aeb4fcbe90ffe8f5efe85874 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cbe7ec56ce7efa22fb07f71b374a4e8953e9dcff5c95fb000f6bf5295bbae63d.wgsl @@ -0,0 +1,35 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let row = group.x + group.y * 8u; + if (row >= 8u) { return; } + let lane = local.x; + var maximum = -3.4028234663852886e38; + for (var p = lane; p < 4096u; p += 64u) { maximum = max(maximum, f32(b0[row * 4096u + p])); } + partial[lane] = maximum; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] = max(partial[lane], partial[lane + stride]); } + workgroupBarrier(); + } + maximum = partial[0]; + // All lanes must finish reading the maximum before the scratch array is reused. + workgroupBarrier(); + var total = 0.0; + for (var p = lane; p < 4096u; p += 64u) { total += exp(f32(b0[row * 4096u + p]) - maximum); } + partial[lane] = total; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + total = partial[0]; + for (var p = lane; p < 4096u; p += 64u) { + let i = row * 4096u + p; + out[i] = f32(exp(f32(b0[row * 4096u + p]) - maximum) / total); + } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cc250879ffbf43ba05860b5a86f6a824e8ca7b4c9f820137a68e1ba633e09738.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cc250879ffbf43ba05860b5a86f6a824e8ca7b4c9f820137a68e1ba633e09738.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f99a31a5530ee04c3f3573c324dd7c6471dc1049 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cc250879ffbf43ba05860b5a86f6a824e8ca7b4c9f820137a68e1ba633e09738.wgsl @@ -0,0 +1,17 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 96u) { return; } +let batch = i / 32u; +let row = (i / 1u) % 32u; +let col = i % 1u; +var acc = 0.0; +for (var p = 0u; p < 1u; p++) { + acc += f32(b0[(((batch / 1u) % 3u) * 32u) + row * 1u + p]) * f32(b1[(((batch / 1u) % 3u) * 1u) + p * 1u + col]); +} +out[i] = f32(acc); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ce21e77f8c5ec99a64e195c9e92fdde9ae295eeff969b4f3b26b79f565a8e25c.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ce21e77f8c5ec99a64e195c9e92fdde9ae295eeff969b4f3b26b79f565a8e25c.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..ad1ca504c4085e397ea7590a93cb0c3fc487e193 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ce21e77f8c5ec99a64e195c9e92fdde9ae295eeff969b4f3b26b79f565a8e25c.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 6144u; +if (i >= 6144u) { return; } +out[i] = f16(b0[((i / 6144u) % 1u) * 30720u + ((i / 1u) % 6144u) * 5u + (((i / 1u) % 1u) * 1u + 4u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cf001911954d48a91a00c82e6170869985c302e2d575e0f5414e688589e4db3b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cf001911954d48a91a00c82e6170869985c302e2d575e0f5414e688589e4db3b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..83b17b28cdcb6ecccdbc384b234df014b4b8409e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/cf001911954d48a91a00c82e6170869985c302e2d575e0f5414e688589e4db3b.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[0u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d0218f4c7661846abccb6d0d4ce847d2d96466c9255f3a476d705bbf3dc8154c.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d0218f4c7661846abccb6d0d4ce847d2d96466c9255f3a476d705bbf3dc8154c.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..427188daa3124937ccfd3987c36f94fa80272f8b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d0218f4c7661846abccb6d0d4ce847d2d96466c9255f3a476d705bbf3dc8154c.wgsl @@ -0,0 +1,10 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f32(f32(b0[i]) * f32(b1[((i / 1u) % 256u) * 1u])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d389e9f231a6bdb1e687f1bf5f3956741af31852ddd1359b40206df9fafef434.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d389e9f231a6bdb1e687f1bf5f3956741af31852ddd1359b40206df9fafef434.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..90f2d5dd7885ac1a5e89a92af2290b8c7c618555 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d389e9f231a6bdb1e687f1bf5f3956741af31852ddd1359b40206df9fafef434.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 2048u; + let col = index % 2048u; + let word = b1[row * 256u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 64u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 1024u; + if (i >= 1024u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 2048u; p += 64u) { acc += f32(b0[(i / 1024u) * 2048u + p]) * dequant_1((i % 1024u) * 2048u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d641e40c04bcd8d313840629e49386b84f2cc9a15b9f99af4fe29ee73165881d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d641e40c04bcd8d313840629e49386b84f2cc9a15b9f99af4fe29ee73165881d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..d3d0a4aff2e19c2fc1bd88d9cf20fe96dbd381aa --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d641e40c04bcd8d313840629e49386b84f2cc9a15b9f99af4fe29ee73165881d.wgsl @@ -0,0 +1,29 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var b2: array; +@group(0) @binding(3) var out: array; +fn dequant_1(index: u32) -> f32 { + let row = index / 1024u; + let col = index % 1024u; + let word = b1[row * 128u + col / 8u]; + let code = i32((word >> ((col % 8u) * 4u)) & 15u) - 8; + return f32(f16(f32(code) * b2[row * 32u + col / 32u])); +} + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 4096u; + if (i >= 4096u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 4096u) * 1024u + p]) * dequant_1((i % 4096u) * 1024u + p); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d7328b7ea65acf83ac644f94eb36917955ca66392c0974e4198d0fb0477c7a78.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d7328b7ea65acf83ac644f94eb36917955ca66392c0974e4198d0fb0477c7a78.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..3f7bbc0be7b396061c23aea86a6924fd4fccc7a2 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/d7328b7ea65acf83ac644f94eb36917955ca66392c0974e4198d0fb0477c7a78.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 512u; +if (i >= 512u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/dc4ee648b97b273931e31c95b910d66f11e34a1cb036589e9ae9cc250b6e6291.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/dc4ee648b97b273931e31c95b910d66f11e34a1cb036589e9ae9cc250b6e6291.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..0e13dfcb4085c03a943bab386ba2afe5e2a6133c --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/dc4ee648b97b273931e31c95b910d66f11e34a1cb036589e9ae9cc250b6e6291.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 4u) { return; } +out[i] = i32(b0[0u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/dd16762168cc9723966fc29dd8135759cc9a2435f428fffa558aaf0d2911a969.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/dd16762168cc9723966fc29dd8135759cc9a2435f428fffa558aaf0d2911a969.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..1489c25545f8e84583b993d57b767343af768432 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/dd16762168cc9723966fc29dd8135759cc9a2435f428fffa558aaf0d2911a969.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 1024u; +if (i >= 1024u) { return; } +let token = i32(b0[i / 1024u]); +if (token < 0 || token >= 65536) { out[i] = f16(0.0); return; } +out[i] = f16(b1[u32(token - 0) * 1024u + i % 1024u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/deee894ecb86334ff82870260fc5edbc36439c1d3bce09fab5708c03d699b390.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/deee894ecb86334ff82870260fc5edbc36439c1d3bce09fab5708c03d699b390.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..edaf6eca29e64fa2e4a563af4eaf9fe76bfb99b7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/deee894ecb86334ff82870260fc5edbc36439c1d3bce09fab5708c03d699b390.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 32u) { return; } +out[i] = f32(b0[2u * 32u + ((i / 32u) % 1u) * 32u + ((i / 32u) % 1u) * 32u + ((i / 1u) % 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/e31d55388d055ce6b75ac5637ffa7914c511002a0c9cfb76a786c7e347a3c0c9.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/e31d55388d055ce6b75ac5637ffa7914c511002a0c9cfb76a786c7e347a3c0c9.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..c7ef462bc496f3e6831da6b33044cef0cc3de61a --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/e31d55388d055ce6b75ac5637ffa7914c511002a0c9cfb76a786c7e347a3c0c9.wgsl @@ -0,0 +1,21 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +var partial: array; +@compute @workgroup_size(64) +fn main(@builtin(workgroup_id) group: vec3, @builtin(local_invocation_id) local: vec3) { + let i = group.x + group.y * 65535u; + if (i >= 65536u) { return; } + let lane = local.x; + var acc = 0.0; + for (var p = lane; p < 1024u; p += 64u) { acc += f32(b0[(i / 65536u) * 1024u + p]) * f32(b1[(i % 65536u) * 1024u + p]); } + partial[lane] = acc; + workgroupBarrier(); + for (var stride = 32u; stride > 0u; stride /= 2u) { + if (lane < stride) { partial[lane] += partial[lane + stride]; } + workgroupBarrier(); + } + if (lane == 0u) { out[i] = f16(partial[0] + 0.0); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/e8af289ba520304aa3e6c4c6e26c07e3e1c8bb49aee6fd6d5ea5e369e0808c91.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/e8af289ba520304aa3e6c4c6e26c07e3e1c8bb49aee6fd6d5ea5e369e0808c91.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..1a12cd335e178304cd899f0b16a1c3aee9be8478 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/e8af289ba520304aa3e6c4c6e26c07e3e1c8bb49aee6fd6d5ea5e369e0808c91.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 2u) { return; } +out[i] = f32(f32(b0[i]) + (1e-06 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/eb87dc8be4a0cf99e7ff048d4732217620738b1132186169e7c465a20a00ed11.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/eb87dc8be4a0cf99e7ff048d4732217620738b1132186169e7c465a20a00ed11.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..a27ff3603df02e7751ade422169717ab034786c6 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/eb87dc8be4a0cf99e7ff048d4732217620738b1132186169e7c465a20a00ed11.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 256u; +if (i >= 256u) { return; } +out[i] = f16(b0[((i / 256u) % 1u) * 512u + ((i / 32u) % 8u) * 64u + ((i / 32u) % 1u) * 64u + (((i / 1u) % 32u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/eca62c94c36a3c2e926bbb293b1a4afe5a2466bf9c13148e327aaa4dc8aea829.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/eca62c94c36a3c2e926bbb293b1a4afe5a2466bf9c13148e327aaa4dc8aea829.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f64abd8a3352e8194679bbb78dc0f3db4ad1621f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/eca62c94c36a3c2e926bbb293b1a4afe5a2466bf9c13148e327aaa4dc8aea829.wgsl @@ -0,0 +1,12 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +let x = f32(b0[i]); let s = f32(f32(x / (1.0 + exp(-x)))); +out[i] = f32(s * f32(b1[i])); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ed85b49af889a8d9b89e04ae3538487f15793458b0fa0b578951d2934565c507.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ed85b49af889a8d9b89e04ae3538487f15793458b0fa0b578951d2934565c507.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..4cf08a7c953c7313f5b72b36ace7ad38fa97a380 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ed85b49af889a8d9b89e04ae3538487f15793458b0fa0b578951d2934565c507.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f16(f32(b0[i]) + (1e-06 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/edfa4ff396bf5cc3be28d9051639c4dda6fec1302d7a2bd34d89ec903af94af1.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/edfa4ff396bf5cc3be28d9051639c4dda6fec1302d7a2bd34d89ec903af94af1.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..fa04fd0adecdb9f18898bad16cb516ccdf4bf468 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/edfa4ff396bf5cc3be28d9051639c4dda6fec1302d7a2bd34d89ec903af94af1.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(f32(b0[i]) + (1e-06 * 1.0)); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ee8cb8841414e9cce3869ed695f9da31c391435b2277895608881c98ef1b03d0.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ee8cb8841414e9cce3869ed695f9da31c391435b2277895608881c98ef1b03d0.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..41cccaca90a8aa02826bad049029c5fc84a219e8 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/ee8cb8841414e9cce3869ed695f9da31c391435b2277895608881c98ef1b03d0.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 64u) { return; } +out[i] = f16(b0[((i / 64u) % 1u) * 128u + ((i / 32u) % 2u) * 64u + ((i / 32u) % 1u) * 64u + (((i / 1u) % 32u) * 1u + 32u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f09400c31799e395e1882489dc13853bf9e0d60bd36fc226c59c9c11d8f01848.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f09400c31799e395e1882489dc13853bf9e0d60bd36fc226c59c9c11d8f01848.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..f935123196a2f4b14249c3a9d289d05b6ac41e66 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f09400c31799e395e1882489dc13853bf9e0d60bd36fc226c59c9c11d8f01848.wgsl @@ -0,0 +1,11 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 1u) { return; } +var acc = 0.0; +for (var j = 0u; j < 1024u; j++) { acc += f32(b0[(((i / 1u) % 1u) * 1024u + ((i / 1u) % 1u) * 1024u) + (((j / 1u) % 1024u) * 1u)]); } +out[i] = f32(acc / 1024.0); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f0e1e2c32b3de7f39e89bf63084aa2cc5d98bd6acf12e56e33d55be2c6a94862.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f0e1e2c32b3de7f39e89bf63084aa2cc5d98bd6acf12e56e33d55be2c6a94862.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..e9706e5d2978f7eef8905415c3ad2257fdd7453a --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f0e1e2c32b3de7f39e89bf63084aa2cc5d98bd6acf12e56e33d55be2c6a94862.wgsl @@ -0,0 +1,13 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var b1: array; +@group(0) @binding(2) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 128u; +if (i >= 128u) { return; } +let coord = (i / 1u) % 64u; +if (coord >= 0u && coord < 32u) { out[i] = f16(b0[(i / 64u) * 32u + (coord - 0u) * 1u + i % 1u]); } +if (coord >= 32u && coord < 64u) { out[i] = f16(b1[(i / 64u) * 32u + (coord - 32u) * 1u + i % 1u]); } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f114c5cb9f1a7e377d9a3bcb28ab15b72807ece1796cf9c02fc74e7ce7318cc3.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f114c5cb9f1a7e377d9a3bcb28ab15b72807ece1796cf9c02fc74e7ce7318cc3.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..71fee4a974a4ef03d91dd3ce0680762c347a9577 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f114c5cb9f1a7e377d9a3bcb28ab15b72807ece1796cf9c02fc74e7ce7318cc3.wgsl @@ -0,0 +1,9 @@ +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 64u; +if (i >= 16u) { return; } +out[i] = f32(b0[((i / 16u) % 1u) * 16u + ((i / 1u) % 16u) * 1u + 0u * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f545db742864db922611db9427c0784c9ced6fe4fb27a75b15cee7f83a04fc7a.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f545db742864db922611db9427c0784c9ced6fe4fb27a75b15cee7f83a04fc7a.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..e03d15ad7eff418b01fa508f89aaca2840690a6e --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f545db742864db922611db9427c0784c9ced6fe4fb27a75b15cee7f83a04fc7a.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 256u; +if (i >= 256u) { return; } +out[i] = f32(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f5674e878f8329067270d349d8c26b5b94051ac7452ff6e4f8210e0f97c01336.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f5674e878f8329067270d349d8c26b5b94051ac7452ff6e4f8210e0f97c01336.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..b85e34653b66da71c148dbe04a146a55a6b49f5d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f5674e878f8329067270d349d8c26b5b94051ac7452ff6e4f8210e0f97c01336.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 4096u + ((i / 2048u) % 1u) * 4096u + ((i / 256u) % 8u) * 512u + (((i / 1u) % 256u) * 1u + 0u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f8a4395bd0356791917d7ef0469f9b7d983d33d4b7ad044d66852ead8a86971b.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f8a4395bd0356791917d7ef0469f9b7d983d33d4b7ad044d66852ead8a86971b.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..570bc31e173f177d222ea0676cf20b103a8a4092 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f8a4395bd0356791917d7ef0469f9b7d983d33d4b7ad044d66852ead8a86971b.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[i]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f8e54ce0cc83d023492ec797d54954a8aca947507fd221a5785671b2679391a8.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f8e54ce0cc83d023492ec797d54954a8aca947507fd221a5785671b2679391a8.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..37d7a3d6a99c037afcc01e170295d49ea16c5e43 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/f8e54ce0cc83d023492ec797d54954a8aca947507fd221a5785671b2679391a8.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 2048u; +if (i >= 2048u) { return; } +out[i] = f16(b0[((i / 2048u) % 1u) * 2048u + ((i / 256u) % 8u) * 256u + ((i / 256u) % 1u) * 2048u + ((i / 1u) % 256u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/kernels/fc87fe785180c3af246a6a83db264194a3db180fb143b2faa14bfc0ba9b4fe5d.wgsl b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/fc87fe785180c3af246a6a83db264194a3db180fb143b2faa14bfc0ba9b4fe5d.wgsl new file mode 100644 index 0000000000000000000000000000000000000000..e91f2bfa411f9e9c5a1e4055d1946f9eb477d472 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/kernels/fc87fe785180c3af246a6a83db264194a3db180fb143b2faa14bfc0ba9b4fe5d.wgsl @@ -0,0 +1,10 @@ +enable f16; +@group(0) @binding(0) var b0: array; +@group(0) @binding(1) var out: array; + +@compute @workgroup_size(64) +fn main(@builtin(global_invocation_id) gid: vec3) { +let i = gid.x + gid.y * 6144u; +if (i >= 6144u) { return; } +out[i] = f16(b0[((i / 6144u) % 1u) * 6144u + ((i / 6144u) % 1u) * 1u + ((i / 1u) % 6144u) * 1u]); +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/manifest.json b/qwen35-08b-fp16-int4-g32-gptq-home/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..80f6ef58fcf98e71e4fd71e2f2beb15cf7cc7841 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/manifest.json @@ -0,0 +1,973 @@ +{ + "format": "webtorch", + "version": 1, + "producer": { + "name": "webtorch", + "version": "0.1.0a1", + "torch": "2.14.0" + }, + "entrypoints": { + "forward": "graph.json" + }, + "requiredFeatures": [ + "shader-f16" + ], + "assets": [ + { + "path": "weights/00000.bin", + "byteLength": 67108864, + "sha256": "53008c5fa194e3469521d741cd49b5f0348915b95921a9eea68c8be9383f193c" + }, + { + "path": "weights/00001.bin", + "byteLength": 67108864, + "sha256": "cbabf2ba4ca10d0e9f64bbebeffeb04cd815801b2b53a1ca10f6e7f91db6801f" + }, + { + "path": "weights/00002.bin", + "byteLength": 67108864, + "sha256": "2359db8bfc8dbc2b28d59415a6240d1619145591f442d2e8dc3f931490d9a558" + }, + { + "path": "weights/00003.bin", + "byteLength": 67108864, + "sha256": "fb7b7a7f66a8890844b92cae5e3f65c51b0f5268d1cab410010e1468f3ee5d23" + }, + { + "path": "weights/00004.bin", + "byteLength": 67108864, + "sha256": "56f69a8b7aba5ac2c03a6fd2063add73b3b894b8c8b9bfc6a28fd8e2ca45429f" + }, + { + "path": "weights/00005.bin", + "byteLength": 67108864, + "sha256": "eff822e4d768982d35adb268d03c290ba6d1ee8857b4a499d2ed95846198fd20" + }, + { + "path": "weights/00006.bin", + "byteLength": 67108864, + "sha256": "8680966839b012e598c008668622d48f16fcbee750a3412a1bcd8baf7e90e0ce" + }, + { + "path": "weights/00007.bin", + "byteLength": 67108864, + "sha256": "2529307b1af414d637739fe29b6512f7fd65b7fde33f41c82c4dcb2ec9afb0be" + }, + { + "path": "weights/00008.bin", + "byteLength": 67108864, + "sha256": "af5d19b68ad156f6c5a273ae67027412efb6ea90586c1c319341e313871b51f7" + }, + { + "path": "weights/00009.bin", + "byteLength": 67108864, + "sha256": "0c7f9d0ad0f5e17b068462a519baa9726b6fd310687338a4f532e680ba06f391" + }, + { + "path": "weights/00010.bin", + "byteLength": 67108864, + "sha256": "864cd23510f07947e8a943394e31148f23173232261954ecf992ece7dd1d4290" + }, + { + "path": "weights/00011.bin", + "byteLength": 67108864, + "sha256": "643ab38a51b4e6d695a913176389ee01164132cc0997bcc95edf54342ebf7012" + }, + { + "path": "weights/00012.bin", + "byteLength": 15259392, + "sha256": "a526b8e18df1442fd95a02034aa2668f20d685606c2fe3e69ba598c61246f9b0" + }, + { + "path": "kernels/dd16762168cc9723966fc29dd8135759cc9a2435f428fffa558aaf0d2911a969.wgsl", + "byteLength": 488, + "sha256": "dd16762168cc9723966fc29dd8135759cc9a2435f428fffa558aaf0d2911a969" + }, + { + "path": "kernels/a37ea95ec60e5b8fc248c9e0ab6d4c2c344f6f504cd73bd4aac7b4f4d562e930.wgsl", + "byteLength": 497, + "sha256": "a37ea95ec60e5b8fc248c9e0ab6d4c2c344f6f504cd73bd4aac7b4f4d562e930" + }, + { + "path": "kernels/59ece6b6ee5f138bf5250920723503dc2f10504d967cd9c1839bc001b768bc88.wgsl", + "byteLength": 499, + "sha256": "59ece6b6ee5f138bf5250920723503dc2f10504d967cd9c1839bc001b768bc88" + }, + { + "path": "kernels/20dd7df6a12031057faa143e5c2c08bfd0d92bbe990d83ea61a6d540e6216649.wgsl", + "byteLength": 499, + "sha256": "20dd7df6a12031057faa143e5c2c08bfd0d92bbe990d83ea61a6d540e6216649" + }, + { + "path": "kernels/0bd599ee0e0d3e758477e5b3603c6b8cebf703223656bc3f4b53dc922e2bd314.wgsl", + "byteLength": 385, + "sha256": "0bd599ee0e0d3e758477e5b3603c6b8cebf703223656bc3f4b53dc922e2bd314" + }, + { + "path": "kernels/a37dac611b27158f19aa5bd70c43217286e610e733cbd602b91666b4af42d3ef.wgsl", + "byteLength": 285, + "sha256": "a37dac611b27158f19aa5bd70c43217286e610e733cbd602b91666b4af42d3ef" + }, + { + "path": "kernels/dc4ee648b97b273931e31c95b910d66f11e34a1cb036589e9ae9cc250b6e6291.wgsl", + "byteLength": 286, + "sha256": "dc4ee648b97b273931e31c95b910d66f11e34a1cb036589e9ae9cc250b6e6291" + }, + { + "path": "kernels/985bb9ad33654b9adbd4a256d626e346556a10dad514692800da8ebd7910f0f0.wgsl", + "byteLength": 362, + "sha256": "985bb9ad33654b9adbd4a256d626e346556a10dad514692800da8ebd7910f0f0" + }, + { + "path": "kernels/c72041e82befee6919af48775291256e22a43dc6445ef0aa288db6b96585a2a9.wgsl", + "byteLength": 286, + "sha256": "c72041e82befee6919af48775291256e22a43dc6445ef0aa288db6b96585a2a9" + }, + { + "path": "kernels/a77f14c89662d2d3da8abd8f109667793dc662d307e5e1c61123be753e25437b.wgsl", + "byteLength": 307, + "sha256": "a77f14c89662d2d3da8abd8f109667793dc662d307e5e1c61123be753e25437b" + }, + { + "path": "kernels/7183997261247fa4df7e081c0d6d01036fee95b9b57ef944d5f44f72fc80d5fe.wgsl", + "byteLength": 285, + "sha256": "7183997261247fa4df7e081c0d6d01036fee95b9b57ef944d5f44f72fc80d5fe" + }, + { + "path": "kernels/222a2645e3e02d0a4063a63ca1b6fa4c89faee6b76905b20de4dd54ab3077ea3.wgsl", + "byteLength": 285, + "sha256": "222a2645e3e02d0a4063a63ca1b6fa4c89faee6b76905b20de4dd54ab3077ea3" + }, + { + "path": "kernels/cc250879ffbf43ba05860b5a86f6a824e8ca7b4c9f820137a68e1ba633e09738.wgsl", + "byteLength": 573, + "sha256": "cc250879ffbf43ba05860b5a86f6a824e8ca7b4c9f820137a68e1ba633e09738" + }, + { + "path": "kernels/53d6eb0b5e6d49bfd3bb9fd1b781e13317adf528e047da2416e95f5a3a13b1b4.wgsl", + "byteLength": 381, + "sha256": "53d6eb0b5e6d49bfd3bb9fd1b781e13317adf528e047da2416e95f5a3a13b1b4" + }, + { + "path": "kernels/13dc73935b9b3b978232043e13babee3877bd53ca572be440de0590dacce8b17.wgsl", + "byteLength": 367, + "sha256": "13dc73935b9b3b978232043e13babee3877bd53ca572be440de0590dacce8b17" + }, + { + "path": "kernels/9625ca0b071511e5261877fd21627ca354ea0219da86a10887e8054afa15dcfd.wgsl", + "byteLength": 367, + "sha256": "9625ca0b071511e5261877fd21627ca354ea0219da86a10887e8054afa15dcfd" + }, + { + "path": "kernels/7121b5c223da0b0f28991f55cfed3c3f3390caa0bf65a8e58ae380db281ceb6b.wgsl", + "byteLength": 368, + "sha256": "7121b5c223da0b0f28991f55cfed3c3f3390caa0bf65a8e58ae380db281ceb6b" + }, + { + "path": "kernels/4be963f9a4bb928764fd0efe02769e220b0e69defb2f8b22ab28e41a90d3fc14.wgsl", + "byteLength": 286, + "sha256": "4be963f9a4bb928764fd0efe02769e220b0e69defb2f8b22ab28e41a90d3fc14" + }, + { + "path": "kernels/42c5af4838daf75fff9d4bb9a5df409511c1d6daed617d05eaf033a977503eac.wgsl", + "byteLength": 548, + "sha256": "42c5af4838daf75fff9d4bb9a5df409511c1d6daed617d05eaf033a977503eac" + }, + { + "path": "kernels/3bb850bda95bf77706a2839616a401b773f9de0428d1b427e61fb04e2c35fe74.wgsl", + "byteLength": 493, + "sha256": "3bb850bda95bf77706a2839616a401b773f9de0428d1b427e61fb04e2c35fe74" + }, + { + "path": "kernels/947f5cc8b3f87e1a0d4d322d9d9e71e2ed16ce6e1f7c91118678c164dc1c8752.wgsl", + "byteLength": 381, + "sha256": "947f5cc8b3f87e1a0d4d322d9d9e71e2ed16ce6e1f7c91118678c164dc1c8752" + }, + { + "path": "kernels/04f26661cc9ac73bb7f39f66b76c4be31ee8774e094eeb41ed7d677e1b1d3fa9.wgsl", + "byteLength": 368, + "sha256": "04f26661cc9ac73bb7f39f66b76c4be31ee8774e094eeb41ed7d677e1b1d3fa9" + }, + { + "path": "kernels/deee894ecb86334ff82870260fc5edbc36439c1d3bce09fab5708c03d699b390.wgsl", + "byteLength": 367, + "sha256": "deee894ecb86334ff82870260fc5edbc36439c1d3bce09fab5708c03d699b390" + }, + { + "path": "kernels/3fa1efae6d90015ba69cb40cef009f49ad7f7a960018fb92a962707deff4f09e.wgsl", + "byteLength": 286, + "sha256": "3fa1efae6d90015ba69cb40cef009f49ad7f7a960018fb92a962707deff4f09e" + }, + { + "path": "kernels/9144d827dae4c52b80abb829178a9ed901ce5dbc6702ad94b0b355e8eaad5ea5.wgsl", + "byteLength": 548, + "sha256": "9144d827dae4c52b80abb829178a9ed901ce5dbc6702ad94b0b355e8eaad5ea5" + }, + { + "path": "kernels/5fd6e068841f5c054392bef564909dbf086bae9e4030f3625d1143244a08cbbf.wgsl", + "byteLength": 495, + "sha256": "5fd6e068841f5c054392bef564909dbf086bae9e4030f3625d1143244a08cbbf" + }, + { + "path": "kernels/c0b2947798baa198598d75ca0e5dcd31a9fa320499665e34f7bb81d27fc15fb0.wgsl", + "byteLength": 307, + "sha256": "c0b2947798baa198598d75ca0e5dcd31a9fa320499665e34f7bb81d27fc15fb0" + }, + { + "path": "kernels/2e1ce6ef01198780289fd4a35d8f86b5172595ed189cf931e8444091d49e8d3a.wgsl", + "byteLength": 297, + "sha256": "2e1ce6ef01198780289fd4a35d8f86b5172595ed189cf931e8444091d49e8d3a" + }, + { + "path": "kernels/c90428425f6d220b441e97e3b894adfb090869c98b17f53afbd2f9fb202b4525.wgsl", + "byteLength": 307, + "sha256": "c90428425f6d220b441e97e3b894adfb090869c98b17f53afbd2f9fb202b4525" + }, + { + "path": "kernels/0fb8222de35c84fb88807d4a3880f21188cf48d64c89a21aa208d7d72a48c273.wgsl", + "byteLength": 298, + "sha256": "0fb8222de35c84fb88807d4a3880f21188cf48d64c89a21aa208d7d72a48c273" + }, + { + "path": "kernels/5c87f765fc76bd11b9204ef3f8ff03c03a0fd203f8bd0185b6496f74369da758.wgsl", + "byteLength": 302, + "sha256": "5c87f765fc76bd11b9204ef3f8ff03c03a0fd203f8bd0185b6496f74369da758" + }, + { + "path": "kernels/27ed9ce421e40975ea99531a57e86dbcde5310faae3826bc81bc60fcdbaa1f4e.wgsl", + "byteLength": 308, + "sha256": "27ed9ce421e40975ea99531a57e86dbcde5310faae3826bc81bc60fcdbaa1f4e" + }, + { + "path": "kernels/f09400c31799e395e1882489dc13853bf9e0d60bd36fc226c59c9c11d8f01848.wgsl", + "byteLength": 441, + "sha256": "f09400c31799e395e1882489dc13853bf9e0d60bd36fc226c59c9c11d8f01848" + }, + { + "path": "kernels/74825c737a9af6b5b5f135b1df88afaa7e80c3dfbb2ed9dd406e9242c50bfe06.wgsl", + "byteLength": 306, + "sha256": "74825c737a9af6b5b5f135b1df88afaa7e80c3dfbb2ed9dd406e9242c50bfe06" + }, + { + "path": "kernels/48f34a333ff70495892101c428694fcddedec29f954b659093d206abbe1f7c15.wgsl", + "byteLength": 314, + "sha256": "48f34a333ff70495892101c428694fcddedec29f954b659093d206abbe1f7c15" + }, + { + "path": "kernels/cf001911954d48a91a00c82e6170869985c302e2d575e0f5414e688589e4db3b.wgsl", + "byteLength": 366, + "sha256": "cf001911954d48a91a00c82e6170869985c302e2d575e0f5414e688589e4db3b" + }, + { + "path": "kernels/c7be5e0d4293081b3b169c46b74a4412167112d45649f0f692060d68d121ac04.wgsl", + "byteLength": 309, + "sha256": "c7be5e0d4293081b3b169c46b74a4412167112d45649f0f692060d68d121ac04" + }, + { + "path": "kernels/046b8b39f33faa9e39a553acc1912fbce2c4bc4178588df30cf98717bca6f328.wgsl", + "byteLength": 387, + "sha256": "046b8b39f33faa9e39a553acc1912fbce2c4bc4178588df30cf98717bca6f328" + }, + { + "path": "kernels/06f0c9ec30de4203c86ec1fa0eaeeea3450d838b78b5c7a02df1c61616405c4d.wgsl", + "byteLength": 302, + "sha256": "06f0c9ec30de4203c86ec1fa0eaeeea3450d838b78b5c7a02df1c61616405c4d" + }, + { + "path": "kernels/b909f6bd15e58b4e5559da88b56208d617d4439a17cc14dea96e2897de0c0118.wgsl", + "byteLength": 1180, + "sha256": "b909f6bd15e58b4e5559da88b56208d617d4439a17cc14dea96e2897de0c0118" + }, + { + "path": "kernels/3a87037580f20ca38623bdcc88abd77f8cc3a83d8b3d1726756a1ec01656a496.wgsl", + "byteLength": 379, + "sha256": "3a87037580f20ca38623bdcc88abd77f8cc3a83d8b3d1726756a1ec01656a496" + }, + { + "path": "kernels/c4aaa9922e572cf7f355b13dd20f449499c622a329f230a8c97fd5ee5b718a05.wgsl", + "byteLength": 1180, + "sha256": "c4aaa9922e572cf7f355b13dd20f449499c622a329f230a8c97fd5ee5b718a05" + }, + { + "path": "kernels/6a83253d850e0909ae680acaa0774c5ad110f4c057980106c0383d73371bfb1a.wgsl", + "byteLength": 302, + "sha256": "6a83253d850e0909ae680acaa0774c5ad110f4c057980106c0383d73371bfb1a" + }, + { + "path": "kernels/171389dc1ab21b1521080c899bd9685baa2e05324c4ee95e4b0b042b9ecf4e9b.wgsl", + "byteLength": 1172, + "sha256": "171389dc1ab21b1521080c899bd9685baa2e05324c4ee95e4b0b042b9ecf4e9b" + }, + { + "path": "kernels/6a337b88a5efde2d59ea676f0cfb58df2003935428bcc283950b7c89cab1aa7f.wgsl", + "byteLength": 561, + "sha256": "6a337b88a5efde2d59ea676f0cfb58df2003935428bcc283950b7c89cab1aa7f" + }, + { + "path": "kernels/26862ccab76186d81a45f06c5a7c9e1cd04e4592dbe151341043725a49a5cd2f.wgsl", + "byteLength": 392, + "sha256": "26862ccab76186d81a45f06c5a7c9e1cd04e4592dbe151341043725a49a5cd2f" + }, + { + "path": "kernels/b0838d1f95f0fd6641bd3ae7d989ebe8f964bc3c82631b2a33e2ca564a927e9b.wgsl", + "byteLength": 304, + "sha256": "b0838d1f95f0fd6641bd3ae7d989ebe8f964bc3c82631b2a33e2ca564a927e9b" + }, + { + "path": "kernels/bcbe14ef2fceea3448f416019a200c774bbd023457d9c833f20bf6c674bfa87f.wgsl", + "byteLength": 762, + "sha256": "bcbe14ef2fceea3448f416019a200c774bbd023457d9c833f20bf6c674bfa87f" + }, + { + "path": "kernels/bb07991ad7088f42c159cbd086520fb2900c45cf27ed91784f2dc1780d36ed70.wgsl", + "byteLength": 392, + "sha256": "bb07991ad7088f42c159cbd086520fb2900c45cf27ed91784f2dc1780d36ed70" + }, + { + "path": "kernels/91fe8f8184a87eb1a52ef4ca8ef340b9b209789ceaa5b41a47f2cd240571ab70.wgsl", + "byteLength": 338, + "sha256": "91fe8f8184a87eb1a52ef4ca8ef340b9b209789ceaa5b41a47f2cd240571ab70" + }, + { + "path": "kernels/ce21e77f8c5ec99a64e195c9e92fdde9ae295eeff969b4f3b26b79f565a8e25c.wgsl", + "byteLength": 389, + "sha256": "ce21e77f8c5ec99a64e195c9e92fdde9ae295eeff969b4f3b26b79f565a8e25c" + }, + { + "path": "kernels/fc87fe785180c3af246a6a83db264194a3db180fb143b2faa14bfc0ba9b4fe5d.wgsl", + "byteLength": 379, + "sha256": "fc87fe785180c3af246a6a83db264194a3db180fb143b2faa14bfc0ba9b4fe5d" + }, + { + "path": "kernels/9e13a281c20a618b227cdda747fdecaeca171af334742b83a80d2019ebb96cbd.wgsl", + "byteLength": 394, + "sha256": "9e13a281c20a618b227cdda747fdecaeca171af334742b83a80d2019ebb96cbd" + }, + { + "path": "kernels/6be08553b45679d139ac09782dd180d640757cc4ed4f1d00ceeeb65dc470e72d.wgsl", + "byteLength": 397, + "sha256": "6be08553b45679d139ac09782dd180d640757cc4ed4f1d00ceeeb65dc470e72d" + }, + { + "path": "kernels/6acb95aac27b4ee1945a1ea077b48448a1a91509a577269847d244a90b32c132.wgsl", + "byteLength": 397, + "sha256": "6acb95aac27b4ee1945a1ea077b48448a1a91509a577269847d244a90b32c132" + }, + { + "path": "kernels/990406d9e76238db8bc85793325e969e48c04c75d1a217fe63b7cb7d9c561edf.wgsl", + "byteLength": 334, + "sha256": "990406d9e76238db8bc85793325e969e48c04c75d1a217fe63b7cb7d9c561edf" + }, + { + "path": "kernels/777b69ccbce41d844bbde50c84294eec98066ce09c0a49249c0083e6a98ab561.wgsl", + "byteLength": 298, + "sha256": "777b69ccbce41d844bbde50c84294eec98066ce09c0a49249c0083e6a98ab561" + }, + { + "path": "kernels/51fd4d798491c6a80daff4c18b0495926b7f62269dfc3a78a327faa52ba2a759.wgsl", + "byteLength": 307, + "sha256": "51fd4d798491c6a80daff4c18b0495926b7f62269dfc3a78a327faa52ba2a759" + }, + { + "path": "kernels/8d0a37e497bcb37e2d5a1746fba59fd69680ed8eeada4835c5d0eeef840d57ab.wgsl", + "byteLength": 303, + "sha256": "8d0a37e497bcb37e2d5a1746fba59fd69680ed8eeada4835c5d0eeef840d57ab" + }, + { + "path": "kernels/c4e65292c406754db5cde9209846773aec380a2963ba6ca329ea68fe501ed3e0.wgsl", + "byteLength": 401, + "sha256": "c4e65292c406754db5cde9209846773aec380a2963ba6ca329ea68fe501ed3e0" + }, + { + "path": "kernels/59ea88d691b919af03bbb26f0253decfbc35d74f9661cdd3a08570ae85c313d2.wgsl", + "byteLength": 379, + "sha256": "59ea88d691b919af03bbb26f0253decfbc35d74f9661cdd3a08570ae85c313d2" + }, + { + "path": "kernels/c23bee3c3664172bf0a078a96acd2b3ad3136732234975f757d313e696c2c37a.wgsl", + "byteLength": 381, + "sha256": "c23bee3c3664172bf0a078a96acd2b3ad3136732234975f757d313e696c2c37a" + }, + { + "path": "kernels/4a952811352a76ed9369f2e11ba4d52917b618a5bc95e3232fdfa0579a79bef3.wgsl", + "byteLength": 320, + "sha256": "4a952811352a76ed9369f2e11ba4d52917b618a5bc95e3232fdfa0579a79bef3" + }, + { + "path": "kernels/70ce424e071e4be502db10d94f3d121cbf8d15d920db399cc6e3a0727c060caa.wgsl", + "byteLength": 471, + "sha256": "70ce424e071e4be502db10d94f3d121cbf8d15d920db399cc6e3a0727c060caa" + }, + { + "path": "kernels/ed85b49af889a8d9b89e04ae3538487f15793458b0fa0b578951d2934565c507.wgsl", + "byteLength": 319, + "sha256": "ed85b49af889a8d9b89e04ae3538487f15793458b0fa0b578951d2934565c507" + }, + { + "path": "kernels/45bb598b61c05eb6cdf699755e2877c598bb6fda0eee019e60d8301535dd3ec2.wgsl", + "byteLength": 327, + "sha256": "45bb598b61c05eb6cdf699755e2877c598bb6fda0eee019e60d8301535dd3ec2" + }, + { + "path": "kernels/408b4edf1721b552fd1406f682e9c1612b2662372860bf14e040f011c1ee0cb9.wgsl", + "byteLength": 399, + "sha256": "408b4edf1721b552fd1406f682e9c1612b2662372860bf14e040f011c1ee0cb9" + }, + { + "path": "kernels/7ad635ba3bd72099f5b84597ad23ed54b83873ac53944649fd0bedb25a52a692.wgsl", + "byteLength": 408, + "sha256": "7ad635ba3bd72099f5b84597ad23ed54b83873ac53944649fd0bedb25a52a692" + }, + { + "path": "kernels/c80a8e9a7d08644037dcc89d0faea51c11125e9212f09dac7a4fc32d1d4f2743.wgsl", + "byteLength": 302, + "sha256": "c80a8e9a7d08644037dcc89d0faea51c11125e9212f09dac7a4fc32d1d4f2743" + }, + { + "path": "kernels/665cda3c121e57eca4b72aa63e61e2e3d7935fb204d6fbc57adbb0b393fd32d4.wgsl", + "byteLength": 367, + "sha256": "665cda3c121e57eca4b72aa63e61e2e3d7935fb204d6fbc57adbb0b393fd32d4" + }, + { + "path": "kernels/2711a4a396071f4e99303d01d4854ccaa37a445f4b718ebd7b61cf1c37e56b48.wgsl", + "byteLength": 355, + "sha256": "2711a4a396071f4e99303d01d4854ccaa37a445f4b718ebd7b61cf1c37e56b48" + }, + { + "path": "kernels/17ec6bdaf98edf7657b74a25036c2bec806ecbb4280f33fff6afd2e0de5ed377.wgsl", + "byteLength": 317, + "sha256": "17ec6bdaf98edf7657b74a25036c2bec806ecbb4280f33fff6afd2e0de5ed377" + }, + { + "path": "kernels/0835fa80eaadb7c0e6d677e1fc622ad5dcedabb431e5d312f3b7aeb2252a7c7c.wgsl", + "byteLength": 231, + "sha256": "0835fa80eaadb7c0e6d677e1fc622ad5dcedabb431e5d312f3b7aeb2252a7c7c" + }, + { + "path": "kernels/234987ec68497956ea7aef8e3f44c8a73dbe4c1519165d123946bedbb4d18e26.wgsl", + "byteLength": 380, + "sha256": "234987ec68497956ea7aef8e3f44c8a73dbe4c1519165d123946bedbb4d18e26" + }, + { + "path": "kernels/f114c5cb9f1a7e377d9a3bcb28ab15b72807ece1796cf9c02fc74e7ce7318cc3.wgsl", + "byteLength": 341, + "sha256": "f114c5cb9f1a7e377d9a3bcb28ab15b72807ece1796cf9c02fc74e7ce7318cc3" + }, + { + "path": "kernels/57dc406322bf3badd8490493ef924bd7e7e0afd542d2d6e409b4d8a3b4b784f7.wgsl", + "byteLength": 286, + "sha256": "57dc406322bf3badd8490493ef924bd7e7e0afd542d2d6e409b4d8a3b4b784f7" + }, + { + "path": "kernels/742db031d819fdf5a756f37e8e824e2dcb2ca3f30efac3ffbd5918181059ae3a.wgsl", + "byteLength": 393, + "sha256": "742db031d819fdf5a756f37e8e824e2dcb2ca3f30efac3ffbd5918181059ae3a" + }, + { + "path": "kernels/7fe183583b43b627721ba6853b306288d7ceea4b42b630410f47ea9637220a4b.wgsl", + "byteLength": 290, + "sha256": "7fe183583b43b627721ba6853b306288d7ceea4b42b630410f47ea9637220a4b" + }, + { + "path": "kernels/32a5027cac5dd969d63fe5d5c88d7c87abb600c43ad1d70e1c56615ea781eff3.wgsl", + "byteLength": 422, + "sha256": "32a5027cac5dd969d63fe5d5c88d7c87abb600c43ad1d70e1c56615ea781eff3" + }, + { + "path": "kernels/6a7b2e3778a02c76155d46fa84aeb33f594954e82e09b6b7f2915c0a606eb3f5.wgsl", + "byteLength": 471, + "sha256": "6a7b2e3778a02c76155d46fa84aeb33f594954e82e09b6b7f2915c0a606eb3f5" + }, + { + "path": "kernels/bb9029b667eeb13670d1f640cd677c6eabd7a7569686c599e3eeb9482d642b00.wgsl", + "byteLength": 373, + "sha256": "bb9029b667eeb13670d1f640cd677c6eabd7a7569686c599e3eeb9482d642b00" + }, + { + "path": "kernels/b199d835db70f888c7b99a3ac6e9ec56f6c47d5bba4eaf352e0a8eabed56411e.wgsl", + "byteLength": 387, + "sha256": "b199d835db70f888c7b99a3ac6e9ec56f6c47d5bba4eaf352e0a8eabed56411e" + }, + { + "path": "kernels/2c0cca2a7b0198c317e68992e64f3fe9bba80b67204c2695c20c372471c150d3.wgsl", + "byteLength": 473, + "sha256": "2c0cca2a7b0198c317e68992e64f3fe9bba80b67204c2695c20c372471c150d3" + }, + { + "path": "kernels/4540d87eaec90c9eb42badfe0abfa70252f26b6e7de4dd31ee6903fe50e96bd1.wgsl", + "byteLength": 377, + "sha256": "4540d87eaec90c9eb42badfe0abfa70252f26b6e7de4dd31ee6903fe50e96bd1" + }, + { + "path": "kernels/a672c3e158716bde7444c8141f3df1da16da739ccdd2eb2ad60f9d42d0775157.wgsl", + "byteLength": 505, + "sha256": "a672c3e158716bde7444c8141f3df1da16da739ccdd2eb2ad60f9d42d0775157" + }, + { + "path": "kernels/2dd29b61b039fcdd7fbc3c94f629b24b6f81aa5b9923098837597359b295e40d.wgsl", + "byteLength": 396, + "sha256": "2dd29b61b039fcdd7fbc3c94f629b24b6f81aa5b9923098837597359b295e40d" + }, + { + "path": "kernels/f8a4395bd0356791917d7ef0469f9b7d983d33d4b7ad044d66852ead8a86971b.wgsl", + "byteLength": 302, + "sha256": "f8a4395bd0356791917d7ef0469f9b7d983d33d4b7ad044d66852ead8a86971b" + }, + { + "path": "kernels/2db8a995aaf1e89bf2da258d8e77c4ccc53a4d61ab9b352757da0e5a7321729d.wgsl", + "byteLength": 308, + "sha256": "2db8a995aaf1e89bf2da258d8e77c4ccc53a4d61ab9b352757da0e5a7321729d" + }, + { + "path": "kernels/578c3f0d7eb85a27b4da58e79e8842b993125d088e11e214d9d20be447388d80.wgsl", + "byteLength": 413, + "sha256": "578c3f0d7eb85a27b4da58e79e8842b993125d088e11e214d9d20be447388d80" + }, + { + "path": "kernels/edfa4ff396bf5cc3be28d9051639c4dda6fec1302d7a2bd34d89ec903af94af1.wgsl", + "byteLength": 307, + "sha256": "edfa4ff396bf5cc3be28d9051639c4dda6fec1302d7a2bd34d89ec903af94af1" + }, + { + "path": "kernels/c2c806bbe93f09247867b4ace45489a5f2fe3ee67f265418eb7aa71a29880276.wgsl", + "byteLength": 315, + "sha256": "c2c806bbe93f09247867b4ace45489a5f2fe3ee67f265418eb7aa71a29880276" + }, + { + "path": "kernels/291830b3cb692bab94344428e329c3dc9417a43f48e1c42e414cf3f956686f1f.wgsl", + "byteLength": 398, + "sha256": "291830b3cb692bab94344428e329c3dc9417a43f48e1c42e414cf3f956686f1f" + }, + { + "path": "kernels/eca62c94c36a3c2e926bbb293b1a4afe5a2466bf9c13148e327aaa4dc8aea829.wgsl", + "byteLength": 427, + "sha256": "eca62c94c36a3c2e926bbb293b1a4afe5a2466bf9c13148e327aaa4dc8aea829" + }, + { + "path": "kernels/d389e9f231a6bdb1e687f1bf5f3956741af31852ddd1359b40206df9fafef434.wgsl", + "byteLength": 1180, + "sha256": "d389e9f231a6bdb1e687f1bf5f3956741af31852ddd1359b40206df9fafef434" + }, + { + "path": "kernels/293b36448f6af1c167040d45840a2ae8f05ca669424bdebd16fc2c7e5bc5bfff.wgsl", + "byteLength": 1180, + "sha256": "293b36448f6af1c167040d45840a2ae8f05ca669424bdebd16fc2c7e5bc5bfff" + }, + { + "path": "kernels/599b140e59a8ddda07eda33e1d5196005389702373b2ccbdbadff9dd6617eaaa.wgsl", + "byteLength": 427, + "sha256": "599b140e59a8ddda07eda33e1d5196005389702373b2ccbdbadff9dd6617eaaa" + }, + { + "path": "kernels/8711a14350ed15b562f26bb3aa41296c48020d2a36eedc5bd89adcad550ea90f.wgsl", + "byteLength": 1181, + "sha256": "8711a14350ed15b562f26bb3aa41296c48020d2a36eedc5bd89adcad550ea90f" + }, + { + "path": "kernels/d641e40c04bcd8d313840629e49386b84f2cc9a15b9f99af4fe29ee73165881d.wgsl", + "byteLength": 1180, + "sha256": "d641e40c04bcd8d313840629e49386b84f2cc9a15b9f99af4fe29ee73165881d" + }, + { + "path": "kernels/09e48926914d3759efd11d83aa3ba539f06f33c6f2c28fcc0c12811f9cd1bc44.wgsl", + "byteLength": 302, + "sha256": "09e48926914d3759efd11d83aa3ba539f06f33c6f2c28fcc0c12811f9cd1bc44" + }, + { + "path": "kernels/f5674e878f8329067270d349d8c26b5b94051ac7452ff6e4f8210e0f97c01336.wgsl", + "byteLength": 420, + "sha256": "f5674e878f8329067270d349d8c26b5b94051ac7452ff6e4f8210e0f97c01336" + }, + { + "path": "kernels/4282aa48d394c7c4b0d6c6f1063526bda4b9da2708f77a1945793a4614107efb.wgsl", + "byteLength": 422, + "sha256": "4282aa48d394c7c4b0d6c6f1063526bda4b9da2708f77a1945793a4614107efb" + }, + { + "path": "kernels/6dd75d41e19dbacfe48721ca98e0e9b910ff5ffdada05880789c0a011675fabf.wgsl", + "byteLength": 463, + "sha256": "6dd75d41e19dbacfe48721ca98e0e9b910ff5ffdada05880789c0a011675fabf" + }, + { + "path": "kernels/1c7201caab74d50198d8bc7168ba7da0c97ece74a5ebdd791f88d6cfb5086975.wgsl", + "byteLength": 306, + "sha256": "1c7201caab74d50198d8bc7168ba7da0c97ece74a5ebdd791f88d6cfb5086975" + }, + { + "path": "kernels/023d7b2d9e71a92f74db0e4583d453118915f46ba0c8c96c796632d958654ea1.wgsl", + "byteLength": 314, + "sha256": "023d7b2d9e71a92f74db0e4583d453118915f46ba0c8c96c796632d958654ea1" + }, + { + "path": "kernels/a58e9adbad973ba2f87419a87d15a4b203e4fac2adb1c2f0f45dded8467e7386.wgsl", + "byteLength": 386, + "sha256": "a58e9adbad973ba2f87419a87d15a4b203e4fac2adb1c2f0f45dded8467e7386" + }, + { + "path": "kernels/f545db742864db922611db9427c0784c9ced6fe4fb27a75b15cee7f83a04fc7a.wgsl", + "byteLength": 300, + "sha256": "f545db742864db922611db9427c0784c9ced6fe4fb27a75b15cee7f83a04fc7a" + }, + { + "path": "kernels/759c63c4e237a2b3764b626e9db4f60536faf26577419d488b4fbf271a6e4e4a.wgsl", + "byteLength": 307, + "sha256": "759c63c4e237a2b3764b626e9db4f60536faf26577419d488b4fbf271a6e4e4a" + }, + { + "path": "kernels/50a2aaffa2f6e9866a2456ff60aa2a54cb817b737210774ef3ec1ba64834954e.wgsl", + "byteLength": 386, + "sha256": "50a2aaffa2f6e9866a2456ff60aa2a54cb817b737210774ef3ec1ba64834954e" + }, + { + "path": "kernels/f8e54ce0cc83d023492ec797d54954a8aca947507fd221a5785671b2679391a8.wgsl", + "byteLength": 407, + "sha256": "f8e54ce0cc83d023492ec797d54954a8aca947507fd221a5785671b2679391a8" + }, + { + "path": "kernels/197465241bc85d39f754ff558d69abf289859cd7e13f5cf1bdaad66c4c74e94f.wgsl", + "byteLength": 1176, + "sha256": "197465241bc85d39f754ff558d69abf289859cd7e13f5cf1bdaad66c4c74e94f" + }, + { + "path": "kernels/d7328b7ea65acf83ac644f94eb36917955ca66392c0974e4198d0fb0477c7a78.wgsl", + "byteLength": 300, + "sha256": "d7328b7ea65acf83ac644f94eb36917955ca66392c0974e4198d0fb0477c7a78" + }, + { + "path": "kernels/64290f9bb656bb072a24effb35742fb11ced6f3bd4bc5f4b54123c9606cef41f.wgsl", + "byteLength": 300, + "sha256": "64290f9bb656bb072a24effb35742fb11ced6f3bd4bc5f4b54123c9606cef41f" + }, + { + "path": "kernels/869b5ed8d1728d6fc7262ed6a0d8412dfd1e2c0ae420f068c41fc1f3f3ca14e9.wgsl", + "byteLength": 306, + "sha256": "869b5ed8d1728d6fc7262ed6a0d8412dfd1e2c0ae420f068c41fc1f3f3ca14e9" + }, + { + "path": "kernels/3ff863808627e030edefbb05f743b5a2cc19412b22779508a9d173a40d2ecc6e.wgsl", + "byteLength": 461, + "sha256": "3ff863808627e030edefbb05f743b5a2cc19412b22779508a9d173a40d2ecc6e" + }, + { + "path": "kernels/e8af289ba520304aa3e6c4c6e26c07e3e1c8bb49aee6fd6d5ea5e369e0808c91.wgsl", + "byteLength": 306, + "sha256": "e8af289ba520304aa3e6c4c6e26c07e3e1c8bb49aee6fd6d5ea5e369e0808c91" + }, + { + "path": "kernels/5471ae38e894829494bbf27a5b01ac3256a61849dc2e23cdc190fd63954b8cd8.wgsl", + "byteLength": 314, + "sha256": "5471ae38e894829494bbf27a5b01ac3256a61849dc2e23cdc190fd63954b8cd8" + }, + { + "path": "kernels/09e236dd54b3abd945c2d4fef393e9e9810f0d90cdec0d5deafd68ed3b95083d.wgsl", + "byteLength": 384, + "sha256": "09e236dd54b3abd945c2d4fef393e9e9810f0d90cdec0d5deafd68ed3b95083d" + }, + { + "path": "kernels/d0218f4c7661846abccb6d0d4ce847d2d96466c9255f3a476d705bbf3dc8154c.wgsl", + "byteLength": 384, + "sha256": "d0218f4c7661846abccb6d0d4ce847d2d96466c9255f3a476d705bbf3dc8154c" + }, + { + "path": "kernels/93120194556482afd2620e1987865bb53877263ccc980a055dfa748894585e8c.wgsl", + "byteLength": 300, + "sha256": "93120194556482afd2620e1987865bb53877263ccc980a055dfa748894585e8c" + }, + { + "path": "kernels/a3e14309c38bb9a32a31e38d756485dddef949ff49d956a50908e2247c7c8abe.wgsl", + "byteLength": 402, + "sha256": "a3e14309c38bb9a32a31e38d756485dddef949ff49d956a50908e2247c7c8abe" + }, + { + "path": "kernels/accc4c502a4ddeea7dc9c3d00f3f58cd77ecb5ccddc0f1dd44a2c578e97e63f2.wgsl", + "byteLength": 298, + "sha256": "accc4c502a4ddeea7dc9c3d00f3f58cd77ecb5ccddc0f1dd44a2c578e97e63f2" + }, + { + "path": "kernels/5c01813f337b4def8b4ed83afc43d6f55fe7c556739d4a23c5699a6da24e99fe.wgsl", + "byteLength": 412, + "sha256": "5c01813f337b4def8b4ed83afc43d6f55fe7c556739d4a23c5699a6da24e99fe" + }, + { + "path": "kernels/02915a0f22b3245bc6490c9bfbedc331f50293e3e7f87525fe4482f0c94e8aff.wgsl", + "byteLength": 419, + "sha256": "02915a0f22b3245bc6490c9bfbedc331f50293e3e7f87525fe4482f0c94e8aff" + }, + { + "path": "kernels/b7a4fe3a16a37ec4eb65ad6959dc83f30aa20cdc405aa66ee0d4efeb1920b1a1.wgsl", + "byteLength": 411, + "sha256": "b7a4fe3a16a37ec4eb65ad6959dc83f30aa20cdc405aa66ee0d4efeb1920b1a1" + }, + { + "path": "kernels/90d5a717885fcf0ac83d93bc97ccc20676b71b30aab9d4635494baee38ba88ce.wgsl", + "byteLength": 415, + "sha256": "90d5a717885fcf0ac83d93bc97ccc20676b71b30aab9d4635494baee38ba88ce" + }, + { + "path": "kernels/6a953fa40ac66d71c6b96e0a14fb321f2d0e8c39a9af7041966bc07284720fa7.wgsl", + "byteLength": 395, + "sha256": "6a953fa40ac66d71c6b96e0a14fb321f2d0e8c39a9af7041966bc07284720fa7" + }, + { + "path": "kernels/eb87dc8be4a0cf99e7ff048d4732217620738b1132186169e7c465a20a00ed11.wgsl", + "byteLength": 409, + "sha256": "eb87dc8be4a0cf99e7ff048d4732217620738b1132186169e7c465a20a00ed11" + }, + { + "path": "kernels/344153d8e20e545c4656ce08b7236cd65878f5ea91014447f4a129ea94025970.wgsl", + "byteLength": 410, + "sha256": "344153d8e20e545c4656ce08b7236cd65878f5ea91014447f4a129ea94025970" + }, + { + "path": "kernels/8527da3511965e56b55949265779ba1a6a61b2257e7120ec97b4d4350cb2599c.wgsl", + "byteLength": 317, + "sha256": "8527da3511965e56b55949265779ba1a6a61b2257e7120ec97b4d4350cb2599c" + }, + { + "path": "kernels/6076d0bf36bd399e99fc409a95634cc3a508bec06ca558f0177434547983cd8b.wgsl", + "byteLength": 566, + "sha256": "6076d0bf36bd399e99fc409a95634cc3a508bec06ca558f0177434547983cd8b" + }, + { + "path": "kernels/a2561f5de51467cbba9b2f74e213693630ba6c086fb0a1b5b97315d37bfb6942.wgsl", + "byteLength": 383, + "sha256": "a2561f5de51467cbba9b2f74e213693630ba6c086fb0a1b5b97315d37bfb6942" + }, + { + "path": "kernels/a4cf1224f0c913592843045b6b129bb92273bc021af13296127d1b57156e6f88.wgsl", + "byteLength": 395, + "sha256": "a4cf1224f0c913592843045b6b129bb92273bc021af13296127d1b57156e6f88" + }, + { + "path": "kernels/0da9c6227714e2a6c031928cb6a6db229c1cb0a53a9309aea4e833a9b2b1f2f1.wgsl", + "byteLength": 406, + "sha256": "0da9c6227714e2a6c031928cb6a6db229c1cb0a53a9309aea4e833a9b2b1f2f1" + }, + { + "path": "kernels/ee8cb8841414e9cce3869ed695f9da31c391435b2277895608881c98ef1b03d0.wgsl", + "byteLength": 407, + "sha256": "ee8cb8841414e9cce3869ed695f9da31c391435b2277895608881c98ef1b03d0" + }, + { + "path": "kernels/1608c6cf00b5863ad002f089be58fce76cff2c61fd43e3bb54ba90add6f41b02.wgsl", + "byteLength": 315, + "sha256": "1608c6cf00b5863ad002f089be58fce76cff2c61fd43e3bb54ba90add6f41b02" + }, + { + "path": "kernels/f0e1e2c32b3de7f39e89bf63084aa2cc5d98bd6acf12e56e33d55be2c6a94862.wgsl", + "byteLength": 566, + "sha256": "f0e1e2c32b3de7f39e89bf63084aa2cc5d98bd6acf12e56e33d55be2c6a94862" + }, + { + "path": "kernels/99fb5353b82923ddccb0cf31d2b470e745c8c3b98e1a5c9667ae323babe79b0a.wgsl", + "byteLength": 383, + "sha256": "99fb5353b82923ddccb0cf31d2b470e745c8c3b98e1a5c9667ae323babe79b0a" + }, + { + "path": "kernels/0e6c14d2118fe801932c1b41995a65c8e165bf8df3989e40793f509448988218.wgsl", + "byteLength": 573, + "sha256": "0e6c14d2118fe801932c1b41995a65c8e165bf8df3989e40793f509448988218" + }, + { + "path": "kernels/c82dd7f7bd4afd0cf1031cecb00d8978b4be6c78f7349b0f2a78622d533bd432.wgsl", + "byteLength": 571, + "sha256": "c82dd7f7bd4afd0cf1031cecb00d8978b4be6c78f7349b0f2a78622d533bd432" + }, + { + "path": "kernels/3f78504435af26dbd6b62c6720a640528ce172b2e9062bd4d09806e3d2553423.wgsl", + "byteLength": 615, + "sha256": "3f78504435af26dbd6b62c6720a640528ce172b2e9062bd4d09806e3d2553423" + }, + { + "path": "kernels/a429ab30ff95ce1b0f0388498d823ff9c043ad70b21f8bb609bbcf87cd28014e.wgsl", + "byteLength": 390, + "sha256": "a429ab30ff95ce1b0f0388498d823ff9c043ad70b21f8bb609bbcf87cd28014e" + }, + { + "path": "kernels/0a9068c3d7c002ffe2631245f0873bf56d726b5d933b040851e20cd8fad9fe1a.wgsl", + "byteLength": 394, + "sha256": "0a9068c3d7c002ffe2631245f0873bf56d726b5d933b040851e20cd8fad9fe1a" + }, + { + "path": "kernels/370bab74beead2c5e9cc8893585f79ae97ee5eace554cee12555a8ac8293b1c0.wgsl", + "byteLength": 308, + "sha256": "370bab74beead2c5e9cc8893585f79ae97ee5eace554cee12555a8ac8293b1c0" + }, + { + "path": "kernels/ae8f63dd06507fd0c575e576c126944275a62fd9b6730313e8e5ac6369872267.wgsl", + "byteLength": 430, + "sha256": "ae8f63dd06507fd0c575e576c126944275a62fd9b6730313e8e5ac6369872267" + }, + { + "path": "kernels/377880fa04b2ba2c6238045a88750ff214243eb739603a04b16b69221ec5a6c2.wgsl", + "byteLength": 611, + "sha256": "377880fa04b2ba2c6238045a88750ff214243eb739603a04b16b69221ec5a6c2" + }, + { + "path": "kernels/02b89cf7780686b8cf46c4db784144cef988e047230cf92ecd1e25e45cabd224.wgsl", + "byteLength": 318, + "sha256": "02b89cf7780686b8cf46c4db784144cef988e047230cf92ecd1e25e45cabd224" + }, + { + "path": "kernels/0888235d9d0cb75cbdb598cbb2d235a2db071bed0dd8193164f8f21eab5a8ba9.wgsl", + "byteLength": 409, + "sha256": "0888235d9d0cb75cbdb598cbb2d235a2db071bed0dd8193164f8f21eab5a8ba9" + }, + { + "path": "kernels/cbe7ec56ce7efa22fb07f71b374a4e8953e9dcff5c95fb000f6bf5295bbae63d.wgsl", + "byteLength": 1418, + "sha256": "cbe7ec56ce7efa22fb07f71b374a4e8953e9dcff5c95fb000f6bf5295bbae63d" + }, + { + "path": "kernels/5abee175a331788afb292784154e8b92360ae6c22a818e351eaa15f5352f78ad.wgsl", + "byteLength": 304, + "sha256": "5abee175a331788afb292784154e8b92360ae6c22a818e351eaa15f5352f78ad" + }, + { + "path": "kernels/8bbc8f15f6eae5abd8e43cdadd577047e3e81811c701da1954f1355f3a514a21.wgsl", + "byteLength": 608, + "sha256": "8bbc8f15f6eae5abd8e43cdadd577047e3e81811c701da1954f1355f3a514a21" + }, + { + "path": "kernels/378330e4bcfd0c2f194f2ca261988c352ba4cdffd71dee16af52c3b7ba25657f.wgsl", + "byteLength": 407, + "sha256": "378330e4bcfd0c2f194f2ca261988c352ba4cdffd71dee16af52c3b7ba25657f" + }, + { + "path": "kernels/2ecb3b88f329d2d66b34465ebc62482b3a9d40d37c69a30d55b69d2c85f082cb.wgsl", + "byteLength": 338, + "sha256": "2ecb3b88f329d2d66b34465ebc62482b3a9d40d37c69a30d55b69d2c85f082cb" + }, + { + "path": "kernels/9e5386586f692cd1d2e6b25dce87abaa97386fa0ae759586e718dda142bea88a.wgsl", + "byteLength": 377, + "sha256": "9e5386586f692cd1d2e6b25dce87abaa97386fa0ae759586e718dda142bea88a" + }, + { + "path": "kernels/4313bdfa0ca93fab559ffb77baf82e7712ccbc61e5e55a717288762bf84e62fc.wgsl", + "byteLength": 302, + "sha256": "4313bdfa0ca93fab559ffb77baf82e7712ccbc61e5e55a717288762bf84e62fc" + }, + { + "path": "kernels/e31d55388d055ce6b75ac5637ffa7914c511002a0c9cfb76a786c7e347a3c0c9.wgsl", + "byteLength": 870, + "sha256": "e31d55388d055ce6b75ac5637ffa7914c511002a0c9cfb76a786c7e347a3c0c9" + }, + { + "path": "kernels/1c3075bda51d817a45cebcbb10fdd9db05093be2843c47c6a0669a058892126b.wgsl", + "byteLength": 870, + "sha256": "1c3075bda51d817a45cebcbb10fdd9db05093be2843c47c6a0669a058892126b" + }, + { + "path": "kernels/9ea58d458b4dd4fa7c3d738c8b710517e4b8dfb0d87fbec7b5c2f49bcd2de7bc.wgsl", + "byteLength": 959, + "sha256": "9ea58d458b4dd4fa7c3d738c8b710517e4b8dfb0d87fbec7b5c2f49bcd2de7bc" + }, + { + "path": "graph.json", + "byteLength": 12162459, + "sha256": "58ed5a024322bfc57f3bd80cbf906735d65a1317967d4f0757529cc393190c66" + }, + { + "path": "tokenizer/tokenizer.json", + "byteLength": 12807982, + "sha256": "5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42" + }, + { + "path": "tokenizer/tokenizer_config.json", + "byteLength": 16709, + "sha256": "49e2b6e395f959f077f1e992b338919c0d4a9732fc6e613995e06557f843500c" + }, + { + "path": "tokenizer/chat_template.jinja", + "byteLength": 7755, + "sha256": "273d8e0e683b885071fb17e08d71e5f2a5ddfb5309756181681de4f5a1822d80" + }, + { + "path": "source/config.json", + "byteLength": 2907, + "sha256": "b90b86f35c8e6925ef74ee04d0e758f0a845c83a42089ad82bbaa948de9b4204" + }, + { + "path": "source/LICENSE", + "byteLength": 11544, + "sha256": "bbedc3fda3305820b977265f01b8619d87570a6739de3a5582c3464840f1e57a" + }, + { + "path": "source/provenance.json", + "byteLength": 201, + "sha256": "cc031c3b7563aac8d5663b31e2f4fc36eff716921d0770718de26f43d2d883c5" + } + ], + "metadata": { + "repository": "Qwen/Qwen3.5-0.8B", + "revision": "2fc06364715b967f1860aea9cf38778875588b17", + "architecture": "qwen3_5", + "modalities": [ + "text" + ], + "license": "apache-2.0", + "sourceWeights": [ + { + "path": "model.safetensors-00001-of-00001.safetensors", + "sha256": "04b1c301231dd422b8860db31311ab2721511346a32cb1e079c4c4e5f1fe4696" + } + ], + "profile": "fp16-int4-g32-gptq", + "prefill": "queued-incremental", + "checkpointCertified": false, + "fusion": true, + "quantizationSelection": { + "include": [], + "exclude": [] + }, + "quantizationCalibration": { + "method": "gptq", + "prompts": "artifacts/fixtures/qwen35-quantization-prompts.json", + "sha256": "0ca90afbabe4a38093604c36384ebefcddc5a660135c641e5ec0dda7708f8e04", + "cases": [ + { + "id": "arithmetic", + "tokens": 19 + }, + { + "id": "english-list", + "tokens": 21 + }, + { + "id": "korean-explanation", + "tokens": 25 + }, + { + "id": "translation", + "tokens": 29 + }, + { + "id": "code", + "tokens": 25 + }, + { + "id": "structured-output", + "tokens": 28 + } + ] + } + }, + "validation": { + "checkpointCertified": false, + "hardware": [] + }, + "generation": { + "contextLength": 4096, + "inputIds": "input_ids", + "positionIds": "position_ids", + "attentionMask": "attention_mask", + "logits": "linear_186", + "eosTokenIds": [ + 248044 + ], + "tokenizer": "tokenizer/tokenizer.json", + "tokenizerConfig": "tokenizer/tokenizer_config.json", + "chatTemplate": "tokenizer/chat_template.jinja" + } +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/source/LICENSE b/qwen35-08b-fp16-int4-g32-gptq-home/source/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..f938136e3adacfd92be087f6e113b5d6d97f678f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/source/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2026 Alibaba Cloud + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/source/config.json b/qwen35-08b-fp16-int4-g32-gptq-home/source/config.json new file mode 100644 index 0000000000000000000000000000000000000000..715f0448b9d38103211f0ad88bbb4d6e4f4be8c9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/source/config.json @@ -0,0 +1,96 @@ +{ + "architectures": [ + "Qwen3_5ForConditionalGeneration" + ], + "image_token_id": 248056, + "model_type": "qwen3_5", + "text_config": { + "attention_bias": false, + "attention_dropout": 0.0, + "attn_output_gate": true, + "dtype": "bfloat16", + "eos_token_id": 248044, + "full_attention_interval": 4, + "head_dim": 256, + "hidden_act": "silu", + "hidden_size": 1024, + "initializer_range": 0.02, + "intermediate_size": 3584, + "layer_types": [ + "linear_attention", + "linear_attention", + "linear_attention", + "full_attention", + "linear_attention", + "linear_attention", + "linear_attention", + "full_attention", + "linear_attention", + "linear_attention", + "linear_attention", + "full_attention", + "linear_attention", + "linear_attention", + "linear_attention", + "full_attention", + "linear_attention", + "linear_attention", + "linear_attention", + "full_attention", + "linear_attention", + "linear_attention", + "linear_attention", + "full_attention" + ], + "linear_conv_kernel_dim": 4, + "linear_key_head_dim": 128, + "linear_num_key_heads": 16, + "linear_num_value_heads": 16, + "linear_value_head_dim": 128, + "max_position_embeddings": 262144, + "mlp_only_layers": [], + "model_type": "qwen3_5_text", + "mtp_num_hidden_layers": 1, + "mtp_use_dedicated_embeddings": false, + "num_attention_heads": 8, + "num_hidden_layers": 24, + "num_key_value_heads": 2, + "rms_norm_eps": 1e-06, + "tie_word_embeddings": true, + "use_cache": true, + "vocab_size": 248320, + "mamba_ssm_dtype": "float32", + "rope_parameters": { + "mrope_interleaved": true, + "mrope_section": [ + 11, + 11, + 10 + ], + "rope_type": "default", + "rope_theta": 10000000, + "partial_rotary_factor": 0.25 + } + }, + "tie_word_embeddings": true, + "transformers_version": "4.57.0.dev0", + "video_token_id": 248057, + "vision_config": { + "deepstack_visual_indexes": [], + "depth": 12, + "hidden_act": "gelu_pytorch_tanh", + "hidden_size": 768, + "in_channels": 3, + "initializer_range": 0.02, + "intermediate_size": 3072, + "model_type": "qwen3_5", + "num_heads": 12, + "num_position_embeddings": 2304, + "out_hidden_size": 1024, + "patch_size": 16, + "spatial_merge_size": 2, + "temporal_patch_size": 2 + }, + "vision_end_token_id": 248054, + "vision_start_token_id": 248053 +} \ No newline at end of file diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/source/provenance.json b/qwen35-08b-fp16-int4-g32-gptq-home/source/provenance.json new file mode 100644 index 0000000000000000000000000000000000000000..6b5a8add65c7ba0efb165c5fe3f96c6ceaf7628d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/source/provenance.json @@ -0,0 +1,10 @@ +{ + "repository": "Qwen/Qwen3.5-0.8B", + "revision": "2fc06364715b967f1860aea9cf38778875588b17", + "architecture": "qwen3_5", + "modalities": [ + "text", + "image" + ], + "license": "apache-2.0" +} diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/chat_template.jinja b/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..0ef09f214eaa6d9bca297988afc1454b5827b2c7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/chat_template.jinja @@ -0,0 +1,154 @@ +{%- set image_count = namespace(value=0) %} +{%- set video_count = namespace(value=0) %} +{%- macro render_content(content, do_vision_count, is_system_content=false) %} + {%- if content is string %} + {{- content }} + {%- elif content is iterable and content is not mapping %} + {%- for item in content %} + {%- if 'image' in item or 'image_url' in item or item.type == 'image' %} + {%- if is_system_content %} + {{- raise_exception('System message cannot contain images.') }} + {%- endif %} + {%- if do_vision_count %} + {%- set image_count.value = image_count.value + 1 %} + {%- endif %} + {%- if add_vision_id %} + {{- 'Picture ' ~ image_count.value ~ ': ' }} + {%- endif %} + {{- '<|vision_start|><|image_pad|><|vision_end|>' }} + {%- elif 'video' in item or item.type == 'video' %} + {%- if is_system_content %} + {{- raise_exception('System message cannot contain videos.') }} + {%- endif %} + {%- if do_vision_count %} + {%- set video_count.value = video_count.value + 1 %} + {%- endif %} + {%- if add_vision_id %} + {{- 'Video ' ~ video_count.value ~ ': ' }} + {%- endif %} + {{- '<|vision_start|><|video_pad|><|vision_end|>' }} + {%- elif 'text' in item %} + {{- item.text }} + {%- else %} + {{- raise_exception('Unexpected item type in content.') }} + {%- endif %} + {%- endfor %} + {%- elif content is none or content is undefined %} + {{- '' }} + {%- else %} + {{- raise_exception('Unexpected content type.') }} + {%- endif %} +{%- endmacro %} +{%- if not messages %} + {{- raise_exception('No messages provided.') }} +{%- endif %} +{%- if tools and tools is iterable and tools is not mapping %} + {{- '<|im_start|>system\n' }} + {{- "# Tools\n\nYou have access to the following functions:\n\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n" }} + {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }} + {%- if messages[0].role == 'system' %} + {%- set content = render_content(messages[0].content, false, true)|trim %} + {%- if content %} + {{- '\n\n' + content }} + {%- endif %} + {%- endif %} + {{- '<|im_end|>\n' }} +{%- else %} + {%- if messages[0].role == 'system' %} + {%- set content = render_content(messages[0].content, false, true)|trim %} + {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} +{%- for message in messages[::-1] %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- if ns.multi_step_tool and message.role == "user" %} + {%- set content = render_content(message.content, false)|trim %} + {%- if not(content.startswith('') and content.endswith('')) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if ns.multi_step_tool %} + {{- raise_exception('No user query found in messages.') }} +{%- endif %} +{%- for message in messages %} + {%- set content = render_content(message.content, true)|trim %} + {%- if message.role == "system" %} + {%- if not loop.first %} + {{- raise_exception('System message must be at the beginning.') }} + {%- endif %} + {%- elif message.role == "user" %} + {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is string %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in content %} + {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %} + {%- set content = content.split('')[-1].lstrip('\n') %} + {%- endif %} + {%- endif %} + {%- set reasoning_content = reasoning_content|trim %} + {%- if loop.index0 > ns.last_query_index %} + {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %} + {%- for tool_call in message.tool_calls %} + {%- if tool_call.function is defined %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {%- if loop.first %} + {%- if content|trim %} + {{- '\n\n\n\n' }} + {%- else %} + {{- '\n\n' }} + {%- endif %} + {%- else %} + {{- '\n\n\n' }} + {%- endif %} + {%- if tool_call.arguments is defined %} + {%- for args_name, args_value in tool_call.arguments|items %} + {{- '\n' }} + {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %} + {{- args_value }} + {{- '\n\n' }} + {%- endfor %} + {%- endif %} + {{- '\n' }} + {%- endfor %} + {%- endif %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if loop.previtem and loop.previtem.role != "tool" %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- content }} + {{- '\n' }} + {%- if not loop.last and loop.nextitem.role != "tool" %} + {{- '<|im_end|>\n' }} + {%- elif loop.last %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- else %} + {{- raise_exception('Unexpected message role.') }} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} + {%- if enable_thinking is defined and enable_thinking is true %} + {{- '\n' }} + {%- else %} + {{- '\n\n\n\n' }} + {%- endif %} +{%- endif %} \ No newline at end of file diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer.json b/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..a73a846725794819aa6e1c9e97d8dc9671c2006d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42 +size 12807982 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer_config.json b/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..fae3ce993e07c092ad024dde45e592379fde91bb --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/tokenizer/tokenizer_config.json @@ -0,0 +1,305 @@ +{ + "add_prefix_space": false, + "added_tokens_decoder": { + "248044": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248045": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248046": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248047": { + "content": "<|object_ref_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248048": { + "content": "<|object_ref_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248049": { + "content": "<|box_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248050": { + "content": "<|box_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248051": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248052": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248053": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248054": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248055": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248056": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248057": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248058": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248059": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248060": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248061": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248062": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248063": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248064": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248065": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248066": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248067": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248068": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248069": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "248070": { + "content": "<|audio_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248071": { + "content": "<|audio_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248072": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248073": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248074": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248075": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "248076": { + "content": "<|audio_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "bos_token": null, + "chat_template": "{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}", + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "model_max_length": 262144, + "pad_token": "<|endoftext|>", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null, + "add_bos_token": false, + "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+", + "extra_special_tokens": { + "audio_bos_token": "<|audio_start|>", + "audio_eos_token": "<|audio_end|>", + "audio_token": "<|audio_pad|>", + "image_token": "<|image_pad|>", + "video_token": "<|video_pad|>", + "vision_bos_token": "<|vision_start|>", + "vision_eos_token": "<|vision_end|>" + } +} \ No newline at end of file diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00000.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00000.bin new file mode 100644 index 0000000000000000000000000000000000000000..75279676625d6ef9a67103b5fd47e100b5f752c5 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00000.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53008c5fa194e3469521d741cd49b5f0348915b95921a9eea68c8be9383f193c +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00001.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00001.bin new file mode 100644 index 0000000000000000000000000000000000000000..7d34e931a110cab25a03b8b25809f1218048cf27 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00001.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbabf2ba4ca10d0e9f64bbebeffeb04cd815801b2b53a1ca10f6e7f91db6801f +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00002.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00002.bin new file mode 100644 index 0000000000000000000000000000000000000000..126b65cd0a885f8acdd872ee71eb4c8d9aae5e14 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00002.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2359db8bfc8dbc2b28d59415a6240d1619145591f442d2e8dc3f931490d9a558 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00003.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00003.bin new file mode 100644 index 0000000000000000000000000000000000000000..98647c49900567b714f5e1dcc3593597e60038ef --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00003.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb7b7a7f66a8890844b92cae5e3f65c51b0f5268d1cab410010e1468f3ee5d23 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00004.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00004.bin new file mode 100644 index 0000000000000000000000000000000000000000..43b354a570e44984f171442f65ab505508fdf17d --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00004.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56f69a8b7aba5ac2c03a6fd2063add73b3b894b8c8b9bfc6a28fd8e2ca45429f +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00005.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00005.bin new file mode 100644 index 0000000000000000000000000000000000000000..b0968669b9df0cef0576ac8fc35eed76aa2584e9 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00005.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eff822e4d768982d35adb268d03c290ba6d1ee8857b4a499d2ed95846198fd20 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00006.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00006.bin new file mode 100644 index 0000000000000000000000000000000000000000..c5e420e605c8b2378c1521467e618d121e9711eb --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00006.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8680966839b012e598c008668622d48f16fcbee750a3412a1bcd8baf7e90e0ce +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00007.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00007.bin new file mode 100644 index 0000000000000000000000000000000000000000..090fd08b7561ff75ee0ce2e1c698c0967babf019 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00007.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2529307b1af414d637739fe29b6512f7fd65b7fde33f41c82c4dcb2ec9afb0be +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00008.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00008.bin new file mode 100644 index 0000000000000000000000000000000000000000..f1917e1f73dfe6275a21e686d4776995681a2b9f --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00008.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af5d19b68ad156f6c5a273ae67027412efb6ea90586c1c319341e313871b51f7 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00009.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00009.bin new file mode 100644 index 0000000000000000000000000000000000000000..c0536927a358cdc42cbee8d752f1311b118b6d28 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00009.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c7f9d0ad0f5e17b068462a519baa9726b6fd310687338a4f532e680ba06f391 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00010.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00010.bin new file mode 100644 index 0000000000000000000000000000000000000000..bd4f96b8ef5e01dec89a4f8dea8cfe1d5dc39ff7 --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00010.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:864cd23510f07947e8a943394e31148f23173232261954ecf992ece7dd1d4290 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00011.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00011.bin new file mode 100644 index 0000000000000000000000000000000000000000..304e4c8f41bfb7dacf5be22084af39e196ab8c3b --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00011.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643ab38a51b4e6d695a913176389ee01164132cc0997bcc95edf54342ebf7012 +size 67108864 diff --git a/qwen35-08b-fp16-int4-g32-gptq-home/weights/00012.bin b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00012.bin new file mode 100644 index 0000000000000000000000000000000000000000..69a93652af857554093dfc827a8f99c3075208ff --- /dev/null +++ b/qwen35-08b-fp16-int4-g32-gptq-home/weights/00012.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a526b8e18df1442fd95a02034aa2668f20d685606c2fe3e69ba598c61246f9b0 +size 15259392