reploid 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/apps/poolday/config/chat-files.json +27 -0
  2. package/apps/poolday/config/partition-generation.js +21 -0
  3. package/apps/poolday/config/partition-policy.json +74 -0
  4. package/apps/poolday/config/partition-releases.json +3 -0
  5. package/apps/poolday/config/work-profile.json +122 -0
  6. package/apps/poolday/host/chat-view.js +47 -0
  7. package/apps/poolday/host/earning/client.js +199 -0
  8. package/apps/poolday/host/earning/contribution.js +168 -0
  9. package/apps/poolday/host/partition-release.js +33 -0
  10. package/apps/poolday/host/work-partition-artifact-source.js +37 -0
  11. package/apps/poolday/host/work-partition-capsule.js +39 -0
  12. package/apps/poolday/host/work-partition-plan.js +167 -0
  13. package/apps/poolday/host/work-partition-tokenizer-guard.js +21 -0
  14. package/apps/poolday/infrastructure/model-storage-lock.js +22 -0
  15. package/apps/poolday/infrastructure/pack-release-storage.js +52 -0
  16. package/apps/poolday/pool/pack-operation.js +161 -0
  17. package/apps/poolday/pool/pack-release-policy.js +44 -0
  18. package/apps/poolday/pool/peer-pack-data-channel.js +217 -0
  19. package/apps/poolday/providers/work-adapter.js +67 -0
  20. package/apps/poolday/providers/work-device.js +33 -0
  21. package/apps/poolday/providers/work-generation-completion.js +55 -0
  22. package/apps/poolday/providers/work-provider.js +209 -0
  23. package/apps/poolday/providers/work-resident-provider.js +113 -0
  24. package/deploy/artifacts/doppler-gpu-0.7.1.tgz +0 -0
  25. package/docs/fleet-service.md +214 -0
  26. package/docs/native-participant.md +542 -0
  27. package/native-delivery.json +1174 -0
  28. package/package.json +29 -4
  29. package/packages/reploid/src/artifacts/binary.js +25 -0
  30. package/packages/reploid/src/artifacts/canonical-json.js +23 -0
  31. package/packages/reploid/src/artifacts/custody/exchange.js +402 -0
  32. package/packages/reploid/src/artifacts/custody/piece-acquisition.js +70 -0
  33. package/packages/reploid/src/artifacts/custody/runtime.js +404 -0
  34. package/packages/reploid/src/artifacts/custody/supply-budget.js +19 -0
  35. package/packages/reploid/src/artifacts/custody-certificate.js +123 -0
  36. package/packages/reploid/src/artifacts/delivery-attestation.js +64 -0
  37. package/packages/reploid/src/artifacts/generation-terminal.js +36 -0
  38. package/packages/reploid/src/artifacts/identity.js +91 -0
  39. package/packages/reploid/src/artifacts/participant-proofs.js +159 -0
  40. package/packages/reploid/src/artifacts/receipt.js +131 -0
  41. package/packages/reploid/src/artifacts/signatures.js +94 -0
  42. package/packages/reploid/src/artifacts/whole-model-receipt.js +42 -0
  43. package/packages/reploid/src/cancellation.js +44 -0
  44. package/packages/reploid/src/config/defaults.json +110 -0
  45. package/packages/reploid/src/config/index.js +209 -0
  46. package/packages/reploid/src/config/request-overrides.json +9 -0
  47. package/packages/reploid/src/config/transport-defaults.json +7 -0
  48. package/packages/reploid/src/hashing.js +30 -0
  49. package/packages/reploid/src/measurement/capacity-utilization.js +321 -0
  50. package/packages/reploid/src/measurement/index.js +5 -0
  51. package/packages/reploid/src/measurement/readiness-records.js +310 -0
  52. package/packages/reploid/src/mesh/computer-identity.js +50 -0
  53. package/packages/reploid/src/mesh/computer-identity.policy.json +8 -0
  54. package/packages/reploid/src/mesh/contribution.js +141 -0
  55. package/packages/reploid/src/mesh/generation-recovery.js +58 -0
  56. package/packages/reploid/src/mesh/gpu-signature-shader.js +27 -0
  57. package/packages/reploid/src/mesh/gpu-signature.js +136 -0
  58. package/packages/reploid/src/mesh/gpu-signature.policy.json +11 -0
  59. package/packages/reploid/src/mesh/index.js +66 -0
  60. package/packages/reploid/src/mesh/partitions/automatic-ordered-partitions.js +540 -0
  61. package/packages/reploid/src/mesh/partitions/automatic-partitions.js +298 -0
  62. package/packages/reploid/src/mesh/partitions/partition-attempt-evidence.js +282 -0
  63. package/packages/reploid/src/mesh/partitions/partition-attempt-queue-policy.json +6 -0
  64. package/packages/reploid/src/mesh/partitions/partition-attempt-queue.js +112 -0
  65. package/packages/reploid/src/mesh/partitions/partition-canonical-contract.js +167 -0
  66. package/packages/reploid/src/mesh/partitions/partition-canonical-execution.js +168 -0
  67. package/packages/reploid/src/mesh/partitions/partition-chat-canonical.js +49 -0
  68. package/packages/reploid/src/mesh/partitions/partition-chat.js +125 -0
  69. package/packages/reploid/src/mesh/partitions/partition-contract.js +192 -0
  70. package/packages/reploid/src/mesh/partitions/partition-device-admission.js +96 -0
  71. package/packages/reploid/src/mesh/partitions/partition-discovery.js +96 -0
  72. package/packages/reploid/src/mesh/partitions/partition-entry-publication.js +183 -0
  73. package/packages/reploid/src/mesh/partitions/partition-entry.js +434 -0
  74. package/packages/reploid/src/mesh/partitions/partition-generation-request.js +33 -0
  75. package/packages/reploid/src/mesh/partitions/partition-grants.js +277 -0
  76. package/packages/reploid/src/mesh/partitions/partition-link.js +103 -0
  77. package/packages/reploid/src/mesh/partitions/partition-network.js +109 -0
  78. package/packages/reploid/src/mesh/partitions/partition-ordered-chat.js +290 -0
  79. package/packages/reploid/src/mesh/partitions/partition-ordered-peer.js +415 -0
  80. package/packages/reploid/src/mesh/partitions/partition-ordered-publication.js +100 -0
  81. package/packages/reploid/src/mesh/partitions/partition-peer.js +314 -0
  82. package/packages/reploid/src/mesh/partitions/partition-placement.js +143 -0
  83. package/packages/reploid/src/mesh/partitions/partition-preparation-progress.js +25 -0
  84. package/packages/reploid/src/mesh/partitions/partition-receiver-policy.json +7 -0
  85. package/packages/reploid/src/mesh/partitions/partition-reservations.js +75 -0
  86. package/packages/reploid/src/mesh/partitions/partition-route-envelope-policy.json +16 -0
  87. package/packages/reploid/src/mesh/partitions/partition-route-envelope.js +74 -0
  88. package/packages/reploid/src/mesh/partitions/partition-route-execution.js +409 -0
  89. package/packages/reploid/src/mesh/partitions/partition-route-network.js +179 -0
  90. package/packages/reploid/src/mesh/partitions/partition-route-ranking.js +268 -0
  91. package/packages/reploid/src/mesh/partitions/partition-runner.js +319 -0
  92. package/packages/reploid/src/mesh/partitions/partition-stage-assignment.js +109 -0
  93. package/packages/reploid/src/mesh/partitions/partition-stage-commit.js +103 -0
  94. package/packages/reploid/src/mesh/partitions/partition-step-receiver.js +291 -0
  95. package/packages/reploid/src/mesh/partitions/partition-summary.js +122 -0
  96. package/packages/reploid/src/mesh/partitions/preparation-owner.js +40 -0
  97. package/packages/reploid/src/mesh/partitions/resident-error-codes.json +10 -0
  98. package/packages/reploid/src/mesh/partitions/resident-partition.js +333 -0
  99. package/packages/reploid/src/mesh/partitions/resident-route.js +46 -0
  100. package/packages/reploid/src/mesh/partitions/signed-resident-factory.js +59 -0
  101. package/packages/reploid/src/mesh/peer-generation.js +896 -0
  102. package/packages/reploid/src/mesh/peer-identity.js +87 -0
  103. package/packages/reploid/src/mesh/placement-beliefs.js +107 -0
  104. package/packages/reploid/src/mesh/preparation-progress.js +46 -0
  105. package/packages/reploid/src/mesh/provider-hardware.js +11 -0
  106. package/packages/reploid/src/mesh/remote-generation-requests.js +53 -0
  107. package/packages/reploid/src/mesh/swarm-coordination.js +140 -0
  108. package/packages/reploid/src/mesh/web-access-network.js +112 -0
  109. package/packages/reploid/src/mesh/web-access-policy.json +17 -0
  110. package/packages/reploid/src/retrieval/citations.js +156 -0
  111. package/packages/reploid/src/retrieval/claim-support.js +113 -0
  112. package/packages/reploid/src/retrieval/costs.js +101 -0
  113. package/packages/reploid/src/retrieval/fixed-provider.js +34 -0
  114. package/packages/reploid/src/retrieval/index.js +20 -0
  115. package/packages/reploid/src/retrieval/lexical-support.js +27 -0
  116. package/packages/reploid/src/retrieval/model-reviewer.js +67 -0
  117. package/packages/reploid/src/retrieval/page-fetch.json +10 -0
  118. package/packages/reploid/src/retrieval/page-text.js +182 -0
  119. package/packages/reploid/src/retrieval/passage.js +37 -0
  120. package/packages/reploid/src/retrieval/policy.json +14 -0
  121. package/packages/reploid/src/retrieval/retrieval.js +23 -0
  122. package/packages/reploid/src/retrieval/review-queue.js +76 -0
  123. package/packages/reploid/src/retrieval/sources.js +263 -0
  124. package/packages/reploid/src/retrieval/support-review.js +155 -0
  125. package/packages/reploid/src/retrieval/text.js +21 -0
  126. package/packages/reploid/src/rules/contribution.rules.json +8 -0
  127. package/packages/reploid/src/rules/routing.rules.json +24 -0
  128. package/packages/reploid/src/transport/assignment.js +571 -0
  129. package/packages/reploid/src/transport/bounded-channel-writer.js +46 -0
  130. package/packages/reploid/src/transport/index.js +11 -0
  131. package/packages/reploid/src/transport/introduction-admission.js +24 -0
  132. package/packages/reploid/src/transport/introduction-bootstrap.js +112 -0
  133. package/packages/reploid/src/transport/introduction-policy.json +12 -0
  134. package/packages/reploid/src/transport/introduction-records.js +90 -0
  135. package/packages/reploid/src/transport/introductions.js +209 -0
  136. package/packages/reploid/src/transport/partition-data-channel.js +421 -0
  137. package/packages/reploid/src/transport/partition-errors.json +16 -0
  138. package/packages/reploid/src/transport/retry-policy.js +36 -0
  139. package/packages/reploid/src/transport/room.js +502 -0
  140. package/packages/reploid/src/transport/sdp-fingerprint.js +5 -0
  141. package/packages/reploid/src/transport/signaling.js +571 -0
  142. package/packages/reploid/src/transport/swarm.js +1247 -0
  143. package/packages/reploid/src/transport/tool-offer-channel.js +137 -0
  144. package/server/browser-roots.js +42 -0
  145. package/server/browser-web-worker.js +94 -0
  146. package/server/chat-completions.js +45 -0
  147. package/server/fleet/browser-bridge.js +145 -0
  148. package/server/fleet/contract.js +42 -0
  149. package/server/fleet/credit-evidence.js +103 -0
  150. package/server/fleet/credit-recovery.js +175 -0
  151. package/server/fleet/credits.js +178 -0
  152. package/server/fleet/execution-admission.js +32 -0
  153. package/server/fleet/native-host.js +817 -0
  154. package/server/fleet/placement.js +132 -0
  155. package/server/fleet/requester.js +346 -0
  156. package/server/fleet/service.js +311 -0
  157. package/server/fleet/terminal-policy.js +83 -0
  158. package/server/fleet/text-api.js +94 -0
  159. package/server/hashing.js +35 -0
  160. package/server/http-request-owner.js +49 -0
  161. package/server/messages.js +57 -0
  162. package/server/native-canonical-epochs.js +90 -0
  163. package/server/native-change-log.js +40 -0
  164. package/server/native-earning.js +203 -0
  165. package/server/native-generation-journal.js +46 -0
  166. package/server/native-model-config.js +57 -0
  167. package/server/native-model-files.js +382 -0
  168. package/server/native-model-origin.js +54 -0
  169. package/server/native-model-origins.json +12 -0
  170. package/server/native-node.js +85 -0
  171. package/server/native-owner/controls.js +162 -0
  172. package/server/native-owner/monitor.js +251 -0
  173. package/server/native-owner/policy.js +273 -0
  174. package/server/native-owner/rate.js +92 -0
  175. package/server/native-participant.js +866 -0
  176. package/server/native-readiness-log.js +30 -0
  177. package/server/native-release-storage.js +64 -0
  178. package/server/native-shader-cache.js +369 -0
  179. package/server/native-supply-budget.js +66 -0
  180. package/server/native-whole-earning.js +67 -0
  181. package/server/native-whole-model-fill.js +182 -0
  182. package/server/native-whole-model.js +130 -0
  183. package/server/public-web-worker.js +66 -0
  184. package/server/responses.js +92 -0
  185. package/server/search/errors.js +47 -0
  186. package/server/search/page-fetch.js +185 -0
  187. package/server/text-api.js +83 -0
  188. package/server/text-recovery.js +45 -0
  189. package/server/text-request-options.js +23 -0
  190. package/server/text-requester.js +231 -0
  191. package/server/token-auth.js +9 -0
  192. package/server/whole-model-requester.js +99 -0
  193. package/shared/config/chat-models.json +4685 -0
  194. package/shared/config/doppler-execution-contracts.js +32 -0
  195. package/shared/config/doppler-execution-contracts.json +43 -0
  196. package/shared/config/doppler-generation-contract.js +223 -0
  197. package/shared/config/doppler-local-models.js +79 -0
  198. package/shared/config/doppler-package.json +7 -0
  199. package/shared/config/model-manifests/a0dc69e917133a82780823d17fc771c0f6b882d7c86c571deeaef45be2ff108b.json +6434 -0
  200. package/shared/config/model-manifests/e985e3cdad60d0cb57d84b436161e66ab5b3f6589a168de6f00b4610e5f1fb59.json +16534 -0
  201. package/shared/config/model-manifests/fa6eb7bbc3ba63571f8cede780b877d9272bde948697af93dd3d33837cb46137.json +7175 -0
  202. package/shared/config/model-pieces/qwen-0-8b-pieces.json +1506 -0
  203. package/shared/config/model-pieces/qwen-2b-pieces.json +4800 -0
  204. package/shared/config/model-pieces/qwen35b-q4_0-pieces.json +28880 -0
  205. package/shared/config/reploid-library.json +49 -0
  206. package/shared/config/swarm-bootstrap.json +21 -0
  207. package/shared/infrastructure/doppler-runtime-service.js +261 -0
  208. package/shared/pool/executable-pack.js +87 -0
  209. package/shared/pool/pack-operation-adapters.js +124 -0
  210. package/shared/pool/pack-operation-policy.js +75 -0
  211. package/shared/pool/pool-config.json +2280 -0
  212. package/shared/vendor/reploid/adapters/doppler-session.js +372 -0
  213. package/shared/vendor/reploid/artifacts/binary.js +25 -0
  214. package/shared/vendor/reploid/artifacts/canonical-json.js +23 -0
  215. package/shared/vendor/reploid/artifacts/delivery-attestation.js +64 -0
  216. package/shared/vendor/reploid/artifacts/identity.js +91 -0
  217. package/shared/vendor/reploid/artifacts/manifest-identity.js +17 -0
  218. package/shared/vendor/reploid/artifacts/participant-proofs.js +159 -0
  219. package/shared/vendor/reploid/artifacts/signatures.js +94 -0
  220. package/shared/vendor/reploid/config/defaults.json +110 -0
  221. package/shared/vendor/reploid/config/index.js +209 -0
  222. package/shared/vendor/reploid/config/request-overrides.json +9 -0
  223. package/shared/vendor/reploid/hashing.js +30 -0
  224. package/shared/vendor/reploid/mesh/generation-context-cache.js +97 -0
  225. package/shared/vendor/reploid/mesh/partitions/partition-attempt-evidence.js +282 -0
  226. package/shared/vendor/reploid/mesh/partitions/partition-contract.js +192 -0
  227. package/shared/vendor/reploid/mesh/partitions/partition-receiver-policy.json +7 -0
  228. package/shared/vendor/reploid/mesh/partitions/partition-route-ranking.js +268 -0
  229. package/shared/vendor/reploid/mesh/preparation-progress.js +46 -0
  230. package/shared/vendor/reploid/mesh/provider-hardware.js +11 -0
  231. package/shared/vendor/reploid/rules/routing.rules.json +24 -0
  232. package/shared/vendor/reploid/transport/partition-errors.json +16 -0
  233. package/README.md +0 -3
@@ -0,0 +1,4685 @@
1
+ [
2
+ {
3
+ "id": "qwen-3-5-0-8b-q4k-ehaf16",
4
+ "name": "Qwen 3.5 0.8B",
5
+ "identity": "sha256:fa6eb7bbc3ba63571f8cede780b877d9272bde948697af93dd3d33837cb46137",
6
+ "source": {
7
+ "baseUrl": "https://replo.id/model-files/qwen-3-5-0-8b-q4k-ehaf16/",
8
+ "files": [
9
+ {
10
+ "path": "manifest.json",
11
+ "role": "model-manifest",
12
+ "sizeBytes": 213026,
13
+ "hashAlgorithm": "sha256",
14
+ "hash": "fa6eb7bbc3ba63571f8cede780b877d9272bde948697af93dd3d33837cb46137",
15
+ "url": "/config/model-manifests/fa6eb7bbc3ba63571f8cede780b877d9272bde948697af93dd3d33837cb46137.json"
16
+ },
17
+ {
18
+ "path": "tokenizer.json",
19
+ "role": "tokenizer",
20
+ "sizeBytes": 9088480,
21
+ "hashAlgorithm": "sha256",
22
+ "hash": "8fc3b6de02de5a8e21d3867aba335e2d9a3c2263201f55daaed1feab3541bea4"
23
+ },
24
+ {
25
+ "path": "qwen-0-8b-pieces.json",
26
+ "role": "model-piece-index",
27
+ "sizeBytes": 50016,
28
+ "hashAlgorithm": "sha256",
29
+ "hash": "ca9db591758af53748e804f38e243c3fbdb22e99411a375a236a085208a8af49",
30
+ "url": "/config/model-pieces/qwen-0-8b-pieces.json"
31
+ }
32
+ ]
33
+ },
34
+ "provider": "doppler",
35
+ "contextLength": 262144,
36
+ "quantization": "q4k",
37
+ "size": "Q4K",
38
+ "adapters": [],
39
+ "availableAdapters": [
40
+ {
41
+ "id": "qwen35-0-8b-ner-json-lora",
42
+ "name": "Qwen 3.5 0.8B NER JSON LoRA",
43
+ "identity": "sha256:dc0248f45553e69defd8a1846619443f1ac5902a118548c70a7254c21f66f64b",
44
+ "baseModelIdentity": "sha256:fa6eb7bbc3ba63571f8cede780b877d9272bde948697af93dd3d33837cb46137",
45
+ "weightsLayout": "peft",
46
+ "purpose": {
47
+ "statement": "Extracts people, places and dates from one sentence as strict JSON.",
48
+ "source": "publisher",
49
+ "url": "https://huggingface.co/Mike0021/qwen35-0.8b-ner-json-lora/blob/6d4e4cf3ebe7d8df10897b9f44cbf1e647386bcb/README.md"
50
+ },
51
+ "evaluation": null,
52
+ "artifact": {
53
+ "artifactId": "qwen35-0-8b-ner-json-lora",
54
+ "role": "adapter",
55
+ "path": "adapter_model.safetensors",
56
+ "sizeBytes": 43346432,
57
+ "hash": "sha256:dfed3509fdd54c04e80e362b6b14f98d9c326a8e732f539996a137086dc4f636",
58
+ "url": "https://huggingface.co/Mike0021/qwen35-0.8b-ner-json-lora/resolve/6d4e4cf3ebe7d8df10897b9f44cbf1e647386bcb/adapter_model.safetensors"
59
+ },
60
+ "manifest": {
61
+ "id": "qwen35-0-8b-ner-json-lora",
62
+ "name": "Qwen 3.5 0.8B NER JSON LoRA",
63
+ "version": "1.0.0",
64
+ "baseModel": "qwen-3-5-0-8b-q4k-ehaf16",
65
+ "rank": 16,
66
+ "alpha": 32,
67
+ "targetModules": [
68
+ "down_proj",
69
+ "o_proj",
70
+ "in_proj_a",
71
+ "up_proj",
72
+ "in_proj_z",
73
+ "gate_proj",
74
+ "q_proj",
75
+ "out_proj",
76
+ "v_proj",
77
+ "k_proj",
78
+ "in_proj_b",
79
+ "in_proj_qkv"
80
+ ],
81
+ "weightsFormat": "safetensors",
82
+ "weightsPath": "https://huggingface.co/clocksmith/lora/resolve/a618a2ccab25928a98694930376ebb3c3db241cb/adapters/network-canaries/qwen35-0.8b-ner-json-lora/adapter_model.safetensors",
83
+ "weightsSize": 43346432,
84
+ "checksum": "dfed3509fdd54c04e80e362b6b14f98d9c326a8e732f539996a137086dc4f636",
85
+ "checksumAlgorithm": "sha256"
86
+ }
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "id": "qwen-3-5-2b-q4k-ehaf16",
92
+ "name": "Qwen 3.5 2B",
93
+ "partitionSplitLayer": 4,
94
+ "identity": "sha256:a0dc69e917133a82780823d17fc771c0f6b882d7c86c571deeaef45be2ff108b",
95
+ "source": {
96
+ "baseUrl": "https://replo.id/model-files/qwen-3-5-2b-q4k-ehaf16/",
97
+ "files": [
98
+ {
99
+ "path": "manifest.json",
100
+ "role": "model-manifest",
101
+ "sizeBytes": 181671,
102
+ "hashAlgorithm": "sha256",
103
+ "hash": "a0dc69e917133a82780823d17fc771c0f6b882d7c86c571deeaef45be2ff108b",
104
+ "url": "/config/model-manifests/a0dc69e917133a82780823d17fc771c0f6b882d7c86c571deeaef45be2ff108b.json"
105
+ },
106
+ {
107
+ "path": "tokenizer.json",
108
+ "role": "tokenizer",
109
+ "sizeBytes": 9088480,
110
+ "hashAlgorithm": "sha256",
111
+ "hash": "8fc3b6de02de5a8e21d3867aba335e2d9a3c2263201f55daaed1feab3541bea4"
112
+ },
113
+ {
114
+ "path": "qwen-2b-pieces.json",
115
+ "role": "model-piece-index",
116
+ "sizeBytes": 162108,
117
+ "hashAlgorithm": "sha256",
118
+ "hash": "7dba21ccd3e2f55c16027e1b866bc74bab37a39215d3b563093d1fe860d786d6",
119
+ "url": "/config/model-pieces/qwen-2b-pieces.json"
120
+ }
121
+ ]
122
+ },
123
+ "provider": "doppler",
124
+ "contextLength": 262144,
125
+ "quantization": "q4k",
126
+ "size": "Q4K",
127
+ "recommended": true,
128
+ "adapters": []
129
+ },
130
+ {
131
+ "id": "qwen-3-6-35b-a3b-text-source-q4_0-af32",
132
+ "name": "Qwen 3.6 35B A3B",
133
+ "identity": "sha256:e985e3cdad60d0cb57d84b436161e66ab5b3f6589a168de6f00b4610e5f1fb59",
134
+ "provider": "doppler",
135
+ "contextLength": 4096,
136
+ "quantization": "q4_0",
137
+ "size": "Q4_0 · 20 GB",
138
+ "adapters": [],
139
+ "executionModes": [
140
+ "whole-model"
141
+ ],
142
+ "generation": {
143
+ "maxTokens": 256,
144
+ "temperature": 0,
145
+ "topK": 1,
146
+ "topP": 1,
147
+ "repetitionPenalty": 1,
148
+ "repetitionPenaltyWindow": 1,
149
+ "maxSeqLen": 4096,
150
+ "useChatTemplate": true
151
+ },
152
+ "loadOptions": {
153
+ "runtimeConfig": {
154
+ "shared": {
155
+ "kernelWarmup": {
156
+ "warmGeneration": {
157
+ "prompt": "1, 2, 3, 4, 5, 6, 7, 8,",
158
+ "maxTokens": 8
159
+ }
160
+ },
161
+ "bufferPool": {
162
+ "budget": {
163
+ "maxTotalBytes": 32212254720,
164
+ "highWatermarkRatio": 0.94,
165
+ "emergencyTrimTargetRatio": 0.9,
166
+ "hardFailOnBudgetExceeded": true
167
+ }
168
+ },
169
+ "debug": {
170
+ "logLevel": {
171
+ "defaultLogLevel": "warn"
172
+ },
173
+ "trace": {
174
+ "enabled": false
175
+ },
176
+ "profiler": {
177
+ "enabled": false
178
+ }
179
+ }
180
+ },
181
+ "loading": {
182
+ "shardCache": {
183
+ "verificationBufferBytes": 67108864
184
+ }
185
+ },
186
+ "inference": {
187
+ "session": {
188
+ "compute": {
189
+ "defaults": {
190
+ "activationDtype": "f32",
191
+ "mathDtype": "f32",
192
+ "accumDtype": "f32",
193
+ "outputDtype": "f32"
194
+ }
195
+ },
196
+ "usePreparedDecodeWorkspace": true,
197
+ "useLinearAttentionFusedDecodeCore": false,
198
+ "useLinearAttentionRegisterPrefill": true,
199
+ "useLinearAttentionRegisterDecode": true,
200
+ "prefillTokenChunkSize": 2048,
201
+ "prefillChunkSubmitMode": "async",
202
+ "decodeLoop": {
203
+ "batchSize": 32,
204
+ "stopCheckMode": "batch",
205
+ "readbackInterval": 1,
206
+ "readbackMode": "sequential",
207
+ "submitLatencyThresholdMs": null,
208
+ "ringTokens": 1,
209
+ "ringStop": 1,
210
+ "ringStaging": 1,
211
+ "disableCommandBatching": false,
212
+ "layerSubmitInterval": 1,
213
+ "wholeTokenProgram": true
214
+ },
215
+ "kvcache": {
216
+ "maxSeqLen": 4096,
217
+ "kvDtype": "f32"
218
+ }
219
+ },
220
+ "moe": {
221
+ "routing": {
222
+ "activeExpertSelection": "topk-route"
223
+ }
224
+ },
225
+ "generation": {
226
+ "disableMultiTokenDecode": false
227
+ },
228
+ "kernelPath": {
229
+ "id": "qwen-3-6-35b-a3b-text-source-q4_0-af32-native-decode-candidate-prefill-tile16",
230
+ "name": "Execution inline kernel path",
231
+ "description": "Native GGUF Q4_0 candidate: post-attention norm with the expert and shared router GEMVs in one dispatch, subgroup F32 GEMV linear a-b, cooperative Q-family projections and lm_head, pair shared-slot MoE gate/up with the down projection, slot combine and layer residual in one dispatch, split-K GQA decode attention.",
232
+ "activationDtype": "f32",
233
+ "kvDtype": "f32",
234
+ "decode": {
235
+ "steps": [
236
+ {
237
+ "op": "input_norm",
238
+ "kernel": "rmsnorm.wgsl",
239
+ "entry": "main",
240
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c"
241
+ },
242
+ {
243
+ "op": "k_proj",
244
+ "kernel": "matmul_gguf_pair_f32.wgsl",
245
+ "entry": "main",
246
+ "weights": "layer.{L}.self_attn.k_proj",
247
+ "constants": {
248
+ "WORKGROUP_SIZE": 128,
249
+ "ROWS": 1,
250
+ "BLOCK_VALUES": 32,
251
+ "BLOCK_BYTES": 34,
252
+ "QUANT_FORMAT": 2
253
+ },
254
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
255
+ },
256
+ {
257
+ "op": "v_proj",
258
+ "kernel": "matmul_gguf_pair_f32.wgsl",
259
+ "entry": "main",
260
+ "weights": "layer.{L}.self_attn.v_proj",
261
+ "constants": {
262
+ "WORKGROUP_SIZE": 128,
263
+ "ROWS": 1,
264
+ "BLOCK_VALUES": 32,
265
+ "BLOCK_BYTES": 34,
266
+ "QUANT_FORMAT": 2
267
+ },
268
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
269
+ },
270
+ {
271
+ "op": "rope_q",
272
+ "kernel": "rope.wgsl",
273
+ "entry": "main",
274
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416"
275
+ },
276
+ {
277
+ "op": "rope_k",
278
+ "kernel": "rope.wgsl",
279
+ "entry": "main",
280
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416"
281
+ },
282
+ {
283
+ "op": "attention",
284
+ "kernel": "attention_decode_gqa_splitk.wgsl",
285
+ "entry": "main",
286
+ "precision": {
287
+ "kvDtype": "f32",
288
+ "activationDtype": "f32"
289
+ },
290
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00"
291
+ },
292
+ {
293
+ "op": "o_proj",
294
+ "kernel": "matmul_gguf_pair_f32.wgsl",
295
+ "entry": "main",
296
+ "weights": "layer.{L}.self_attn.o_proj",
297
+ "constants": {
298
+ "WORKGROUP_SIZE": 128,
299
+ "ROWS": 1,
300
+ "BLOCK_VALUES": 32,
301
+ "BLOCK_BYTES": 18,
302
+ "QUANT_FORMAT": 0
303
+ },
304
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
305
+ },
306
+ {
307
+ "op": "attn_residual",
308
+ "kernel": "residual.wgsl",
309
+ "entry": "main",
310
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117"
311
+ },
312
+ {
313
+ "op": "post_attn_norm",
314
+ "kernel": "rmsnorm.wgsl",
315
+ "entry": "main",
316
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c"
317
+ },
318
+ {
319
+ "op": "gate_proj",
320
+ "kernel": "matmul_gguf_pair_f32.wgsl",
321
+ "entry": "main",
322
+ "weights": "layer.{L}.mlp.gate_proj",
323
+ "constants": {
324
+ "WORKGROUP_SIZE": 128,
325
+ "ROWS": 1,
326
+ "BLOCK_VALUES": 32,
327
+ "BLOCK_BYTES": 34,
328
+ "QUANT_FORMAT": 2
329
+ },
330
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
331
+ },
332
+ {
333
+ "op": "up_proj",
334
+ "kernel": "matmul_gguf_pair_f32.wgsl",
335
+ "entry": "main",
336
+ "weights": "layer.{L}.mlp.up_proj",
337
+ "constants": {
338
+ "WORKGROUP_SIZE": 128,
339
+ "ROWS": 1,
340
+ "BLOCK_VALUES": 32,
341
+ "BLOCK_BYTES": 34,
342
+ "QUANT_FORMAT": 2
343
+ },
344
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
345
+ },
346
+ {
347
+ "op": "activation",
348
+ "kernel": "silu.wgsl",
349
+ "entry": "main",
350
+ "constants": {
351
+ "HAS_GATE": true
352
+ },
353
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0"
354
+ },
355
+ {
356
+ "op": "down_proj",
357
+ "kernel": "matmul_gguf_pair_f32.wgsl",
358
+ "entry": "main",
359
+ "weights": "layer.{L}.mlp.down_proj",
360
+ "constants": {
361
+ "WORKGROUP_SIZE": 128,
362
+ "ROWS": 1,
363
+ "BLOCK_VALUES": 32,
364
+ "BLOCK_BYTES": 34,
365
+ "QUANT_FORMAT": 2
366
+ },
367
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
368
+ },
369
+ {
370
+ "op": "ffn_residual",
371
+ "kernel": "residual.wgsl",
372
+ "entry": "main",
373
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117"
374
+ },
375
+ {
376
+ "op": "linear_a_proj",
377
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
378
+ "entry": "main",
379
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f"
380
+ },
381
+ {
382
+ "op": "linear_b_proj",
383
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
384
+ "entry": "main",
385
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f"
386
+ },
387
+ {
388
+ "op": "linear_qkv_proj",
389
+ "kernel": "matmul_gguf_pair_f32.wgsl",
390
+ "entry": "main",
391
+ "weights": "layer.{L}.linear_attn.in_proj_qkv",
392
+ "constants": {
393
+ "WORKGROUP_SIZE": 128,
394
+ "ROWS": 1,
395
+ "BLOCK_VALUES": 32,
396
+ "BLOCK_BYTES": 18,
397
+ "QUANT_FORMAT": 0
398
+ },
399
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
400
+ },
401
+ {
402
+ "op": "linear_z_proj",
403
+ "kernel": "matmul_gguf_pair_f32.wgsl",
404
+ "entry": "main",
405
+ "weights": "layer.{L}.linear_attn.in_proj_z",
406
+ "constants": {
407
+ "WORKGROUP_SIZE": 128,
408
+ "ROWS": 1,
409
+ "BLOCK_VALUES": 32,
410
+ "BLOCK_BYTES": 18,
411
+ "QUANT_FORMAT": 0
412
+ },
413
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
414
+ },
415
+ {
416
+ "op": "linear_out_proj",
417
+ "kernel": "matmul_gguf_pair_f32.wgsl",
418
+ "entry": "main",
419
+ "weights": "layer.{L}.linear_attn.out_proj",
420
+ "constants": {
421
+ "WORKGROUP_SIZE": 128,
422
+ "ROWS": 1,
423
+ "BLOCK_VALUES": 32,
424
+ "BLOCK_BYTES": 34,
425
+ "QUANT_FORMAT": 2
426
+ },
427
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f"
428
+ },
429
+ {
430
+ "op": "moe_norm_router",
431
+ "kernel": "moe_norm_router_f32.wgsl",
432
+ "entry": "single_pass",
433
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93"
434
+ },
435
+ {
436
+ "op": "moe_router",
437
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
438
+ "entry": "main",
439
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f"
440
+ },
441
+ {
442
+ "op": "moe_shared_router",
443
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
444
+ "entry": "main",
445
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f"
446
+ },
447
+ {
448
+ "op": "moe_shared_slot_gu",
449
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
450
+ "entry": "main",
451
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b"
452
+ },
453
+ {
454
+ "op": "moe_shared_slot_down",
455
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
456
+ "entry": "main",
457
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2"
458
+ }
459
+ ]
460
+ },
461
+ "prefill": {
462
+ "steps": [
463
+ {
464
+ "op": "input_norm",
465
+ "kernel": "rmsnorm.wgsl",
466
+ "entry": "main",
467
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c"
468
+ },
469
+ {
470
+ "op": "k_proj",
471
+ "kernel": "matmul_q4_0_tile64.wgsl",
472
+ "entry": "main",
473
+ "weights": "layer.{L}.self_attn.k_proj",
474
+ "constants": {
475
+ "WORKGROUP_SIZE": 128,
476
+ "COLS_PER_WG": 4,
477
+ "THREADS_PER_COL_GEMV": 32,
478
+ "TILE_SIZE": 16,
479
+ "BLOCK_VALUES": 32,
480
+ "BLOCK_BYTES": 34,
481
+ "QUANT_FORMAT": 2
482
+ },
483
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
484
+ },
485
+ {
486
+ "op": "v_proj",
487
+ "kernel": "matmul_q4_0_tile64.wgsl",
488
+ "entry": "main",
489
+ "weights": "layer.{L}.self_attn.v_proj",
490
+ "constants": {
491
+ "WORKGROUP_SIZE": 128,
492
+ "COLS_PER_WG": 4,
493
+ "THREADS_PER_COL_GEMV": 32,
494
+ "TILE_SIZE": 16,
495
+ "BLOCK_VALUES": 32,
496
+ "BLOCK_BYTES": 34,
497
+ "QUANT_FORMAT": 2
498
+ },
499
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
500
+ },
501
+ {
502
+ "op": "rope_q",
503
+ "kernel": "rope.wgsl",
504
+ "entry": "main",
505
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416"
506
+ },
507
+ {
508
+ "op": "rope_k",
509
+ "kernel": "rope.wgsl",
510
+ "entry": "main",
511
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416"
512
+ },
513
+ {
514
+ "op": "attention",
515
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
516
+ "entry": "main",
517
+ "precision": {
518
+ "kvDtype": "f32",
519
+ "activationDtype": "f32"
520
+ },
521
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
522
+ "constants": {
523
+ "HEAD_DIM": 256,
524
+ "WORKGROUP_SIZE": 512,
525
+ "QUERY_TILE": 16
526
+ }
527
+ },
528
+ {
529
+ "op": "o_proj",
530
+ "kernel": "matmul_q4_0_tile64.wgsl",
531
+ "entry": "main",
532
+ "weights": "layer.{L}.self_attn.o_proj",
533
+ "constants": {
534
+ "WORKGROUP_SIZE": 128,
535
+ "COLS_PER_WG": 4,
536
+ "THREADS_PER_COL_GEMV": 32,
537
+ "TILE_SIZE": 16,
538
+ "BLOCK_VALUES": 32,
539
+ "BLOCK_BYTES": 18,
540
+ "QUANT_FORMAT": 0
541
+ },
542
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
543
+ },
544
+ {
545
+ "op": "attn_residual",
546
+ "kernel": "residual.wgsl",
547
+ "entry": "main",
548
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117"
549
+ },
550
+ {
551
+ "op": "post_attn_norm",
552
+ "kernel": "rmsnorm.wgsl",
553
+ "entry": "main",
554
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c"
555
+ },
556
+ {
557
+ "op": "gate_proj",
558
+ "kernel": "matmul_q4_0_tile64.wgsl",
559
+ "entry": "main",
560
+ "weights": "layer.{L}.mlp.gate_proj",
561
+ "constants": {
562
+ "WORKGROUP_SIZE": 128,
563
+ "COLS_PER_WG": 4,
564
+ "THREADS_PER_COL_GEMV": 32,
565
+ "TILE_SIZE": 16,
566
+ "BLOCK_VALUES": 32,
567
+ "BLOCK_BYTES": 34,
568
+ "QUANT_FORMAT": 2
569
+ },
570
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
571
+ },
572
+ {
573
+ "op": "up_proj",
574
+ "kernel": "matmul_q4_0_tile64.wgsl",
575
+ "entry": "main",
576
+ "weights": "layer.{L}.mlp.up_proj",
577
+ "constants": {
578
+ "WORKGROUP_SIZE": 128,
579
+ "COLS_PER_WG": 4,
580
+ "THREADS_PER_COL_GEMV": 32,
581
+ "TILE_SIZE": 16,
582
+ "BLOCK_VALUES": 32,
583
+ "BLOCK_BYTES": 34,
584
+ "QUANT_FORMAT": 2
585
+ },
586
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
587
+ },
588
+ {
589
+ "op": "activation",
590
+ "kernel": "silu.wgsl",
591
+ "entry": "main",
592
+ "constants": {
593
+ "HAS_GATE": true
594
+ },
595
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0"
596
+ },
597
+ {
598
+ "op": "down_proj",
599
+ "kernel": "matmul_q4_0_tile64.wgsl",
600
+ "entry": "main",
601
+ "weights": "layer.{L}.mlp.down_proj",
602
+ "constants": {
603
+ "WORKGROUP_SIZE": 128,
604
+ "COLS_PER_WG": 4,
605
+ "THREADS_PER_COL_GEMV": 32,
606
+ "TILE_SIZE": 16,
607
+ "BLOCK_VALUES": 32,
608
+ "BLOCK_BYTES": 34,
609
+ "QUANT_FORMAT": 2
610
+ },
611
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
612
+ },
613
+ {
614
+ "op": "ffn_residual",
615
+ "kernel": "residual.wgsl",
616
+ "entry": "main",
617
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117"
618
+ },
619
+ {
620
+ "op": "linear_a_proj",
621
+ "kernel": "matmul_f32.wgsl",
622
+ "entry": "main",
623
+ "weights": "layer.{L}.linear_attn.in_proj_a",
624
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8"
625
+ },
626
+ {
627
+ "op": "linear_b_proj",
628
+ "kernel": "matmul_f32.wgsl",
629
+ "entry": "main",
630
+ "weights": "layer.{L}.linear_attn.in_proj_b",
631
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8"
632
+ },
633
+ {
634
+ "op": "linear_qkv_proj",
635
+ "kernel": "matmul_q4_0_tile64.wgsl",
636
+ "entry": "main",
637
+ "weights": "layer.{L}.linear_attn.in_proj_qkv",
638
+ "constants": {
639
+ "WORKGROUP_SIZE": 128,
640
+ "COLS_PER_WG": 4,
641
+ "THREADS_PER_COL_GEMV": 32,
642
+ "TILE_SIZE": 16,
643
+ "BLOCK_VALUES": 32,
644
+ "BLOCK_BYTES": 18,
645
+ "QUANT_FORMAT": 0
646
+ },
647
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
648
+ },
649
+ {
650
+ "op": "linear_z_proj",
651
+ "kernel": "matmul_q4_0_tile64.wgsl",
652
+ "entry": "main",
653
+ "weights": "layer.{L}.linear_attn.in_proj_z",
654
+ "constants": {
655
+ "WORKGROUP_SIZE": 128,
656
+ "COLS_PER_WG": 4,
657
+ "THREADS_PER_COL_GEMV": 32,
658
+ "TILE_SIZE": 16,
659
+ "BLOCK_VALUES": 32,
660
+ "BLOCK_BYTES": 18,
661
+ "QUANT_FORMAT": 0
662
+ },
663
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
664
+ },
665
+ {
666
+ "op": "linear_out_proj",
667
+ "kernel": "matmul_q4_0_tile64.wgsl",
668
+ "entry": "main",
669
+ "weights": "layer.{L}.linear_attn.out_proj",
670
+ "constants": {
671
+ "WORKGROUP_SIZE": 128,
672
+ "COLS_PER_WG": 4,
673
+ "THREADS_PER_COL_GEMV": 32,
674
+ "TILE_SIZE": 16,
675
+ "BLOCK_VALUES": 32,
676
+ "BLOCK_BYTES": 34,
677
+ "QUANT_FORMAT": 2
678
+ },
679
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9"
680
+ }
681
+ ]
682
+ },
683
+ "layerOverrides": [
684
+ {
685
+ "layers": [
686
+ 0,
687
+ 1,
688
+ 2,
689
+ 10,
690
+ 22,
691
+ 34,
692
+ 36,
693
+ 37,
694
+ 38
695
+ ],
696
+ "decode": {
697
+ "steps": [
698
+ {
699
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
700
+ "entry": "main",
701
+ "kernel": "rmsnorm.wgsl",
702
+ "op": "input_norm"
703
+ },
704
+ {
705
+ "constants": {
706
+ "WORKGROUP_SIZE": 128,
707
+ "ROWS": 1,
708
+ "BLOCK_VALUES": 32,
709
+ "BLOCK_BYTES": 34,
710
+ "QUANT_FORMAT": 2
711
+ },
712
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
713
+ "entry": "main",
714
+ "kernel": "matmul_gguf_pair_f32.wgsl",
715
+ "op": "k_proj",
716
+ "weights": "layer.{L}.self_attn.k_proj"
717
+ },
718
+ {
719
+ "constants": {
720
+ "WORKGROUP_SIZE": 128,
721
+ "ROWS": 1,
722
+ "BLOCK_VALUES": 32,
723
+ "BLOCK_BYTES": 34,
724
+ "QUANT_FORMAT": 2
725
+ },
726
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
727
+ "entry": "main",
728
+ "kernel": "matmul_gguf_pair_f32.wgsl",
729
+ "op": "v_proj",
730
+ "weights": "layer.{L}.self_attn.v_proj"
731
+ },
732
+ {
733
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
734
+ "entry": "main",
735
+ "kernel": "rope.wgsl",
736
+ "op": "rope_q"
737
+ },
738
+ {
739
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
740
+ "entry": "main",
741
+ "kernel": "rope.wgsl",
742
+ "op": "rope_k"
743
+ },
744
+ {
745
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
746
+ "entry": "main",
747
+ "kernel": "attention_decode_gqa_splitk.wgsl",
748
+ "op": "attention",
749
+ "precision": {
750
+ "activationDtype": "f32",
751
+ "kvDtype": "f32"
752
+ }
753
+ },
754
+ {
755
+ "constants": {
756
+ "WORKGROUP_SIZE": 128,
757
+ "ROWS": 1,
758
+ "BLOCK_VALUES": 32,
759
+ "BLOCK_BYTES": 18,
760
+ "QUANT_FORMAT": 0
761
+ },
762
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
763
+ "entry": "main",
764
+ "kernel": "matmul_gguf_pair_f32.wgsl",
765
+ "op": "o_proj",
766
+ "weights": "layer.{L}.self_attn.o_proj"
767
+ },
768
+ {
769
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
770
+ "entry": "main",
771
+ "kernel": "residual.wgsl",
772
+ "op": "attn_residual"
773
+ },
774
+ {
775
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
776
+ "entry": "main",
777
+ "kernel": "rmsnorm.wgsl",
778
+ "op": "post_attn_norm"
779
+ },
780
+ {
781
+ "constants": {
782
+ "WORKGROUP_SIZE": 128,
783
+ "ROWS": 1,
784
+ "BLOCK_VALUES": 32,
785
+ "BLOCK_BYTES": 34,
786
+ "QUANT_FORMAT": 2
787
+ },
788
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
789
+ "entry": "main",
790
+ "kernel": "matmul_gguf_pair_f32.wgsl",
791
+ "op": "gate_proj",
792
+ "weights": "layer.{L}.mlp.gate_proj"
793
+ },
794
+ {
795
+ "constants": {
796
+ "WORKGROUP_SIZE": 128,
797
+ "ROWS": 1,
798
+ "BLOCK_VALUES": 32,
799
+ "BLOCK_BYTES": 34,
800
+ "QUANT_FORMAT": 2
801
+ },
802
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
803
+ "entry": "main",
804
+ "kernel": "matmul_gguf_pair_f32.wgsl",
805
+ "op": "up_proj",
806
+ "weights": "layer.{L}.mlp.up_proj"
807
+ },
808
+ {
809
+ "constants": {
810
+ "HAS_GATE": true
811
+ },
812
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
813
+ "entry": "main",
814
+ "kernel": "silu.wgsl",
815
+ "op": "activation"
816
+ },
817
+ {
818
+ "constants": {
819
+ "WORKGROUP_SIZE": 128,
820
+ "ROWS": 1,
821
+ "BLOCK_VALUES": 32,
822
+ "BLOCK_BYTES": 34,
823
+ "QUANT_FORMAT": 2
824
+ },
825
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
826
+ "entry": "main",
827
+ "kernel": "matmul_gguf_pair_f32.wgsl",
828
+ "op": "down_proj",
829
+ "weights": "layer.{L}.mlp.down_proj"
830
+ },
831
+ {
832
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
833
+ "entry": "main",
834
+ "kernel": "residual.wgsl",
835
+ "op": "ffn_residual"
836
+ },
837
+ {
838
+ "op": "linear_norm_ab",
839
+ "kernel": "linear_norm_ab_f32.wgsl",
840
+ "entry": "single_pass",
841
+ "digest": "sha256:ac4aa1763865ade33bcb261b407e5466392b89a7e45c30514138ab4da919d554"
842
+ },
843
+ {
844
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
845
+ "entry": "main",
846
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
847
+ "op": "linear_a_proj"
848
+ },
849
+ {
850
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
851
+ "entry": "main",
852
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
853
+ "op": "linear_b_proj"
854
+ },
855
+ {
856
+ "constants": {
857
+ "WORKGROUP_SIZE": 128,
858
+ "ROWS": 1,
859
+ "BLOCK_VALUES": 32,
860
+ "BLOCK_BYTES": 18,
861
+ "QUANT_FORMAT": 0
862
+ },
863
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
864
+ "entry": "main",
865
+ "kernel": "matmul_gguf_pair_f32.wgsl",
866
+ "op": "linear_qkv_proj",
867
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
868
+ },
869
+ {
870
+ "constants": {
871
+ "WORKGROUP_SIZE": 128,
872
+ "ROWS": 1,
873
+ "BLOCK_VALUES": 32,
874
+ "BLOCK_BYTES": 18,
875
+ "QUANT_FORMAT": 0
876
+ },
877
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
878
+ "entry": "main",
879
+ "kernel": "matmul_gguf_pair_f32.wgsl",
880
+ "op": "linear_z_proj",
881
+ "weights": "layer.{L}.linear_attn.in_proj_z"
882
+ },
883
+ {
884
+ "constants": {
885
+ "WORKGROUP_SIZE": 128,
886
+ "ROWS": 1,
887
+ "BLOCK_VALUES": 32,
888
+ "BLOCK_BYTES": 34,
889
+ "QUANT_FORMAT": 2
890
+ },
891
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
892
+ "entry": "main",
893
+ "kernel": "matmul_gguf_pair_f32.wgsl",
894
+ "op": "linear_out_proj",
895
+ "weights": "layer.{L}.linear_attn.out_proj"
896
+ },
897
+ {
898
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
899
+ "entry": "main",
900
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
901
+ "op": "moe_shared_slot_gu"
902
+ },
903
+ {
904
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
905
+ "entry": "main",
906
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
907
+ "op": "moe_shared_slot_down"
908
+ },
909
+ {
910
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
911
+ "entry": "single_pass",
912
+ "kernel": "moe_norm_router_f32.wgsl",
913
+ "op": "moe_norm_router"
914
+ },
915
+ {
916
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
917
+ "entry": "main",
918
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
919
+ "op": "moe_router"
920
+ },
921
+ {
922
+ "op": "moe_topk",
923
+ "kernel": "softmax_topk_logit_rank.wgsl",
924
+ "entry": "main",
925
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
926
+ },
927
+ {
928
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
929
+ "entry": "main",
930
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
931
+ "op": "moe_shared_router"
932
+ }
933
+ ]
934
+ },
935
+ "prefill": {
936
+ "steps": [
937
+ {
938
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
939
+ "entry": "main",
940
+ "kernel": "rmsnorm.wgsl",
941
+ "op": "input_norm"
942
+ },
943
+ {
944
+ "constants": {
945
+ "BLOCK_BYTES": 34,
946
+ "BLOCK_VALUES": 32,
947
+ "COLS_PER_WG": 4,
948
+ "QUANT_FORMAT": 2,
949
+ "THREADS_PER_COL_GEMV": 32,
950
+ "TILE_SIZE": 16,
951
+ "WORKGROUP_SIZE": 128
952
+ },
953
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
954
+ "entry": "main",
955
+ "kernel": "matmul_q4_0_tile64.wgsl",
956
+ "op": "k_proj",
957
+ "weights": "layer.{L}.self_attn.k_proj"
958
+ },
959
+ {
960
+ "constants": {
961
+ "BLOCK_BYTES": 34,
962
+ "BLOCK_VALUES": 32,
963
+ "COLS_PER_WG": 4,
964
+ "QUANT_FORMAT": 2,
965
+ "THREADS_PER_COL_GEMV": 32,
966
+ "TILE_SIZE": 16,
967
+ "WORKGROUP_SIZE": 128
968
+ },
969
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
970
+ "entry": "main",
971
+ "kernel": "matmul_q4_0_tile64.wgsl",
972
+ "op": "v_proj",
973
+ "weights": "layer.{L}.self_attn.v_proj"
974
+ },
975
+ {
976
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
977
+ "entry": "main",
978
+ "kernel": "rope.wgsl",
979
+ "op": "rope_q"
980
+ },
981
+ {
982
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
983
+ "entry": "main",
984
+ "kernel": "rope.wgsl",
985
+ "op": "rope_k"
986
+ },
987
+ {
988
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
989
+ "entry": "main",
990
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
991
+ "op": "attention",
992
+ "precision": {
993
+ "activationDtype": "f32",
994
+ "kvDtype": "f32"
995
+ },
996
+ "constants": {
997
+ "HEAD_DIM": 256,
998
+ "WORKGROUP_SIZE": 512,
999
+ "QUERY_TILE": 16
1000
+ }
1001
+ },
1002
+ {
1003
+ "constants": {
1004
+ "BLOCK_BYTES": 18,
1005
+ "BLOCK_VALUES": 32,
1006
+ "COLS_PER_WG": 4,
1007
+ "QUANT_FORMAT": 0,
1008
+ "THREADS_PER_COL_GEMV": 32,
1009
+ "TILE_SIZE": 16,
1010
+ "WORKGROUP_SIZE": 128
1011
+ },
1012
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1013
+ "entry": "main",
1014
+ "kernel": "matmul_q4_0_tile64.wgsl",
1015
+ "op": "o_proj",
1016
+ "weights": "layer.{L}.self_attn.o_proj"
1017
+ },
1018
+ {
1019
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1020
+ "entry": "main",
1021
+ "kernel": "residual.wgsl",
1022
+ "op": "attn_residual"
1023
+ },
1024
+ {
1025
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1026
+ "entry": "main",
1027
+ "kernel": "rmsnorm.wgsl",
1028
+ "op": "post_attn_norm"
1029
+ },
1030
+ {
1031
+ "constants": {
1032
+ "BLOCK_BYTES": 34,
1033
+ "BLOCK_VALUES": 32,
1034
+ "COLS_PER_WG": 4,
1035
+ "QUANT_FORMAT": 2,
1036
+ "THREADS_PER_COL_GEMV": 32,
1037
+ "TILE_SIZE": 16,
1038
+ "WORKGROUP_SIZE": 128
1039
+ },
1040
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1041
+ "entry": "main",
1042
+ "kernel": "matmul_q4_0_tile64.wgsl",
1043
+ "op": "gate_proj",
1044
+ "weights": "layer.{L}.mlp.gate_proj"
1045
+ },
1046
+ {
1047
+ "constants": {
1048
+ "BLOCK_BYTES": 34,
1049
+ "BLOCK_VALUES": 32,
1050
+ "COLS_PER_WG": 4,
1051
+ "QUANT_FORMAT": 2,
1052
+ "THREADS_PER_COL_GEMV": 32,
1053
+ "TILE_SIZE": 16,
1054
+ "WORKGROUP_SIZE": 128
1055
+ },
1056
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1057
+ "entry": "main",
1058
+ "kernel": "matmul_q4_0_tile64.wgsl",
1059
+ "op": "up_proj",
1060
+ "weights": "layer.{L}.mlp.up_proj"
1061
+ },
1062
+ {
1063
+ "constants": {
1064
+ "HAS_GATE": true
1065
+ },
1066
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
1067
+ "entry": "main",
1068
+ "kernel": "silu.wgsl",
1069
+ "op": "activation"
1070
+ },
1071
+ {
1072
+ "constants": {
1073
+ "BLOCK_BYTES": 34,
1074
+ "BLOCK_VALUES": 32,
1075
+ "COLS_PER_WG": 4,
1076
+ "QUANT_FORMAT": 2,
1077
+ "THREADS_PER_COL_GEMV": 32,
1078
+ "TILE_SIZE": 16,
1079
+ "WORKGROUP_SIZE": 128
1080
+ },
1081
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1082
+ "entry": "main",
1083
+ "kernel": "matmul_q4_0_tile64.wgsl",
1084
+ "op": "down_proj",
1085
+ "weights": "layer.{L}.mlp.down_proj"
1086
+ },
1087
+ {
1088
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1089
+ "entry": "main",
1090
+ "kernel": "residual.wgsl",
1091
+ "op": "ffn_residual"
1092
+ },
1093
+ {
1094
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
1095
+ "entry": "main",
1096
+ "kernel": "matmul_f32.wgsl",
1097
+ "op": "linear_a_proj",
1098
+ "weights": "layer.{L}.linear_attn.in_proj_a"
1099
+ },
1100
+ {
1101
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
1102
+ "entry": "main",
1103
+ "kernel": "matmul_f32.wgsl",
1104
+ "op": "linear_b_proj",
1105
+ "weights": "layer.{L}.linear_attn.in_proj_b"
1106
+ },
1107
+ {
1108
+ "constants": {
1109
+ "BLOCK_BYTES": 18,
1110
+ "BLOCK_VALUES": 32,
1111
+ "COLS_PER_WG": 4,
1112
+ "QUANT_FORMAT": 0,
1113
+ "THREADS_PER_COL_GEMV": 32,
1114
+ "TILE_SIZE": 16,
1115
+ "WORKGROUP_SIZE": 128
1116
+ },
1117
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1118
+ "entry": "main",
1119
+ "kernel": "matmul_q4_0_tile64.wgsl",
1120
+ "op": "linear_qkv_proj",
1121
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
1122
+ },
1123
+ {
1124
+ "constants": {
1125
+ "BLOCK_BYTES": 18,
1126
+ "BLOCK_VALUES": 32,
1127
+ "COLS_PER_WG": 4,
1128
+ "QUANT_FORMAT": 0,
1129
+ "THREADS_PER_COL_GEMV": 32,
1130
+ "TILE_SIZE": 16,
1131
+ "WORKGROUP_SIZE": 128
1132
+ },
1133
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1134
+ "entry": "main",
1135
+ "kernel": "matmul_q4_0_tile64.wgsl",
1136
+ "op": "linear_z_proj",
1137
+ "weights": "layer.{L}.linear_attn.in_proj_z"
1138
+ },
1139
+ {
1140
+ "constants": {
1141
+ "BLOCK_BYTES": 34,
1142
+ "BLOCK_VALUES": 32,
1143
+ "COLS_PER_WG": 4,
1144
+ "QUANT_FORMAT": 2,
1145
+ "THREADS_PER_COL_GEMV": 32,
1146
+ "TILE_SIZE": 16,
1147
+ "WORKGROUP_SIZE": 128
1148
+ },
1149
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1150
+ "entry": "main",
1151
+ "kernel": "matmul_q4_0_tile64.wgsl",
1152
+ "op": "linear_out_proj",
1153
+ "weights": "layer.{L}.linear_attn.out_proj"
1154
+ },
1155
+ {
1156
+ "op": "moe_grouped_sort",
1157
+ "kernel": "moe_grouped_sort.wgsl",
1158
+ "entry": "main",
1159
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
1160
+ },
1161
+ {
1162
+ "op": "moe_grouped_gu",
1163
+ "kernel": "moe_grouped_matmul_f32.wgsl",
1164
+ "entry": "main",
1165
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
1166
+ },
1167
+ {
1168
+ "op": "moe_grouped_down",
1169
+ "kernel": "moe_grouped_matmul_f32.wgsl",
1170
+ "entry": "main",
1171
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
1172
+ }
1173
+ ]
1174
+ }
1175
+ },
1176
+ {
1177
+ "layers": [
1178
+ 3,
1179
+ 39
1180
+ ],
1181
+ "decode": {
1182
+ "steps": [
1183
+ {
1184
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1185
+ "entry": "main",
1186
+ "kernel": "rmsnorm.wgsl",
1187
+ "op": "input_norm"
1188
+ },
1189
+ {
1190
+ "constants": {
1191
+ "WORKGROUP_SIZE": 256,
1192
+ "ROWS": 4,
1193
+ "BLOCK_VALUES": 256,
1194
+ "BLOCK_BYTES": 210,
1195
+ "QUANT_FORMAT": 3
1196
+ },
1197
+ "digest": "sha256:bd465ca37154cf9ac0b0d34f6a9c8f6f1014c8df3fe333d931cfd7eb39d4b7e9",
1198
+ "entry": "main_q6k",
1199
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1200
+ "op": "q_proj",
1201
+ "weights": "layer.{L}.self_attn.q_proj"
1202
+ },
1203
+ {
1204
+ "constants": {
1205
+ "WORKGROUP_SIZE": 128,
1206
+ "ROWS": 1,
1207
+ "BLOCK_VALUES": 32,
1208
+ "BLOCK_BYTES": 34,
1209
+ "QUANT_FORMAT": 2
1210
+ },
1211
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1212
+ "entry": "main",
1213
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1214
+ "op": "k_proj",
1215
+ "weights": "layer.{L}.self_attn.k_proj"
1216
+ },
1217
+ {
1218
+ "constants": {
1219
+ "WORKGROUP_SIZE": 128,
1220
+ "ROWS": 1,
1221
+ "BLOCK_VALUES": 32,
1222
+ "BLOCK_BYTES": 34,
1223
+ "QUANT_FORMAT": 2
1224
+ },
1225
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1226
+ "entry": "main",
1227
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1228
+ "op": "v_proj",
1229
+ "weights": "layer.{L}.self_attn.v_proj"
1230
+ },
1231
+ {
1232
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1233
+ "entry": "main",
1234
+ "kernel": "rope.wgsl",
1235
+ "op": "rope_q"
1236
+ },
1237
+ {
1238
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1239
+ "entry": "main",
1240
+ "kernel": "rope.wgsl",
1241
+ "op": "rope_k"
1242
+ },
1243
+ {
1244
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
1245
+ "entry": "main",
1246
+ "kernel": "attention_decode_gqa_splitk.wgsl",
1247
+ "op": "attention",
1248
+ "precision": {
1249
+ "activationDtype": "f32",
1250
+ "kvDtype": "f32"
1251
+ }
1252
+ },
1253
+ {
1254
+ "constants": {
1255
+ "WORKGROUP_SIZE": 128,
1256
+ "ROWS": 1,
1257
+ "BLOCK_VALUES": 32,
1258
+ "BLOCK_BYTES": 18,
1259
+ "QUANT_FORMAT": 0
1260
+ },
1261
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1262
+ "entry": "main",
1263
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1264
+ "op": "o_proj",
1265
+ "weights": "layer.{L}.self_attn.o_proj"
1266
+ },
1267
+ {
1268
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1269
+ "entry": "main",
1270
+ "kernel": "residual.wgsl",
1271
+ "op": "attn_residual"
1272
+ },
1273
+ {
1274
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1275
+ "entry": "main",
1276
+ "kernel": "rmsnorm.wgsl",
1277
+ "op": "post_attn_norm"
1278
+ },
1279
+ {
1280
+ "constants": {
1281
+ "WORKGROUP_SIZE": 128,
1282
+ "ROWS": 1,
1283
+ "BLOCK_VALUES": 32,
1284
+ "BLOCK_BYTES": 34,
1285
+ "QUANT_FORMAT": 2
1286
+ },
1287
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1288
+ "entry": "main",
1289
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1290
+ "op": "gate_proj",
1291
+ "weights": "layer.{L}.mlp.gate_proj"
1292
+ },
1293
+ {
1294
+ "constants": {
1295
+ "WORKGROUP_SIZE": 128,
1296
+ "ROWS": 1,
1297
+ "BLOCK_VALUES": 32,
1298
+ "BLOCK_BYTES": 34,
1299
+ "QUANT_FORMAT": 2
1300
+ },
1301
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1302
+ "entry": "main",
1303
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1304
+ "op": "up_proj",
1305
+ "weights": "layer.{L}.mlp.up_proj"
1306
+ },
1307
+ {
1308
+ "constants": {
1309
+ "HAS_GATE": true
1310
+ },
1311
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
1312
+ "entry": "main",
1313
+ "kernel": "silu.wgsl",
1314
+ "op": "activation"
1315
+ },
1316
+ {
1317
+ "constants": {
1318
+ "WORKGROUP_SIZE": 128,
1319
+ "ROWS": 1,
1320
+ "BLOCK_VALUES": 32,
1321
+ "BLOCK_BYTES": 34,
1322
+ "QUANT_FORMAT": 2
1323
+ },
1324
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1325
+ "entry": "main",
1326
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1327
+ "op": "down_proj",
1328
+ "weights": "layer.{L}.mlp.down_proj"
1329
+ },
1330
+ {
1331
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1332
+ "entry": "main",
1333
+ "kernel": "residual.wgsl",
1334
+ "op": "ffn_residual"
1335
+ },
1336
+ {
1337
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1338
+ "entry": "main",
1339
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1340
+ "op": "linear_a_proj"
1341
+ },
1342
+ {
1343
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1344
+ "entry": "main",
1345
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1346
+ "op": "linear_b_proj"
1347
+ },
1348
+ {
1349
+ "constants": {
1350
+ "WORKGROUP_SIZE": 128,
1351
+ "ROWS": 1,
1352
+ "BLOCK_VALUES": 32,
1353
+ "BLOCK_BYTES": 18,
1354
+ "QUANT_FORMAT": 0
1355
+ },
1356
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1357
+ "entry": "main",
1358
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1359
+ "op": "linear_qkv_proj",
1360
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
1361
+ },
1362
+ {
1363
+ "constants": {
1364
+ "WORKGROUP_SIZE": 128,
1365
+ "ROWS": 1,
1366
+ "BLOCK_VALUES": 32,
1367
+ "BLOCK_BYTES": 18,
1368
+ "QUANT_FORMAT": 0
1369
+ },
1370
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1371
+ "entry": "main",
1372
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1373
+ "op": "linear_z_proj",
1374
+ "weights": "layer.{L}.linear_attn.in_proj_z"
1375
+ },
1376
+ {
1377
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
1378
+ "entry": "main",
1379
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
1380
+ "op": "moe_shared_slot_gu"
1381
+ },
1382
+ {
1383
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
1384
+ "entry": "main",
1385
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
1386
+ "op": "moe_shared_slot_down"
1387
+ },
1388
+ {
1389
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
1390
+ "entry": "single_pass",
1391
+ "kernel": "moe_norm_router_f32.wgsl",
1392
+ "op": "moe_norm_router"
1393
+ },
1394
+ {
1395
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1396
+ "entry": "main",
1397
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1398
+ "op": "moe_router"
1399
+ },
1400
+ {
1401
+ "op": "moe_topk",
1402
+ "kernel": "softmax_topk_logit_rank.wgsl",
1403
+ "entry": "main",
1404
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
1405
+ },
1406
+ {
1407
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1408
+ "entry": "main",
1409
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1410
+ "op": "moe_shared_router"
1411
+ }
1412
+ ]
1413
+ },
1414
+ "prefill": {
1415
+ "steps": [
1416
+ {
1417
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1418
+ "entry": "main",
1419
+ "kernel": "rmsnorm.wgsl",
1420
+ "op": "input_norm"
1421
+ },
1422
+ {
1423
+ "constants": {
1424
+ "BLOCK_BYTES": 210,
1425
+ "BLOCK_VALUES": 256,
1426
+ "COLS_PER_WG": 4,
1427
+ "QUANT_FORMAT": 3,
1428
+ "THREADS_PER_COL_GEMV": 32,
1429
+ "TILE_SIZE": 16,
1430
+ "WORKGROUP_SIZE": 128
1431
+ },
1432
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1433
+ "entry": "main",
1434
+ "kernel": "matmul_q4_0_tile64.wgsl",
1435
+ "op": "q_proj",
1436
+ "weights": "layer.{L}.self_attn.q_proj"
1437
+ },
1438
+ {
1439
+ "constants": {
1440
+ "BLOCK_BYTES": 34,
1441
+ "BLOCK_VALUES": 32,
1442
+ "COLS_PER_WG": 4,
1443
+ "QUANT_FORMAT": 2,
1444
+ "THREADS_PER_COL_GEMV": 32,
1445
+ "TILE_SIZE": 16,
1446
+ "WORKGROUP_SIZE": 128
1447
+ },
1448
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1449
+ "entry": "main",
1450
+ "kernel": "matmul_q4_0_tile64.wgsl",
1451
+ "op": "k_proj",
1452
+ "weights": "layer.{L}.self_attn.k_proj"
1453
+ },
1454
+ {
1455
+ "constants": {
1456
+ "BLOCK_BYTES": 34,
1457
+ "BLOCK_VALUES": 32,
1458
+ "COLS_PER_WG": 4,
1459
+ "QUANT_FORMAT": 2,
1460
+ "THREADS_PER_COL_GEMV": 32,
1461
+ "TILE_SIZE": 16,
1462
+ "WORKGROUP_SIZE": 128
1463
+ },
1464
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1465
+ "entry": "main",
1466
+ "kernel": "matmul_q4_0_tile64.wgsl",
1467
+ "op": "v_proj",
1468
+ "weights": "layer.{L}.self_attn.v_proj"
1469
+ },
1470
+ {
1471
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1472
+ "entry": "main",
1473
+ "kernel": "rope.wgsl",
1474
+ "op": "rope_q"
1475
+ },
1476
+ {
1477
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1478
+ "entry": "main",
1479
+ "kernel": "rope.wgsl",
1480
+ "op": "rope_k"
1481
+ },
1482
+ {
1483
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
1484
+ "entry": "main",
1485
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
1486
+ "op": "attention",
1487
+ "precision": {
1488
+ "activationDtype": "f32",
1489
+ "kvDtype": "f32"
1490
+ },
1491
+ "constants": {
1492
+ "HEAD_DIM": 256,
1493
+ "WORKGROUP_SIZE": 512,
1494
+ "QUERY_TILE": 16
1495
+ }
1496
+ },
1497
+ {
1498
+ "constants": {
1499
+ "BLOCK_BYTES": 18,
1500
+ "BLOCK_VALUES": 32,
1501
+ "COLS_PER_WG": 4,
1502
+ "QUANT_FORMAT": 0,
1503
+ "THREADS_PER_COL_GEMV": 32,
1504
+ "TILE_SIZE": 16,
1505
+ "WORKGROUP_SIZE": 128
1506
+ },
1507
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1508
+ "entry": "main",
1509
+ "kernel": "matmul_q4_0_tile64.wgsl",
1510
+ "op": "o_proj",
1511
+ "weights": "layer.{L}.self_attn.o_proj"
1512
+ },
1513
+ {
1514
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1515
+ "entry": "main",
1516
+ "kernel": "residual.wgsl",
1517
+ "op": "attn_residual"
1518
+ },
1519
+ {
1520
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1521
+ "entry": "main",
1522
+ "kernel": "rmsnorm.wgsl",
1523
+ "op": "post_attn_norm"
1524
+ },
1525
+ {
1526
+ "constants": {
1527
+ "BLOCK_BYTES": 34,
1528
+ "BLOCK_VALUES": 32,
1529
+ "COLS_PER_WG": 4,
1530
+ "QUANT_FORMAT": 2,
1531
+ "THREADS_PER_COL_GEMV": 32,
1532
+ "TILE_SIZE": 16,
1533
+ "WORKGROUP_SIZE": 128
1534
+ },
1535
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1536
+ "entry": "main",
1537
+ "kernel": "matmul_q4_0_tile64.wgsl",
1538
+ "op": "gate_proj",
1539
+ "weights": "layer.{L}.mlp.gate_proj"
1540
+ },
1541
+ {
1542
+ "constants": {
1543
+ "BLOCK_BYTES": 34,
1544
+ "BLOCK_VALUES": 32,
1545
+ "COLS_PER_WG": 4,
1546
+ "QUANT_FORMAT": 2,
1547
+ "THREADS_PER_COL_GEMV": 32,
1548
+ "TILE_SIZE": 16,
1549
+ "WORKGROUP_SIZE": 128
1550
+ },
1551
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1552
+ "entry": "main",
1553
+ "kernel": "matmul_q4_0_tile64.wgsl",
1554
+ "op": "up_proj",
1555
+ "weights": "layer.{L}.mlp.up_proj"
1556
+ },
1557
+ {
1558
+ "constants": {
1559
+ "HAS_GATE": true
1560
+ },
1561
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
1562
+ "entry": "main",
1563
+ "kernel": "silu.wgsl",
1564
+ "op": "activation"
1565
+ },
1566
+ {
1567
+ "constants": {
1568
+ "BLOCK_BYTES": 34,
1569
+ "BLOCK_VALUES": 32,
1570
+ "COLS_PER_WG": 4,
1571
+ "QUANT_FORMAT": 2,
1572
+ "THREADS_PER_COL_GEMV": 32,
1573
+ "TILE_SIZE": 16,
1574
+ "WORKGROUP_SIZE": 128
1575
+ },
1576
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1577
+ "entry": "main",
1578
+ "kernel": "matmul_q4_0_tile64.wgsl",
1579
+ "op": "down_proj",
1580
+ "weights": "layer.{L}.mlp.down_proj"
1581
+ },
1582
+ {
1583
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1584
+ "entry": "main",
1585
+ "kernel": "residual.wgsl",
1586
+ "op": "ffn_residual"
1587
+ },
1588
+ {
1589
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
1590
+ "entry": "main",
1591
+ "kernel": "matmul_f32.wgsl",
1592
+ "op": "linear_a_proj",
1593
+ "weights": "layer.{L}.linear_attn.in_proj_a"
1594
+ },
1595
+ {
1596
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
1597
+ "entry": "main",
1598
+ "kernel": "matmul_f32.wgsl",
1599
+ "op": "linear_b_proj",
1600
+ "weights": "layer.{L}.linear_attn.in_proj_b"
1601
+ },
1602
+ {
1603
+ "constants": {
1604
+ "BLOCK_BYTES": 18,
1605
+ "BLOCK_VALUES": 32,
1606
+ "COLS_PER_WG": 4,
1607
+ "QUANT_FORMAT": 0,
1608
+ "THREADS_PER_COL_GEMV": 32,
1609
+ "TILE_SIZE": 16,
1610
+ "WORKGROUP_SIZE": 128
1611
+ },
1612
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1613
+ "entry": "main",
1614
+ "kernel": "matmul_q4_0_tile64.wgsl",
1615
+ "op": "linear_qkv_proj",
1616
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
1617
+ },
1618
+ {
1619
+ "constants": {
1620
+ "BLOCK_BYTES": 18,
1621
+ "BLOCK_VALUES": 32,
1622
+ "COLS_PER_WG": 4,
1623
+ "QUANT_FORMAT": 0,
1624
+ "THREADS_PER_COL_GEMV": 32,
1625
+ "TILE_SIZE": 16,
1626
+ "WORKGROUP_SIZE": 128
1627
+ },
1628
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1629
+ "entry": "main",
1630
+ "kernel": "matmul_q4_0_tile64.wgsl",
1631
+ "op": "linear_z_proj",
1632
+ "weights": "layer.{L}.linear_attn.in_proj_z"
1633
+ },
1634
+ {
1635
+ "op": "moe_grouped_sort",
1636
+ "kernel": "moe_grouped_sort.wgsl",
1637
+ "entry": "main",
1638
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
1639
+ },
1640
+ {
1641
+ "op": "moe_grouped_gu",
1642
+ "kernel": "moe_grouped_matmul_f32.wgsl",
1643
+ "entry": "main",
1644
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
1645
+ },
1646
+ {
1647
+ "op": "moe_grouped_down",
1648
+ "kernel": "moe_grouped_matmul_f32.wgsl",
1649
+ "entry": "main",
1650
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
1651
+ }
1652
+ ]
1653
+ }
1654
+ },
1655
+ {
1656
+ "layers": [
1657
+ 4,
1658
+ 13,
1659
+ 16,
1660
+ 25,
1661
+ 28
1662
+ ],
1663
+ "decode": {
1664
+ "steps": [
1665
+ {
1666
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1667
+ "entry": "main",
1668
+ "kernel": "rmsnorm.wgsl",
1669
+ "op": "input_norm"
1670
+ },
1671
+ {
1672
+ "constants": {
1673
+ "WORKGROUP_SIZE": 128,
1674
+ "ROWS": 1,
1675
+ "BLOCK_VALUES": 32,
1676
+ "BLOCK_BYTES": 34,
1677
+ "QUANT_FORMAT": 2
1678
+ },
1679
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1680
+ "entry": "main",
1681
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1682
+ "op": "k_proj",
1683
+ "weights": "layer.{L}.self_attn.k_proj"
1684
+ },
1685
+ {
1686
+ "constants": {
1687
+ "WORKGROUP_SIZE": 128,
1688
+ "ROWS": 1,
1689
+ "BLOCK_VALUES": 32,
1690
+ "BLOCK_BYTES": 34,
1691
+ "QUANT_FORMAT": 2
1692
+ },
1693
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1694
+ "entry": "main",
1695
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1696
+ "op": "v_proj",
1697
+ "weights": "layer.{L}.self_attn.v_proj"
1698
+ },
1699
+ {
1700
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1701
+ "entry": "main",
1702
+ "kernel": "rope.wgsl",
1703
+ "op": "rope_q"
1704
+ },
1705
+ {
1706
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1707
+ "entry": "main",
1708
+ "kernel": "rope.wgsl",
1709
+ "op": "rope_k"
1710
+ },
1711
+ {
1712
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
1713
+ "entry": "main",
1714
+ "kernel": "attention_decode_gqa_splitk.wgsl",
1715
+ "op": "attention",
1716
+ "precision": {
1717
+ "activationDtype": "f32",
1718
+ "kvDtype": "f32"
1719
+ }
1720
+ },
1721
+ {
1722
+ "constants": {
1723
+ "WORKGROUP_SIZE": 128,
1724
+ "ROWS": 1,
1725
+ "BLOCK_VALUES": 32,
1726
+ "BLOCK_BYTES": 18,
1727
+ "QUANT_FORMAT": 0
1728
+ },
1729
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1730
+ "entry": "main",
1731
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1732
+ "op": "o_proj",
1733
+ "weights": "layer.{L}.self_attn.o_proj"
1734
+ },
1735
+ {
1736
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1737
+ "entry": "main",
1738
+ "kernel": "residual.wgsl",
1739
+ "op": "attn_residual"
1740
+ },
1741
+ {
1742
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1743
+ "entry": "main",
1744
+ "kernel": "rmsnorm.wgsl",
1745
+ "op": "post_attn_norm"
1746
+ },
1747
+ {
1748
+ "constants": {
1749
+ "WORKGROUP_SIZE": 128,
1750
+ "ROWS": 1,
1751
+ "BLOCK_VALUES": 32,
1752
+ "BLOCK_BYTES": 34,
1753
+ "QUANT_FORMAT": 2
1754
+ },
1755
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1756
+ "entry": "main",
1757
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1758
+ "op": "gate_proj",
1759
+ "weights": "layer.{L}.mlp.gate_proj"
1760
+ },
1761
+ {
1762
+ "constants": {
1763
+ "WORKGROUP_SIZE": 128,
1764
+ "ROWS": 1,
1765
+ "BLOCK_VALUES": 32,
1766
+ "BLOCK_BYTES": 34,
1767
+ "QUANT_FORMAT": 2
1768
+ },
1769
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1770
+ "entry": "main",
1771
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1772
+ "op": "up_proj",
1773
+ "weights": "layer.{L}.mlp.up_proj"
1774
+ },
1775
+ {
1776
+ "constants": {
1777
+ "HAS_GATE": true
1778
+ },
1779
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
1780
+ "entry": "main",
1781
+ "kernel": "silu.wgsl",
1782
+ "op": "activation"
1783
+ },
1784
+ {
1785
+ "constants": {
1786
+ "WORKGROUP_SIZE": 128,
1787
+ "ROWS": 1,
1788
+ "BLOCK_VALUES": 32,
1789
+ "BLOCK_BYTES": 34,
1790
+ "QUANT_FORMAT": 2
1791
+ },
1792
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1793
+ "entry": "main",
1794
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1795
+ "op": "down_proj",
1796
+ "weights": "layer.{L}.mlp.down_proj"
1797
+ },
1798
+ {
1799
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1800
+ "entry": "main",
1801
+ "kernel": "residual.wgsl",
1802
+ "op": "ffn_residual"
1803
+ },
1804
+ {
1805
+ "op": "linear_norm_ab",
1806
+ "kernel": "linear_norm_ab_f32.wgsl",
1807
+ "entry": "single_pass",
1808
+ "digest": "sha256:ac4aa1763865ade33bcb261b407e5466392b89a7e45c30514138ab4da919d554"
1809
+ },
1810
+ {
1811
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1812
+ "entry": "main",
1813
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1814
+ "op": "linear_a_proj"
1815
+ },
1816
+ {
1817
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1818
+ "entry": "main",
1819
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1820
+ "op": "linear_b_proj"
1821
+ },
1822
+ {
1823
+ "constants": {
1824
+ "WORKGROUP_SIZE": 128,
1825
+ "ROWS": 1,
1826
+ "BLOCK_VALUES": 32,
1827
+ "BLOCK_BYTES": 18,
1828
+ "QUANT_FORMAT": 0
1829
+ },
1830
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1831
+ "entry": "main",
1832
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1833
+ "op": "linear_qkv_proj",
1834
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
1835
+ },
1836
+ {
1837
+ "constants": {
1838
+ "WORKGROUP_SIZE": 128,
1839
+ "ROWS": 1,
1840
+ "BLOCK_VALUES": 32,
1841
+ "BLOCK_BYTES": 18,
1842
+ "QUANT_FORMAT": 0
1843
+ },
1844
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1845
+ "entry": "main",
1846
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1847
+ "op": "linear_z_proj",
1848
+ "weights": "layer.{L}.linear_attn.in_proj_z"
1849
+ },
1850
+ {
1851
+ "constants": {
1852
+ "WORKGROUP_SIZE": 128,
1853
+ "ROWS": 1,
1854
+ "BLOCK_VALUES": 32,
1855
+ "BLOCK_BYTES": 18,
1856
+ "QUANT_FORMAT": 0
1857
+ },
1858
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
1859
+ "entry": "main",
1860
+ "kernel": "matmul_gguf_pair_f32.wgsl",
1861
+ "op": "linear_out_proj",
1862
+ "weights": "layer.{L}.linear_attn.out_proj"
1863
+ },
1864
+ {
1865
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
1866
+ "entry": "main",
1867
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
1868
+ "op": "moe_shared_slot_gu"
1869
+ },
1870
+ {
1871
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
1872
+ "entry": "main",
1873
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
1874
+ "op": "moe_shared_slot_down"
1875
+ },
1876
+ {
1877
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
1878
+ "entry": "single_pass",
1879
+ "kernel": "moe_norm_router_f32.wgsl",
1880
+ "op": "moe_norm_router"
1881
+ },
1882
+ {
1883
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1884
+ "entry": "main",
1885
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1886
+ "op": "moe_router"
1887
+ },
1888
+ {
1889
+ "op": "moe_topk",
1890
+ "kernel": "softmax_topk_logit_rank.wgsl",
1891
+ "entry": "main",
1892
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
1893
+ },
1894
+ {
1895
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
1896
+ "entry": "main",
1897
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
1898
+ "op": "moe_shared_router"
1899
+ }
1900
+ ]
1901
+ },
1902
+ "prefill": {
1903
+ "steps": [
1904
+ {
1905
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1906
+ "entry": "main",
1907
+ "kernel": "rmsnorm.wgsl",
1908
+ "op": "input_norm"
1909
+ },
1910
+ {
1911
+ "constants": {
1912
+ "BLOCK_BYTES": 34,
1913
+ "BLOCK_VALUES": 32,
1914
+ "COLS_PER_WG": 4,
1915
+ "QUANT_FORMAT": 2,
1916
+ "THREADS_PER_COL_GEMV": 32,
1917
+ "TILE_SIZE": 16,
1918
+ "WORKGROUP_SIZE": 128
1919
+ },
1920
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1921
+ "entry": "main",
1922
+ "kernel": "matmul_q4_0_tile64.wgsl",
1923
+ "op": "k_proj",
1924
+ "weights": "layer.{L}.self_attn.k_proj"
1925
+ },
1926
+ {
1927
+ "constants": {
1928
+ "BLOCK_BYTES": 34,
1929
+ "BLOCK_VALUES": 32,
1930
+ "COLS_PER_WG": 4,
1931
+ "QUANT_FORMAT": 2,
1932
+ "THREADS_PER_COL_GEMV": 32,
1933
+ "TILE_SIZE": 16,
1934
+ "WORKGROUP_SIZE": 128
1935
+ },
1936
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1937
+ "entry": "main",
1938
+ "kernel": "matmul_q4_0_tile64.wgsl",
1939
+ "op": "v_proj",
1940
+ "weights": "layer.{L}.self_attn.v_proj"
1941
+ },
1942
+ {
1943
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1944
+ "entry": "main",
1945
+ "kernel": "rope.wgsl",
1946
+ "op": "rope_q"
1947
+ },
1948
+ {
1949
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
1950
+ "entry": "main",
1951
+ "kernel": "rope.wgsl",
1952
+ "op": "rope_k"
1953
+ },
1954
+ {
1955
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
1956
+ "entry": "main",
1957
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
1958
+ "op": "attention",
1959
+ "precision": {
1960
+ "activationDtype": "f32",
1961
+ "kvDtype": "f32"
1962
+ },
1963
+ "constants": {
1964
+ "HEAD_DIM": 256,
1965
+ "WORKGROUP_SIZE": 512,
1966
+ "QUERY_TILE": 16
1967
+ }
1968
+ },
1969
+ {
1970
+ "constants": {
1971
+ "BLOCK_BYTES": 18,
1972
+ "BLOCK_VALUES": 32,
1973
+ "COLS_PER_WG": 4,
1974
+ "QUANT_FORMAT": 0,
1975
+ "THREADS_PER_COL_GEMV": 32,
1976
+ "TILE_SIZE": 16,
1977
+ "WORKGROUP_SIZE": 128
1978
+ },
1979
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
1980
+ "entry": "main",
1981
+ "kernel": "matmul_q4_0_tile64.wgsl",
1982
+ "op": "o_proj",
1983
+ "weights": "layer.{L}.self_attn.o_proj"
1984
+ },
1985
+ {
1986
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
1987
+ "entry": "main",
1988
+ "kernel": "residual.wgsl",
1989
+ "op": "attn_residual"
1990
+ },
1991
+ {
1992
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
1993
+ "entry": "main",
1994
+ "kernel": "rmsnorm.wgsl",
1995
+ "op": "post_attn_norm"
1996
+ },
1997
+ {
1998
+ "constants": {
1999
+ "BLOCK_BYTES": 34,
2000
+ "BLOCK_VALUES": 32,
2001
+ "COLS_PER_WG": 4,
2002
+ "QUANT_FORMAT": 2,
2003
+ "THREADS_PER_COL_GEMV": 32,
2004
+ "TILE_SIZE": 16,
2005
+ "WORKGROUP_SIZE": 128
2006
+ },
2007
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2008
+ "entry": "main",
2009
+ "kernel": "matmul_q4_0_tile64.wgsl",
2010
+ "op": "gate_proj",
2011
+ "weights": "layer.{L}.mlp.gate_proj"
2012
+ },
2013
+ {
2014
+ "constants": {
2015
+ "BLOCK_BYTES": 34,
2016
+ "BLOCK_VALUES": 32,
2017
+ "COLS_PER_WG": 4,
2018
+ "QUANT_FORMAT": 2,
2019
+ "THREADS_PER_COL_GEMV": 32,
2020
+ "TILE_SIZE": 16,
2021
+ "WORKGROUP_SIZE": 128
2022
+ },
2023
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2024
+ "entry": "main",
2025
+ "kernel": "matmul_q4_0_tile64.wgsl",
2026
+ "op": "up_proj",
2027
+ "weights": "layer.{L}.mlp.up_proj"
2028
+ },
2029
+ {
2030
+ "constants": {
2031
+ "HAS_GATE": true
2032
+ },
2033
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
2034
+ "entry": "main",
2035
+ "kernel": "silu.wgsl",
2036
+ "op": "activation"
2037
+ },
2038
+ {
2039
+ "constants": {
2040
+ "BLOCK_BYTES": 34,
2041
+ "BLOCK_VALUES": 32,
2042
+ "COLS_PER_WG": 4,
2043
+ "QUANT_FORMAT": 2,
2044
+ "THREADS_PER_COL_GEMV": 32,
2045
+ "TILE_SIZE": 16,
2046
+ "WORKGROUP_SIZE": 128
2047
+ },
2048
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2049
+ "entry": "main",
2050
+ "kernel": "matmul_q4_0_tile64.wgsl",
2051
+ "op": "down_proj",
2052
+ "weights": "layer.{L}.mlp.down_proj"
2053
+ },
2054
+ {
2055
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2056
+ "entry": "main",
2057
+ "kernel": "residual.wgsl",
2058
+ "op": "ffn_residual"
2059
+ },
2060
+ {
2061
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
2062
+ "entry": "main",
2063
+ "kernel": "matmul_f32.wgsl",
2064
+ "op": "linear_a_proj",
2065
+ "weights": "layer.{L}.linear_attn.in_proj_a"
2066
+ },
2067
+ {
2068
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
2069
+ "entry": "main",
2070
+ "kernel": "matmul_f32.wgsl",
2071
+ "op": "linear_b_proj",
2072
+ "weights": "layer.{L}.linear_attn.in_proj_b"
2073
+ },
2074
+ {
2075
+ "constants": {
2076
+ "BLOCK_BYTES": 18,
2077
+ "BLOCK_VALUES": 32,
2078
+ "COLS_PER_WG": 4,
2079
+ "QUANT_FORMAT": 0,
2080
+ "THREADS_PER_COL_GEMV": 32,
2081
+ "TILE_SIZE": 16,
2082
+ "WORKGROUP_SIZE": 128
2083
+ },
2084
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2085
+ "entry": "main",
2086
+ "kernel": "matmul_q4_0_tile64.wgsl",
2087
+ "op": "linear_qkv_proj",
2088
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
2089
+ },
2090
+ {
2091
+ "constants": {
2092
+ "BLOCK_BYTES": 18,
2093
+ "BLOCK_VALUES": 32,
2094
+ "COLS_PER_WG": 4,
2095
+ "QUANT_FORMAT": 0,
2096
+ "THREADS_PER_COL_GEMV": 32,
2097
+ "TILE_SIZE": 16,
2098
+ "WORKGROUP_SIZE": 128
2099
+ },
2100
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2101
+ "entry": "main",
2102
+ "kernel": "matmul_q4_0_tile64.wgsl",
2103
+ "op": "linear_z_proj",
2104
+ "weights": "layer.{L}.linear_attn.in_proj_z"
2105
+ },
2106
+ {
2107
+ "constants": {
2108
+ "BLOCK_BYTES": 18,
2109
+ "BLOCK_VALUES": 32,
2110
+ "COLS_PER_WG": 4,
2111
+ "QUANT_FORMAT": 0,
2112
+ "THREADS_PER_COL_GEMV": 32,
2113
+ "TILE_SIZE": 16,
2114
+ "WORKGROUP_SIZE": 128
2115
+ },
2116
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2117
+ "entry": "main",
2118
+ "kernel": "matmul_q4_0_tile64.wgsl",
2119
+ "op": "linear_out_proj",
2120
+ "weights": "layer.{L}.linear_attn.out_proj"
2121
+ },
2122
+ {
2123
+ "op": "moe_grouped_sort",
2124
+ "kernel": "moe_grouped_sort.wgsl",
2125
+ "entry": "main",
2126
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
2127
+ },
2128
+ {
2129
+ "op": "moe_grouped_gu",
2130
+ "kernel": "moe_grouped_matmul_f32.wgsl",
2131
+ "entry": "main",
2132
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
2133
+ },
2134
+ {
2135
+ "op": "moe_grouped_down",
2136
+ "kernel": "moe_grouped_matmul_f32.wgsl",
2137
+ "entry": "main",
2138
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
2139
+ }
2140
+ ]
2141
+ }
2142
+ },
2143
+ {
2144
+ "layers": [
2145
+ 5,
2146
+ 8,
2147
+ 9,
2148
+ 12,
2149
+ 17,
2150
+ 20,
2151
+ 21,
2152
+ 24,
2153
+ 29,
2154
+ 32,
2155
+ 33
2156
+ ],
2157
+ "decode": {
2158
+ "steps": [
2159
+ {
2160
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2161
+ "entry": "main",
2162
+ "kernel": "rmsnorm.wgsl",
2163
+ "op": "input_norm"
2164
+ },
2165
+ {
2166
+ "constants": {
2167
+ "WORKGROUP_SIZE": 128,
2168
+ "ROWS": 1,
2169
+ "BLOCK_VALUES": 32,
2170
+ "BLOCK_BYTES": 34,
2171
+ "QUANT_FORMAT": 2
2172
+ },
2173
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2174
+ "entry": "main",
2175
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2176
+ "op": "k_proj",
2177
+ "weights": "layer.{L}.self_attn.k_proj"
2178
+ },
2179
+ {
2180
+ "constants": {
2181
+ "WORKGROUP_SIZE": 128,
2182
+ "ROWS": 1,
2183
+ "BLOCK_VALUES": 32,
2184
+ "BLOCK_BYTES": 34,
2185
+ "QUANT_FORMAT": 2
2186
+ },
2187
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2188
+ "entry": "main",
2189
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2190
+ "op": "v_proj",
2191
+ "weights": "layer.{L}.self_attn.v_proj"
2192
+ },
2193
+ {
2194
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2195
+ "entry": "main",
2196
+ "kernel": "rope.wgsl",
2197
+ "op": "rope_q"
2198
+ },
2199
+ {
2200
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2201
+ "entry": "main",
2202
+ "kernel": "rope.wgsl",
2203
+ "op": "rope_k"
2204
+ },
2205
+ {
2206
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
2207
+ "entry": "main",
2208
+ "kernel": "attention_decode_gqa_splitk.wgsl",
2209
+ "op": "attention",
2210
+ "precision": {
2211
+ "activationDtype": "f32",
2212
+ "kvDtype": "f32"
2213
+ }
2214
+ },
2215
+ {
2216
+ "constants": {
2217
+ "WORKGROUP_SIZE": 128,
2218
+ "ROWS": 1,
2219
+ "BLOCK_VALUES": 32,
2220
+ "BLOCK_BYTES": 18,
2221
+ "QUANT_FORMAT": 0
2222
+ },
2223
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2224
+ "entry": "main",
2225
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2226
+ "op": "o_proj",
2227
+ "weights": "layer.{L}.self_attn.o_proj"
2228
+ },
2229
+ {
2230
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2231
+ "entry": "main",
2232
+ "kernel": "residual.wgsl",
2233
+ "op": "attn_residual"
2234
+ },
2235
+ {
2236
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2237
+ "entry": "main",
2238
+ "kernel": "rmsnorm.wgsl",
2239
+ "op": "post_attn_norm"
2240
+ },
2241
+ {
2242
+ "constants": {
2243
+ "BLOCK_BYTES": 22,
2244
+ "BLOCK_VALUES": 32,
2245
+ "COLS_PER_WG": 4,
2246
+ "QUANT_FORMAT": 4,
2247
+ "THREADS_PER_COL_GEMV": 32,
2248
+ "TILE_SIZE": 16,
2249
+ "WORKGROUP_SIZE": 128
2250
+ },
2251
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
2252
+ "entry": "cooperative",
2253
+ "kernel": "matmul_q4_0.wgsl",
2254
+ "op": "gate_proj",
2255
+ "weights": "layer.{L}.mlp.gate_proj"
2256
+ },
2257
+ {
2258
+ "constants": {
2259
+ "BLOCK_BYTES": 22,
2260
+ "BLOCK_VALUES": 32,
2261
+ "COLS_PER_WG": 4,
2262
+ "QUANT_FORMAT": 4,
2263
+ "THREADS_PER_COL_GEMV": 32,
2264
+ "TILE_SIZE": 16,
2265
+ "WORKGROUP_SIZE": 128
2266
+ },
2267
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
2268
+ "entry": "cooperative",
2269
+ "kernel": "matmul_q4_0.wgsl",
2270
+ "op": "up_proj",
2271
+ "weights": "layer.{L}.mlp.up_proj"
2272
+ },
2273
+ {
2274
+ "constants": {
2275
+ "HAS_GATE": true
2276
+ },
2277
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
2278
+ "entry": "main",
2279
+ "kernel": "silu.wgsl",
2280
+ "op": "activation"
2281
+ },
2282
+ {
2283
+ "constants": {
2284
+ "BLOCK_BYTES": 22,
2285
+ "BLOCK_VALUES": 32,
2286
+ "COLS_PER_WG": 4,
2287
+ "QUANT_FORMAT": 4,
2288
+ "THREADS_PER_COL_GEMV": 32,
2289
+ "TILE_SIZE": 16,
2290
+ "WORKGROUP_SIZE": 128
2291
+ },
2292
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
2293
+ "entry": "cooperative",
2294
+ "kernel": "matmul_q4_0.wgsl",
2295
+ "op": "down_proj",
2296
+ "weights": "layer.{L}.mlp.down_proj"
2297
+ },
2298
+ {
2299
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2300
+ "entry": "main",
2301
+ "kernel": "residual.wgsl",
2302
+ "op": "ffn_residual"
2303
+ },
2304
+ {
2305
+ "op": "linear_norm_ab",
2306
+ "kernel": "linear_norm_ab_f32.wgsl",
2307
+ "entry": "single_pass",
2308
+ "digest": "sha256:ac4aa1763865ade33bcb261b407e5466392b89a7e45c30514138ab4da919d554"
2309
+ },
2310
+ {
2311
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2312
+ "entry": "main",
2313
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2314
+ "op": "linear_a_proj"
2315
+ },
2316
+ {
2317
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2318
+ "entry": "main",
2319
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2320
+ "op": "linear_b_proj"
2321
+ },
2322
+ {
2323
+ "constants": {
2324
+ "WORKGROUP_SIZE": 128,
2325
+ "ROWS": 1,
2326
+ "BLOCK_VALUES": 32,
2327
+ "BLOCK_BYTES": 18,
2328
+ "QUANT_FORMAT": 0
2329
+ },
2330
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2331
+ "entry": "main",
2332
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2333
+ "op": "linear_qkv_proj",
2334
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
2335
+ },
2336
+ {
2337
+ "constants": {
2338
+ "WORKGROUP_SIZE": 128,
2339
+ "ROWS": 1,
2340
+ "BLOCK_VALUES": 32,
2341
+ "BLOCK_BYTES": 18,
2342
+ "QUANT_FORMAT": 0
2343
+ },
2344
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2345
+ "entry": "main",
2346
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2347
+ "op": "linear_z_proj",
2348
+ "weights": "layer.{L}.linear_attn.in_proj_z"
2349
+ },
2350
+ {
2351
+ "constants": {
2352
+ "WORKGROUP_SIZE": 128,
2353
+ "ROWS": 1,
2354
+ "BLOCK_VALUES": 32,
2355
+ "BLOCK_BYTES": 18,
2356
+ "QUANT_FORMAT": 0
2357
+ },
2358
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2359
+ "entry": "main",
2360
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2361
+ "op": "linear_out_proj",
2362
+ "weights": "layer.{L}.linear_attn.out_proj"
2363
+ },
2364
+ {
2365
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
2366
+ "entry": "main",
2367
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
2368
+ "op": "moe_shared_slot_gu"
2369
+ },
2370
+ {
2371
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
2372
+ "entry": "main",
2373
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
2374
+ "op": "moe_shared_slot_down"
2375
+ },
2376
+ {
2377
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
2378
+ "entry": "single_pass",
2379
+ "kernel": "moe_norm_router_f32.wgsl",
2380
+ "op": "moe_norm_router"
2381
+ },
2382
+ {
2383
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2384
+ "entry": "main",
2385
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2386
+ "op": "moe_router"
2387
+ },
2388
+ {
2389
+ "op": "moe_topk",
2390
+ "kernel": "softmax_topk_logit_rank.wgsl",
2391
+ "entry": "main",
2392
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
2393
+ },
2394
+ {
2395
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2396
+ "entry": "main",
2397
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2398
+ "op": "moe_shared_router"
2399
+ }
2400
+ ]
2401
+ },
2402
+ "prefill": {
2403
+ "steps": [
2404
+ {
2405
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2406
+ "entry": "main",
2407
+ "kernel": "rmsnorm.wgsl",
2408
+ "op": "input_norm"
2409
+ },
2410
+ {
2411
+ "constants": {
2412
+ "BLOCK_BYTES": 34,
2413
+ "BLOCK_VALUES": 32,
2414
+ "COLS_PER_WG": 4,
2415
+ "QUANT_FORMAT": 2,
2416
+ "THREADS_PER_COL_GEMV": 32,
2417
+ "TILE_SIZE": 16,
2418
+ "WORKGROUP_SIZE": 128
2419
+ },
2420
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2421
+ "entry": "main",
2422
+ "kernel": "matmul_q4_0_tile64.wgsl",
2423
+ "op": "k_proj",
2424
+ "weights": "layer.{L}.self_attn.k_proj"
2425
+ },
2426
+ {
2427
+ "constants": {
2428
+ "BLOCK_BYTES": 34,
2429
+ "BLOCK_VALUES": 32,
2430
+ "COLS_PER_WG": 4,
2431
+ "QUANT_FORMAT": 2,
2432
+ "THREADS_PER_COL_GEMV": 32,
2433
+ "TILE_SIZE": 16,
2434
+ "WORKGROUP_SIZE": 128
2435
+ },
2436
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2437
+ "entry": "main",
2438
+ "kernel": "matmul_q4_0_tile64.wgsl",
2439
+ "op": "v_proj",
2440
+ "weights": "layer.{L}.self_attn.v_proj"
2441
+ },
2442
+ {
2443
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2444
+ "entry": "main",
2445
+ "kernel": "rope.wgsl",
2446
+ "op": "rope_q"
2447
+ },
2448
+ {
2449
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2450
+ "entry": "main",
2451
+ "kernel": "rope.wgsl",
2452
+ "op": "rope_k"
2453
+ },
2454
+ {
2455
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
2456
+ "entry": "main",
2457
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
2458
+ "op": "attention",
2459
+ "precision": {
2460
+ "activationDtype": "f32",
2461
+ "kvDtype": "f32"
2462
+ },
2463
+ "constants": {
2464
+ "HEAD_DIM": 256,
2465
+ "WORKGROUP_SIZE": 512,
2466
+ "QUERY_TILE": 16
2467
+ }
2468
+ },
2469
+ {
2470
+ "constants": {
2471
+ "BLOCK_BYTES": 18,
2472
+ "BLOCK_VALUES": 32,
2473
+ "COLS_PER_WG": 4,
2474
+ "QUANT_FORMAT": 0,
2475
+ "THREADS_PER_COL_GEMV": 32,
2476
+ "TILE_SIZE": 16,
2477
+ "WORKGROUP_SIZE": 128
2478
+ },
2479
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2480
+ "entry": "main",
2481
+ "kernel": "matmul_q4_0_tile64.wgsl",
2482
+ "op": "o_proj",
2483
+ "weights": "layer.{L}.self_attn.o_proj"
2484
+ },
2485
+ {
2486
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2487
+ "entry": "main",
2488
+ "kernel": "residual.wgsl",
2489
+ "op": "attn_residual"
2490
+ },
2491
+ {
2492
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2493
+ "entry": "main",
2494
+ "kernel": "rmsnorm.wgsl",
2495
+ "op": "post_attn_norm"
2496
+ },
2497
+ {
2498
+ "constants": {
2499
+ "BLOCK_BYTES": 22,
2500
+ "BLOCK_VALUES": 32,
2501
+ "COLS_PER_WG": 4,
2502
+ "QUANT_FORMAT": 4,
2503
+ "THREADS_PER_COL_GEMV": 32,
2504
+ "TILE_SIZE": 16,
2505
+ "WORKGROUP_SIZE": 128
2506
+ },
2507
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2508
+ "entry": "main",
2509
+ "kernel": "matmul_q4_0_tile64.wgsl",
2510
+ "op": "gate_proj",
2511
+ "weights": "layer.{L}.mlp.gate_proj"
2512
+ },
2513
+ {
2514
+ "constants": {
2515
+ "BLOCK_BYTES": 22,
2516
+ "BLOCK_VALUES": 32,
2517
+ "COLS_PER_WG": 4,
2518
+ "QUANT_FORMAT": 4,
2519
+ "THREADS_PER_COL_GEMV": 32,
2520
+ "TILE_SIZE": 16,
2521
+ "WORKGROUP_SIZE": 128
2522
+ },
2523
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2524
+ "entry": "main",
2525
+ "kernel": "matmul_q4_0_tile64.wgsl",
2526
+ "op": "up_proj",
2527
+ "weights": "layer.{L}.mlp.up_proj"
2528
+ },
2529
+ {
2530
+ "constants": {
2531
+ "HAS_GATE": true
2532
+ },
2533
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
2534
+ "entry": "main",
2535
+ "kernel": "silu.wgsl",
2536
+ "op": "activation"
2537
+ },
2538
+ {
2539
+ "constants": {
2540
+ "BLOCK_BYTES": 22,
2541
+ "BLOCK_VALUES": 32,
2542
+ "COLS_PER_WG": 4,
2543
+ "QUANT_FORMAT": 4,
2544
+ "THREADS_PER_COL_GEMV": 32,
2545
+ "TILE_SIZE": 16,
2546
+ "WORKGROUP_SIZE": 128
2547
+ },
2548
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2549
+ "entry": "main",
2550
+ "kernel": "matmul_q4_0_tile64.wgsl",
2551
+ "op": "down_proj",
2552
+ "weights": "layer.{L}.mlp.down_proj"
2553
+ },
2554
+ {
2555
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2556
+ "entry": "main",
2557
+ "kernel": "residual.wgsl",
2558
+ "op": "ffn_residual"
2559
+ },
2560
+ {
2561
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
2562
+ "entry": "main",
2563
+ "kernel": "matmul_f32.wgsl",
2564
+ "op": "linear_a_proj",
2565
+ "weights": "layer.{L}.linear_attn.in_proj_a"
2566
+ },
2567
+ {
2568
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
2569
+ "entry": "main",
2570
+ "kernel": "matmul_f32.wgsl",
2571
+ "op": "linear_b_proj",
2572
+ "weights": "layer.{L}.linear_attn.in_proj_b"
2573
+ },
2574
+ {
2575
+ "constants": {
2576
+ "BLOCK_BYTES": 18,
2577
+ "BLOCK_VALUES": 32,
2578
+ "COLS_PER_WG": 4,
2579
+ "QUANT_FORMAT": 0,
2580
+ "THREADS_PER_COL_GEMV": 32,
2581
+ "TILE_SIZE": 16,
2582
+ "WORKGROUP_SIZE": 128
2583
+ },
2584
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2585
+ "entry": "main",
2586
+ "kernel": "matmul_q4_0_tile64.wgsl",
2587
+ "op": "linear_qkv_proj",
2588
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
2589
+ },
2590
+ {
2591
+ "constants": {
2592
+ "BLOCK_BYTES": 18,
2593
+ "BLOCK_VALUES": 32,
2594
+ "COLS_PER_WG": 4,
2595
+ "QUANT_FORMAT": 0,
2596
+ "THREADS_PER_COL_GEMV": 32,
2597
+ "TILE_SIZE": 16,
2598
+ "WORKGROUP_SIZE": 128
2599
+ },
2600
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2601
+ "entry": "main",
2602
+ "kernel": "matmul_q4_0_tile64.wgsl",
2603
+ "op": "linear_z_proj",
2604
+ "weights": "layer.{L}.linear_attn.in_proj_z"
2605
+ },
2606
+ {
2607
+ "constants": {
2608
+ "BLOCK_BYTES": 18,
2609
+ "BLOCK_VALUES": 32,
2610
+ "COLS_PER_WG": 4,
2611
+ "QUANT_FORMAT": 0,
2612
+ "THREADS_PER_COL_GEMV": 32,
2613
+ "TILE_SIZE": 16,
2614
+ "WORKGROUP_SIZE": 128
2615
+ },
2616
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2617
+ "entry": "main",
2618
+ "kernel": "matmul_q4_0_tile64.wgsl",
2619
+ "op": "linear_out_proj",
2620
+ "weights": "layer.{L}.linear_attn.out_proj"
2621
+ },
2622
+ {
2623
+ "op": "moe_grouped_sort",
2624
+ "kernel": "moe_grouped_sort.wgsl",
2625
+ "entry": "main",
2626
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
2627
+ },
2628
+ {
2629
+ "op": "moe_grouped_gu",
2630
+ "kernel": "moe_grouped_matmul_f32.wgsl",
2631
+ "entry": "main",
2632
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
2633
+ },
2634
+ {
2635
+ "op": "moe_grouped_down",
2636
+ "kernel": "moe_grouped_matmul_f32.wgsl",
2637
+ "entry": "main",
2638
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
2639
+ }
2640
+ ]
2641
+ }
2642
+ },
2643
+ {
2644
+ "layers": [
2645
+ 6,
2646
+ 14,
2647
+ 18,
2648
+ 26,
2649
+ 30
2650
+ ],
2651
+ "decode": {
2652
+ "steps": [
2653
+ {
2654
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2655
+ "entry": "main",
2656
+ "kernel": "rmsnorm.wgsl",
2657
+ "op": "input_norm"
2658
+ },
2659
+ {
2660
+ "constants": {
2661
+ "WORKGROUP_SIZE": 128,
2662
+ "ROWS": 1,
2663
+ "BLOCK_VALUES": 32,
2664
+ "BLOCK_BYTES": 34,
2665
+ "QUANT_FORMAT": 2
2666
+ },
2667
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2668
+ "entry": "main",
2669
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2670
+ "op": "k_proj",
2671
+ "weights": "layer.{L}.self_attn.k_proj"
2672
+ },
2673
+ {
2674
+ "constants": {
2675
+ "WORKGROUP_SIZE": 128,
2676
+ "ROWS": 1,
2677
+ "BLOCK_VALUES": 32,
2678
+ "BLOCK_BYTES": 34,
2679
+ "QUANT_FORMAT": 2
2680
+ },
2681
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2682
+ "entry": "main",
2683
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2684
+ "op": "v_proj",
2685
+ "weights": "layer.{L}.self_attn.v_proj"
2686
+ },
2687
+ {
2688
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2689
+ "entry": "main",
2690
+ "kernel": "rope.wgsl",
2691
+ "op": "rope_q"
2692
+ },
2693
+ {
2694
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2695
+ "entry": "main",
2696
+ "kernel": "rope.wgsl",
2697
+ "op": "rope_k"
2698
+ },
2699
+ {
2700
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
2701
+ "entry": "main",
2702
+ "kernel": "attention_decode_gqa_splitk.wgsl",
2703
+ "op": "attention",
2704
+ "precision": {
2705
+ "activationDtype": "f32",
2706
+ "kvDtype": "f32"
2707
+ }
2708
+ },
2709
+ {
2710
+ "constants": {
2711
+ "WORKGROUP_SIZE": 128,
2712
+ "ROWS": 1,
2713
+ "BLOCK_VALUES": 32,
2714
+ "BLOCK_BYTES": 18,
2715
+ "QUANT_FORMAT": 0
2716
+ },
2717
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2718
+ "entry": "main",
2719
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2720
+ "op": "o_proj",
2721
+ "weights": "layer.{L}.self_attn.o_proj"
2722
+ },
2723
+ {
2724
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2725
+ "entry": "main",
2726
+ "kernel": "residual.wgsl",
2727
+ "op": "attn_residual"
2728
+ },
2729
+ {
2730
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2731
+ "entry": "main",
2732
+ "kernel": "rmsnorm.wgsl",
2733
+ "op": "post_attn_norm"
2734
+ },
2735
+ {
2736
+ "constants": {
2737
+ "BLOCK_BYTES": 22,
2738
+ "BLOCK_VALUES": 32,
2739
+ "COLS_PER_WG": 4,
2740
+ "QUANT_FORMAT": 4,
2741
+ "THREADS_PER_COL_GEMV": 32,
2742
+ "TILE_SIZE": 16,
2743
+ "WORKGROUP_SIZE": 128
2744
+ },
2745
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
2746
+ "entry": "cooperative",
2747
+ "kernel": "matmul_q4_0.wgsl",
2748
+ "op": "gate_proj",
2749
+ "weights": "layer.{L}.mlp.gate_proj"
2750
+ },
2751
+ {
2752
+ "constants": {
2753
+ "BLOCK_BYTES": 22,
2754
+ "BLOCK_VALUES": 32,
2755
+ "COLS_PER_WG": 4,
2756
+ "QUANT_FORMAT": 4,
2757
+ "THREADS_PER_COL_GEMV": 32,
2758
+ "TILE_SIZE": 16,
2759
+ "WORKGROUP_SIZE": 128
2760
+ },
2761
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
2762
+ "entry": "cooperative",
2763
+ "kernel": "matmul_q4_0.wgsl",
2764
+ "op": "up_proj",
2765
+ "weights": "layer.{L}.mlp.up_proj"
2766
+ },
2767
+ {
2768
+ "constants": {
2769
+ "HAS_GATE": true
2770
+ },
2771
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
2772
+ "entry": "main",
2773
+ "kernel": "silu.wgsl",
2774
+ "op": "activation"
2775
+ },
2776
+ {
2777
+ "constants": {
2778
+ "BLOCK_BYTES": 22,
2779
+ "BLOCK_VALUES": 32,
2780
+ "COLS_PER_WG": 4,
2781
+ "QUANT_FORMAT": 4,
2782
+ "THREADS_PER_COL_GEMV": 32,
2783
+ "TILE_SIZE": 16,
2784
+ "WORKGROUP_SIZE": 128
2785
+ },
2786
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
2787
+ "entry": "cooperative",
2788
+ "kernel": "matmul_q4_0.wgsl",
2789
+ "op": "down_proj",
2790
+ "weights": "layer.{L}.mlp.down_proj"
2791
+ },
2792
+ {
2793
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2794
+ "entry": "main",
2795
+ "kernel": "residual.wgsl",
2796
+ "op": "ffn_residual"
2797
+ },
2798
+ {
2799
+ "op": "linear_norm_ab",
2800
+ "kernel": "linear_norm_ab_f32.wgsl",
2801
+ "entry": "single_pass",
2802
+ "digest": "sha256:ac4aa1763865ade33bcb261b407e5466392b89a7e45c30514138ab4da919d554"
2803
+ },
2804
+ {
2805
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2806
+ "entry": "main",
2807
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2808
+ "op": "linear_a_proj"
2809
+ },
2810
+ {
2811
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2812
+ "entry": "main",
2813
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2814
+ "op": "linear_b_proj"
2815
+ },
2816
+ {
2817
+ "constants": {
2818
+ "WORKGROUP_SIZE": 128,
2819
+ "ROWS": 1,
2820
+ "BLOCK_VALUES": 32,
2821
+ "BLOCK_BYTES": 18,
2822
+ "QUANT_FORMAT": 0
2823
+ },
2824
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2825
+ "entry": "main",
2826
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2827
+ "op": "linear_qkv_proj",
2828
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
2829
+ },
2830
+ {
2831
+ "constants": {
2832
+ "WORKGROUP_SIZE": 128,
2833
+ "ROWS": 1,
2834
+ "BLOCK_VALUES": 32,
2835
+ "BLOCK_BYTES": 18,
2836
+ "QUANT_FORMAT": 0
2837
+ },
2838
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2839
+ "entry": "main",
2840
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2841
+ "op": "linear_z_proj",
2842
+ "weights": "layer.{L}.linear_attn.in_proj_z"
2843
+ },
2844
+ {
2845
+ "constants": {
2846
+ "WORKGROUP_SIZE": 128,
2847
+ "ROWS": 1,
2848
+ "BLOCK_VALUES": 32,
2849
+ "BLOCK_BYTES": 34,
2850
+ "QUANT_FORMAT": 2
2851
+ },
2852
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
2853
+ "entry": "main",
2854
+ "kernel": "matmul_gguf_pair_f32.wgsl",
2855
+ "op": "linear_out_proj",
2856
+ "weights": "layer.{L}.linear_attn.out_proj"
2857
+ },
2858
+ {
2859
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
2860
+ "entry": "main",
2861
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
2862
+ "op": "moe_shared_slot_gu"
2863
+ },
2864
+ {
2865
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
2866
+ "entry": "main",
2867
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
2868
+ "op": "moe_shared_slot_down"
2869
+ },
2870
+ {
2871
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
2872
+ "entry": "single_pass",
2873
+ "kernel": "moe_norm_router_f32.wgsl",
2874
+ "op": "moe_norm_router"
2875
+ },
2876
+ {
2877
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2878
+ "entry": "main",
2879
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2880
+ "op": "moe_router"
2881
+ },
2882
+ {
2883
+ "op": "moe_topk",
2884
+ "kernel": "softmax_topk_logit_rank.wgsl",
2885
+ "entry": "main",
2886
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
2887
+ },
2888
+ {
2889
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
2890
+ "entry": "main",
2891
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
2892
+ "op": "moe_shared_router"
2893
+ }
2894
+ ]
2895
+ },
2896
+ "prefill": {
2897
+ "steps": [
2898
+ {
2899
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2900
+ "entry": "main",
2901
+ "kernel": "rmsnorm.wgsl",
2902
+ "op": "input_norm"
2903
+ },
2904
+ {
2905
+ "constants": {
2906
+ "BLOCK_BYTES": 34,
2907
+ "BLOCK_VALUES": 32,
2908
+ "COLS_PER_WG": 4,
2909
+ "QUANT_FORMAT": 2,
2910
+ "THREADS_PER_COL_GEMV": 32,
2911
+ "TILE_SIZE": 16,
2912
+ "WORKGROUP_SIZE": 128
2913
+ },
2914
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2915
+ "entry": "main",
2916
+ "kernel": "matmul_q4_0_tile64.wgsl",
2917
+ "op": "k_proj",
2918
+ "weights": "layer.{L}.self_attn.k_proj"
2919
+ },
2920
+ {
2921
+ "constants": {
2922
+ "BLOCK_BYTES": 34,
2923
+ "BLOCK_VALUES": 32,
2924
+ "COLS_PER_WG": 4,
2925
+ "QUANT_FORMAT": 2,
2926
+ "THREADS_PER_COL_GEMV": 32,
2927
+ "TILE_SIZE": 16,
2928
+ "WORKGROUP_SIZE": 128
2929
+ },
2930
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2931
+ "entry": "main",
2932
+ "kernel": "matmul_q4_0_tile64.wgsl",
2933
+ "op": "v_proj",
2934
+ "weights": "layer.{L}.self_attn.v_proj"
2935
+ },
2936
+ {
2937
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2938
+ "entry": "main",
2939
+ "kernel": "rope.wgsl",
2940
+ "op": "rope_q"
2941
+ },
2942
+ {
2943
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
2944
+ "entry": "main",
2945
+ "kernel": "rope.wgsl",
2946
+ "op": "rope_k"
2947
+ },
2948
+ {
2949
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
2950
+ "entry": "main",
2951
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
2952
+ "op": "attention",
2953
+ "precision": {
2954
+ "activationDtype": "f32",
2955
+ "kvDtype": "f32"
2956
+ },
2957
+ "constants": {
2958
+ "HEAD_DIM": 256,
2959
+ "WORKGROUP_SIZE": 512,
2960
+ "QUERY_TILE": 16
2961
+ }
2962
+ },
2963
+ {
2964
+ "constants": {
2965
+ "BLOCK_BYTES": 18,
2966
+ "BLOCK_VALUES": 32,
2967
+ "COLS_PER_WG": 4,
2968
+ "QUANT_FORMAT": 0,
2969
+ "THREADS_PER_COL_GEMV": 32,
2970
+ "TILE_SIZE": 16,
2971
+ "WORKGROUP_SIZE": 128
2972
+ },
2973
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
2974
+ "entry": "main",
2975
+ "kernel": "matmul_q4_0_tile64.wgsl",
2976
+ "op": "o_proj",
2977
+ "weights": "layer.{L}.self_attn.o_proj"
2978
+ },
2979
+ {
2980
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
2981
+ "entry": "main",
2982
+ "kernel": "residual.wgsl",
2983
+ "op": "attn_residual"
2984
+ },
2985
+ {
2986
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
2987
+ "entry": "main",
2988
+ "kernel": "rmsnorm.wgsl",
2989
+ "op": "post_attn_norm"
2990
+ },
2991
+ {
2992
+ "constants": {
2993
+ "BLOCK_BYTES": 22,
2994
+ "BLOCK_VALUES": 32,
2995
+ "COLS_PER_WG": 4,
2996
+ "QUANT_FORMAT": 4,
2997
+ "THREADS_PER_COL_GEMV": 32,
2998
+ "TILE_SIZE": 16,
2999
+ "WORKGROUP_SIZE": 128
3000
+ },
3001
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3002
+ "entry": "main",
3003
+ "kernel": "matmul_q4_0_tile64.wgsl",
3004
+ "op": "gate_proj",
3005
+ "weights": "layer.{L}.mlp.gate_proj"
3006
+ },
3007
+ {
3008
+ "constants": {
3009
+ "BLOCK_BYTES": 22,
3010
+ "BLOCK_VALUES": 32,
3011
+ "COLS_PER_WG": 4,
3012
+ "QUANT_FORMAT": 4,
3013
+ "THREADS_PER_COL_GEMV": 32,
3014
+ "TILE_SIZE": 16,
3015
+ "WORKGROUP_SIZE": 128
3016
+ },
3017
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3018
+ "entry": "main",
3019
+ "kernel": "matmul_q4_0_tile64.wgsl",
3020
+ "op": "up_proj",
3021
+ "weights": "layer.{L}.mlp.up_proj"
3022
+ },
3023
+ {
3024
+ "constants": {
3025
+ "HAS_GATE": true
3026
+ },
3027
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
3028
+ "entry": "main",
3029
+ "kernel": "silu.wgsl",
3030
+ "op": "activation"
3031
+ },
3032
+ {
3033
+ "constants": {
3034
+ "BLOCK_BYTES": 22,
3035
+ "BLOCK_VALUES": 32,
3036
+ "COLS_PER_WG": 4,
3037
+ "QUANT_FORMAT": 4,
3038
+ "THREADS_PER_COL_GEMV": 32,
3039
+ "TILE_SIZE": 16,
3040
+ "WORKGROUP_SIZE": 128
3041
+ },
3042
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3043
+ "entry": "main",
3044
+ "kernel": "matmul_q4_0_tile64.wgsl",
3045
+ "op": "down_proj",
3046
+ "weights": "layer.{L}.mlp.down_proj"
3047
+ },
3048
+ {
3049
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3050
+ "entry": "main",
3051
+ "kernel": "residual.wgsl",
3052
+ "op": "ffn_residual"
3053
+ },
3054
+ {
3055
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
3056
+ "entry": "main",
3057
+ "kernel": "matmul_f32.wgsl",
3058
+ "op": "linear_a_proj",
3059
+ "weights": "layer.{L}.linear_attn.in_proj_a"
3060
+ },
3061
+ {
3062
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
3063
+ "entry": "main",
3064
+ "kernel": "matmul_f32.wgsl",
3065
+ "op": "linear_b_proj",
3066
+ "weights": "layer.{L}.linear_attn.in_proj_b"
3067
+ },
3068
+ {
3069
+ "constants": {
3070
+ "BLOCK_BYTES": 18,
3071
+ "BLOCK_VALUES": 32,
3072
+ "COLS_PER_WG": 4,
3073
+ "QUANT_FORMAT": 0,
3074
+ "THREADS_PER_COL_GEMV": 32,
3075
+ "TILE_SIZE": 16,
3076
+ "WORKGROUP_SIZE": 128
3077
+ },
3078
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3079
+ "entry": "main",
3080
+ "kernel": "matmul_q4_0_tile64.wgsl",
3081
+ "op": "linear_qkv_proj",
3082
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
3083
+ },
3084
+ {
3085
+ "constants": {
3086
+ "BLOCK_BYTES": 18,
3087
+ "BLOCK_VALUES": 32,
3088
+ "COLS_PER_WG": 4,
3089
+ "QUANT_FORMAT": 0,
3090
+ "THREADS_PER_COL_GEMV": 32,
3091
+ "TILE_SIZE": 16,
3092
+ "WORKGROUP_SIZE": 128
3093
+ },
3094
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3095
+ "entry": "main",
3096
+ "kernel": "matmul_q4_0_tile64.wgsl",
3097
+ "op": "linear_z_proj",
3098
+ "weights": "layer.{L}.linear_attn.in_proj_z"
3099
+ },
3100
+ {
3101
+ "constants": {
3102
+ "BLOCK_BYTES": 34,
3103
+ "BLOCK_VALUES": 32,
3104
+ "COLS_PER_WG": 4,
3105
+ "QUANT_FORMAT": 2,
3106
+ "THREADS_PER_COL_GEMV": 32,
3107
+ "TILE_SIZE": 16,
3108
+ "WORKGROUP_SIZE": 128
3109
+ },
3110
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3111
+ "entry": "main",
3112
+ "kernel": "matmul_q4_0_tile64.wgsl",
3113
+ "op": "linear_out_proj",
3114
+ "weights": "layer.{L}.linear_attn.out_proj"
3115
+ },
3116
+ {
3117
+ "op": "moe_grouped_sort",
3118
+ "kernel": "moe_grouped_sort.wgsl",
3119
+ "entry": "main",
3120
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
3121
+ },
3122
+ {
3123
+ "op": "moe_grouped_gu",
3124
+ "kernel": "moe_grouped_matmul_f32.wgsl",
3125
+ "entry": "main",
3126
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
3127
+ },
3128
+ {
3129
+ "op": "moe_grouped_down",
3130
+ "kernel": "moe_grouped_matmul_f32.wgsl",
3131
+ "entry": "main",
3132
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
3133
+ }
3134
+ ]
3135
+ }
3136
+ },
3137
+ {
3138
+ "layers": [
3139
+ 7,
3140
+ 19,
3141
+ 31,
3142
+ 35
3143
+ ],
3144
+ "decode": {
3145
+ "steps": [
3146
+ {
3147
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3148
+ "entry": "main",
3149
+ "kernel": "rmsnorm.wgsl",
3150
+ "op": "input_norm"
3151
+ },
3152
+ {
3153
+ "constants": {
3154
+ "WORKGROUP_SIZE": 128,
3155
+ "ROWS": 1,
3156
+ "BLOCK_VALUES": 32,
3157
+ "BLOCK_BYTES": 18,
3158
+ "QUANT_FORMAT": 0
3159
+ },
3160
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3161
+ "entry": "main",
3162
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3163
+ "op": "q_proj",
3164
+ "weights": "layer.{L}.self_attn.q_proj"
3165
+ },
3166
+ {
3167
+ "constants": {
3168
+ "WORKGROUP_SIZE": 128,
3169
+ "ROWS": 1,
3170
+ "BLOCK_VALUES": 32,
3171
+ "BLOCK_BYTES": 34,
3172
+ "QUANT_FORMAT": 2
3173
+ },
3174
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3175
+ "entry": "main",
3176
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3177
+ "op": "k_proj",
3178
+ "weights": "layer.{L}.self_attn.k_proj"
3179
+ },
3180
+ {
3181
+ "constants": {
3182
+ "WORKGROUP_SIZE": 128,
3183
+ "ROWS": 1,
3184
+ "BLOCK_VALUES": 32,
3185
+ "BLOCK_BYTES": 34,
3186
+ "QUANT_FORMAT": 2
3187
+ },
3188
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3189
+ "entry": "main",
3190
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3191
+ "op": "v_proj",
3192
+ "weights": "layer.{L}.self_attn.v_proj"
3193
+ },
3194
+ {
3195
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3196
+ "entry": "main",
3197
+ "kernel": "rope.wgsl",
3198
+ "op": "rope_q"
3199
+ },
3200
+ {
3201
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3202
+ "entry": "main",
3203
+ "kernel": "rope.wgsl",
3204
+ "op": "rope_k"
3205
+ },
3206
+ {
3207
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
3208
+ "entry": "main",
3209
+ "kernel": "attention_decode_gqa_splitk.wgsl",
3210
+ "op": "attention",
3211
+ "precision": {
3212
+ "activationDtype": "f32",
3213
+ "kvDtype": "f32"
3214
+ }
3215
+ },
3216
+ {
3217
+ "constants": {
3218
+ "WORKGROUP_SIZE": 128,
3219
+ "ROWS": 1,
3220
+ "BLOCK_VALUES": 32,
3221
+ "BLOCK_BYTES": 18,
3222
+ "QUANT_FORMAT": 0
3223
+ },
3224
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3225
+ "entry": "main",
3226
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3227
+ "op": "o_proj",
3228
+ "weights": "layer.{L}.self_attn.o_proj"
3229
+ },
3230
+ {
3231
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3232
+ "entry": "main",
3233
+ "kernel": "residual.wgsl",
3234
+ "op": "attn_residual"
3235
+ },
3236
+ {
3237
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3238
+ "entry": "main",
3239
+ "kernel": "rmsnorm.wgsl",
3240
+ "op": "post_attn_norm"
3241
+ },
3242
+ {
3243
+ "constants": {
3244
+ "WORKGROUP_SIZE": 128,
3245
+ "ROWS": 1,
3246
+ "BLOCK_VALUES": 32,
3247
+ "BLOCK_BYTES": 34,
3248
+ "QUANT_FORMAT": 2
3249
+ },
3250
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3251
+ "entry": "main",
3252
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3253
+ "op": "gate_proj",
3254
+ "weights": "layer.{L}.mlp.gate_proj"
3255
+ },
3256
+ {
3257
+ "constants": {
3258
+ "WORKGROUP_SIZE": 128,
3259
+ "ROWS": 1,
3260
+ "BLOCK_VALUES": 32,
3261
+ "BLOCK_BYTES": 34,
3262
+ "QUANT_FORMAT": 2
3263
+ },
3264
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3265
+ "entry": "main",
3266
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3267
+ "op": "up_proj",
3268
+ "weights": "layer.{L}.mlp.up_proj"
3269
+ },
3270
+ {
3271
+ "constants": {
3272
+ "HAS_GATE": true
3273
+ },
3274
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
3275
+ "entry": "main",
3276
+ "kernel": "silu.wgsl",
3277
+ "op": "activation"
3278
+ },
3279
+ {
3280
+ "constants": {
3281
+ "WORKGROUP_SIZE": 128,
3282
+ "ROWS": 1,
3283
+ "BLOCK_VALUES": 32,
3284
+ "BLOCK_BYTES": 34,
3285
+ "QUANT_FORMAT": 2
3286
+ },
3287
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3288
+ "entry": "main",
3289
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3290
+ "op": "down_proj",
3291
+ "weights": "layer.{L}.mlp.down_proj"
3292
+ },
3293
+ {
3294
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3295
+ "entry": "main",
3296
+ "kernel": "residual.wgsl",
3297
+ "op": "ffn_residual"
3298
+ },
3299
+ {
3300
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3301
+ "entry": "main",
3302
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3303
+ "op": "linear_a_proj"
3304
+ },
3305
+ {
3306
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3307
+ "entry": "main",
3308
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3309
+ "op": "linear_b_proj"
3310
+ },
3311
+ {
3312
+ "constants": {
3313
+ "WORKGROUP_SIZE": 128,
3314
+ "ROWS": 1,
3315
+ "BLOCK_VALUES": 32,
3316
+ "BLOCK_BYTES": 18,
3317
+ "QUANT_FORMAT": 0
3318
+ },
3319
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3320
+ "entry": "main",
3321
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3322
+ "op": "linear_qkv_proj",
3323
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
3324
+ },
3325
+ {
3326
+ "constants": {
3327
+ "WORKGROUP_SIZE": 128,
3328
+ "ROWS": 1,
3329
+ "BLOCK_VALUES": 32,
3330
+ "BLOCK_BYTES": 18,
3331
+ "QUANT_FORMAT": 0
3332
+ },
3333
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3334
+ "entry": "main",
3335
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3336
+ "op": "linear_z_proj",
3337
+ "weights": "layer.{L}.linear_attn.in_proj_z"
3338
+ },
3339
+ {
3340
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
3341
+ "entry": "main",
3342
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
3343
+ "op": "moe_shared_slot_gu"
3344
+ },
3345
+ {
3346
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
3347
+ "entry": "main",
3348
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
3349
+ "op": "moe_shared_slot_down"
3350
+ },
3351
+ {
3352
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
3353
+ "entry": "single_pass",
3354
+ "kernel": "moe_norm_router_f32.wgsl",
3355
+ "op": "moe_norm_router"
3356
+ },
3357
+ {
3358
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3359
+ "entry": "main",
3360
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3361
+ "op": "moe_router"
3362
+ },
3363
+ {
3364
+ "op": "moe_topk",
3365
+ "kernel": "softmax_topk_logit_rank.wgsl",
3366
+ "entry": "main",
3367
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
3368
+ },
3369
+ {
3370
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3371
+ "entry": "main",
3372
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3373
+ "op": "moe_shared_router"
3374
+ }
3375
+ ]
3376
+ },
3377
+ "prefill": {
3378
+ "steps": [
3379
+ {
3380
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3381
+ "entry": "main",
3382
+ "kernel": "rmsnorm.wgsl",
3383
+ "op": "input_norm"
3384
+ },
3385
+ {
3386
+ "constants": {
3387
+ "BLOCK_BYTES": 18,
3388
+ "BLOCK_VALUES": 32,
3389
+ "COLS_PER_WG": 4,
3390
+ "QUANT_FORMAT": 0,
3391
+ "THREADS_PER_COL_GEMV": 32,
3392
+ "TILE_SIZE": 16,
3393
+ "WORKGROUP_SIZE": 128
3394
+ },
3395
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3396
+ "entry": "main",
3397
+ "kernel": "matmul_q4_0_tile64.wgsl",
3398
+ "op": "q_proj",
3399
+ "weights": "layer.{L}.self_attn.q_proj"
3400
+ },
3401
+ {
3402
+ "constants": {
3403
+ "BLOCK_BYTES": 34,
3404
+ "BLOCK_VALUES": 32,
3405
+ "COLS_PER_WG": 4,
3406
+ "QUANT_FORMAT": 2,
3407
+ "THREADS_PER_COL_GEMV": 32,
3408
+ "TILE_SIZE": 16,
3409
+ "WORKGROUP_SIZE": 128
3410
+ },
3411
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3412
+ "entry": "main",
3413
+ "kernel": "matmul_q4_0_tile64.wgsl",
3414
+ "op": "k_proj",
3415
+ "weights": "layer.{L}.self_attn.k_proj"
3416
+ },
3417
+ {
3418
+ "constants": {
3419
+ "BLOCK_BYTES": 34,
3420
+ "BLOCK_VALUES": 32,
3421
+ "COLS_PER_WG": 4,
3422
+ "QUANT_FORMAT": 2,
3423
+ "THREADS_PER_COL_GEMV": 32,
3424
+ "TILE_SIZE": 16,
3425
+ "WORKGROUP_SIZE": 128
3426
+ },
3427
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3428
+ "entry": "main",
3429
+ "kernel": "matmul_q4_0_tile64.wgsl",
3430
+ "op": "v_proj",
3431
+ "weights": "layer.{L}.self_attn.v_proj"
3432
+ },
3433
+ {
3434
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3435
+ "entry": "main",
3436
+ "kernel": "rope.wgsl",
3437
+ "op": "rope_q"
3438
+ },
3439
+ {
3440
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3441
+ "entry": "main",
3442
+ "kernel": "rope.wgsl",
3443
+ "op": "rope_k"
3444
+ },
3445
+ {
3446
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
3447
+ "entry": "main",
3448
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
3449
+ "op": "attention",
3450
+ "precision": {
3451
+ "activationDtype": "f32",
3452
+ "kvDtype": "f32"
3453
+ },
3454
+ "constants": {
3455
+ "HEAD_DIM": 256,
3456
+ "WORKGROUP_SIZE": 512,
3457
+ "QUERY_TILE": 16
3458
+ }
3459
+ },
3460
+ {
3461
+ "constants": {
3462
+ "BLOCK_BYTES": 18,
3463
+ "BLOCK_VALUES": 32,
3464
+ "COLS_PER_WG": 4,
3465
+ "QUANT_FORMAT": 0,
3466
+ "THREADS_PER_COL_GEMV": 32,
3467
+ "TILE_SIZE": 16,
3468
+ "WORKGROUP_SIZE": 128
3469
+ },
3470
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3471
+ "entry": "main",
3472
+ "kernel": "matmul_q4_0_tile64.wgsl",
3473
+ "op": "o_proj",
3474
+ "weights": "layer.{L}.self_attn.o_proj"
3475
+ },
3476
+ {
3477
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3478
+ "entry": "main",
3479
+ "kernel": "residual.wgsl",
3480
+ "op": "attn_residual"
3481
+ },
3482
+ {
3483
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3484
+ "entry": "main",
3485
+ "kernel": "rmsnorm.wgsl",
3486
+ "op": "post_attn_norm"
3487
+ },
3488
+ {
3489
+ "constants": {
3490
+ "BLOCK_BYTES": 34,
3491
+ "BLOCK_VALUES": 32,
3492
+ "COLS_PER_WG": 4,
3493
+ "QUANT_FORMAT": 2,
3494
+ "THREADS_PER_COL_GEMV": 32,
3495
+ "TILE_SIZE": 16,
3496
+ "WORKGROUP_SIZE": 128
3497
+ },
3498
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3499
+ "entry": "main",
3500
+ "kernel": "matmul_q4_0_tile64.wgsl",
3501
+ "op": "gate_proj",
3502
+ "weights": "layer.{L}.mlp.gate_proj"
3503
+ },
3504
+ {
3505
+ "constants": {
3506
+ "BLOCK_BYTES": 34,
3507
+ "BLOCK_VALUES": 32,
3508
+ "COLS_PER_WG": 4,
3509
+ "QUANT_FORMAT": 2,
3510
+ "THREADS_PER_COL_GEMV": 32,
3511
+ "TILE_SIZE": 16,
3512
+ "WORKGROUP_SIZE": 128
3513
+ },
3514
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3515
+ "entry": "main",
3516
+ "kernel": "matmul_q4_0_tile64.wgsl",
3517
+ "op": "up_proj",
3518
+ "weights": "layer.{L}.mlp.up_proj"
3519
+ },
3520
+ {
3521
+ "constants": {
3522
+ "HAS_GATE": true
3523
+ },
3524
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
3525
+ "entry": "main",
3526
+ "kernel": "silu.wgsl",
3527
+ "op": "activation"
3528
+ },
3529
+ {
3530
+ "constants": {
3531
+ "BLOCK_BYTES": 34,
3532
+ "BLOCK_VALUES": 32,
3533
+ "COLS_PER_WG": 4,
3534
+ "QUANT_FORMAT": 2,
3535
+ "THREADS_PER_COL_GEMV": 32,
3536
+ "TILE_SIZE": 16,
3537
+ "WORKGROUP_SIZE": 128
3538
+ },
3539
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3540
+ "entry": "main",
3541
+ "kernel": "matmul_q4_0_tile64.wgsl",
3542
+ "op": "down_proj",
3543
+ "weights": "layer.{L}.mlp.down_proj"
3544
+ },
3545
+ {
3546
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3547
+ "entry": "main",
3548
+ "kernel": "residual.wgsl",
3549
+ "op": "ffn_residual"
3550
+ },
3551
+ {
3552
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
3553
+ "entry": "main",
3554
+ "kernel": "matmul_f32.wgsl",
3555
+ "op": "linear_a_proj",
3556
+ "weights": "layer.{L}.linear_attn.in_proj_a"
3557
+ },
3558
+ {
3559
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
3560
+ "entry": "main",
3561
+ "kernel": "matmul_f32.wgsl",
3562
+ "op": "linear_b_proj",
3563
+ "weights": "layer.{L}.linear_attn.in_proj_b"
3564
+ },
3565
+ {
3566
+ "constants": {
3567
+ "BLOCK_BYTES": 18,
3568
+ "BLOCK_VALUES": 32,
3569
+ "COLS_PER_WG": 4,
3570
+ "QUANT_FORMAT": 0,
3571
+ "THREADS_PER_COL_GEMV": 32,
3572
+ "TILE_SIZE": 16,
3573
+ "WORKGROUP_SIZE": 128
3574
+ },
3575
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3576
+ "entry": "main",
3577
+ "kernel": "matmul_q4_0_tile64.wgsl",
3578
+ "op": "linear_qkv_proj",
3579
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
3580
+ },
3581
+ {
3582
+ "constants": {
3583
+ "BLOCK_BYTES": 18,
3584
+ "BLOCK_VALUES": 32,
3585
+ "COLS_PER_WG": 4,
3586
+ "QUANT_FORMAT": 0,
3587
+ "THREADS_PER_COL_GEMV": 32,
3588
+ "TILE_SIZE": 16,
3589
+ "WORKGROUP_SIZE": 128
3590
+ },
3591
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3592
+ "entry": "main",
3593
+ "kernel": "matmul_q4_0_tile64.wgsl",
3594
+ "op": "linear_z_proj",
3595
+ "weights": "layer.{L}.linear_attn.in_proj_z"
3596
+ },
3597
+ {
3598
+ "op": "moe_grouped_sort",
3599
+ "kernel": "moe_grouped_sort.wgsl",
3600
+ "entry": "main",
3601
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
3602
+ },
3603
+ {
3604
+ "op": "moe_grouped_gu",
3605
+ "kernel": "moe_grouped_matmul_f32.wgsl",
3606
+ "entry": "main",
3607
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
3608
+ },
3609
+ {
3610
+ "op": "moe_grouped_down",
3611
+ "kernel": "moe_grouped_matmul_f32.wgsl",
3612
+ "entry": "main",
3613
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
3614
+ }
3615
+ ]
3616
+ }
3617
+ },
3618
+ {
3619
+ "layers": [
3620
+ 11,
3621
+ 23
3622
+ ],
3623
+ "decode": {
3624
+ "steps": [
3625
+ {
3626
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3627
+ "entry": "main",
3628
+ "kernel": "rmsnorm.wgsl",
3629
+ "op": "input_norm"
3630
+ },
3631
+ {
3632
+ "constants": {
3633
+ "WORKGROUP_SIZE": 128,
3634
+ "ROWS": 1,
3635
+ "BLOCK_VALUES": 32,
3636
+ "BLOCK_BYTES": 18,
3637
+ "QUANT_FORMAT": 0
3638
+ },
3639
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3640
+ "entry": "main",
3641
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3642
+ "op": "q_proj",
3643
+ "weights": "layer.{L}.self_attn.q_proj"
3644
+ },
3645
+ {
3646
+ "constants": {
3647
+ "WORKGROUP_SIZE": 128,
3648
+ "ROWS": 1,
3649
+ "BLOCK_VALUES": 32,
3650
+ "BLOCK_BYTES": 34,
3651
+ "QUANT_FORMAT": 2
3652
+ },
3653
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3654
+ "entry": "main",
3655
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3656
+ "op": "k_proj",
3657
+ "weights": "layer.{L}.self_attn.k_proj"
3658
+ },
3659
+ {
3660
+ "constants": {
3661
+ "WORKGROUP_SIZE": 128,
3662
+ "ROWS": 1,
3663
+ "BLOCK_VALUES": 32,
3664
+ "BLOCK_BYTES": 34,
3665
+ "QUANT_FORMAT": 2
3666
+ },
3667
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3668
+ "entry": "main",
3669
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3670
+ "op": "v_proj",
3671
+ "weights": "layer.{L}.self_attn.v_proj"
3672
+ },
3673
+ {
3674
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3675
+ "entry": "main",
3676
+ "kernel": "rope.wgsl",
3677
+ "op": "rope_q"
3678
+ },
3679
+ {
3680
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3681
+ "entry": "main",
3682
+ "kernel": "rope.wgsl",
3683
+ "op": "rope_k"
3684
+ },
3685
+ {
3686
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
3687
+ "entry": "main",
3688
+ "kernel": "attention_decode_gqa_splitk.wgsl",
3689
+ "op": "attention",
3690
+ "precision": {
3691
+ "activationDtype": "f32",
3692
+ "kvDtype": "f32"
3693
+ }
3694
+ },
3695
+ {
3696
+ "constants": {
3697
+ "WORKGROUP_SIZE": 128,
3698
+ "ROWS": 1,
3699
+ "BLOCK_VALUES": 32,
3700
+ "BLOCK_BYTES": 18,
3701
+ "QUANT_FORMAT": 0
3702
+ },
3703
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3704
+ "entry": "main",
3705
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3706
+ "op": "o_proj",
3707
+ "weights": "layer.{L}.self_attn.o_proj"
3708
+ },
3709
+ {
3710
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3711
+ "entry": "main",
3712
+ "kernel": "residual.wgsl",
3713
+ "op": "attn_residual"
3714
+ },
3715
+ {
3716
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3717
+ "entry": "main",
3718
+ "kernel": "rmsnorm.wgsl",
3719
+ "op": "post_attn_norm"
3720
+ },
3721
+ {
3722
+ "constants": {
3723
+ "BLOCK_BYTES": 22,
3724
+ "BLOCK_VALUES": 32,
3725
+ "COLS_PER_WG": 4,
3726
+ "QUANT_FORMAT": 4,
3727
+ "THREADS_PER_COL_GEMV": 32,
3728
+ "TILE_SIZE": 16,
3729
+ "WORKGROUP_SIZE": 128
3730
+ },
3731
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
3732
+ "entry": "cooperative",
3733
+ "kernel": "matmul_q4_0.wgsl",
3734
+ "op": "gate_proj",
3735
+ "weights": "layer.{L}.mlp.gate_proj"
3736
+ },
3737
+ {
3738
+ "constants": {
3739
+ "BLOCK_BYTES": 22,
3740
+ "BLOCK_VALUES": 32,
3741
+ "COLS_PER_WG": 4,
3742
+ "QUANT_FORMAT": 4,
3743
+ "THREADS_PER_COL_GEMV": 32,
3744
+ "TILE_SIZE": 16,
3745
+ "WORKGROUP_SIZE": 128
3746
+ },
3747
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
3748
+ "entry": "cooperative",
3749
+ "kernel": "matmul_q4_0.wgsl",
3750
+ "op": "up_proj",
3751
+ "weights": "layer.{L}.mlp.up_proj"
3752
+ },
3753
+ {
3754
+ "constants": {
3755
+ "HAS_GATE": true
3756
+ },
3757
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
3758
+ "entry": "main",
3759
+ "kernel": "silu.wgsl",
3760
+ "op": "activation"
3761
+ },
3762
+ {
3763
+ "constants": {
3764
+ "BLOCK_BYTES": 22,
3765
+ "BLOCK_VALUES": 32,
3766
+ "COLS_PER_WG": 4,
3767
+ "QUANT_FORMAT": 4,
3768
+ "THREADS_PER_COL_GEMV": 32,
3769
+ "TILE_SIZE": 16,
3770
+ "WORKGROUP_SIZE": 128
3771
+ },
3772
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
3773
+ "entry": "cooperative",
3774
+ "kernel": "matmul_q4_0.wgsl",
3775
+ "op": "down_proj",
3776
+ "weights": "layer.{L}.mlp.down_proj"
3777
+ },
3778
+ {
3779
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3780
+ "entry": "main",
3781
+ "kernel": "residual.wgsl",
3782
+ "op": "ffn_residual"
3783
+ },
3784
+ {
3785
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3786
+ "entry": "main",
3787
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3788
+ "op": "linear_a_proj"
3789
+ },
3790
+ {
3791
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3792
+ "entry": "main",
3793
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3794
+ "op": "linear_b_proj"
3795
+ },
3796
+ {
3797
+ "constants": {
3798
+ "WORKGROUP_SIZE": 128,
3799
+ "ROWS": 1,
3800
+ "BLOCK_VALUES": 32,
3801
+ "BLOCK_BYTES": 18,
3802
+ "QUANT_FORMAT": 0
3803
+ },
3804
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3805
+ "entry": "main",
3806
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3807
+ "op": "linear_qkv_proj",
3808
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
3809
+ },
3810
+ {
3811
+ "constants": {
3812
+ "WORKGROUP_SIZE": 128,
3813
+ "ROWS": 1,
3814
+ "BLOCK_VALUES": 32,
3815
+ "BLOCK_BYTES": 18,
3816
+ "QUANT_FORMAT": 0
3817
+ },
3818
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
3819
+ "entry": "main",
3820
+ "kernel": "matmul_gguf_pair_f32.wgsl",
3821
+ "op": "linear_z_proj",
3822
+ "weights": "layer.{L}.linear_attn.in_proj_z"
3823
+ },
3824
+ {
3825
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
3826
+ "entry": "main",
3827
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
3828
+ "op": "moe_shared_slot_gu"
3829
+ },
3830
+ {
3831
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
3832
+ "entry": "main",
3833
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
3834
+ "op": "moe_shared_slot_down"
3835
+ },
3836
+ {
3837
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
3838
+ "entry": "single_pass",
3839
+ "kernel": "moe_norm_router_f32.wgsl",
3840
+ "op": "moe_norm_router"
3841
+ },
3842
+ {
3843
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3844
+ "entry": "main",
3845
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3846
+ "op": "moe_router"
3847
+ },
3848
+ {
3849
+ "op": "moe_topk",
3850
+ "kernel": "softmax_topk_logit_rank.wgsl",
3851
+ "entry": "main",
3852
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
3853
+ },
3854
+ {
3855
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
3856
+ "entry": "main",
3857
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
3858
+ "op": "moe_shared_router"
3859
+ }
3860
+ ]
3861
+ },
3862
+ "prefill": {
3863
+ "steps": [
3864
+ {
3865
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3866
+ "entry": "main",
3867
+ "kernel": "rmsnorm.wgsl",
3868
+ "op": "input_norm"
3869
+ },
3870
+ {
3871
+ "constants": {
3872
+ "BLOCK_BYTES": 18,
3873
+ "BLOCK_VALUES": 32,
3874
+ "COLS_PER_WG": 4,
3875
+ "QUANT_FORMAT": 0,
3876
+ "THREADS_PER_COL_GEMV": 32,
3877
+ "TILE_SIZE": 16,
3878
+ "WORKGROUP_SIZE": 128
3879
+ },
3880
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3881
+ "entry": "main",
3882
+ "kernel": "matmul_q4_0_tile64.wgsl",
3883
+ "op": "q_proj",
3884
+ "weights": "layer.{L}.self_attn.q_proj"
3885
+ },
3886
+ {
3887
+ "constants": {
3888
+ "BLOCK_BYTES": 34,
3889
+ "BLOCK_VALUES": 32,
3890
+ "COLS_PER_WG": 4,
3891
+ "QUANT_FORMAT": 2,
3892
+ "THREADS_PER_COL_GEMV": 32,
3893
+ "TILE_SIZE": 16,
3894
+ "WORKGROUP_SIZE": 128
3895
+ },
3896
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3897
+ "entry": "main",
3898
+ "kernel": "matmul_q4_0_tile64.wgsl",
3899
+ "op": "k_proj",
3900
+ "weights": "layer.{L}.self_attn.k_proj"
3901
+ },
3902
+ {
3903
+ "constants": {
3904
+ "BLOCK_BYTES": 34,
3905
+ "BLOCK_VALUES": 32,
3906
+ "COLS_PER_WG": 4,
3907
+ "QUANT_FORMAT": 2,
3908
+ "THREADS_PER_COL_GEMV": 32,
3909
+ "TILE_SIZE": 16,
3910
+ "WORKGROUP_SIZE": 128
3911
+ },
3912
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3913
+ "entry": "main",
3914
+ "kernel": "matmul_q4_0_tile64.wgsl",
3915
+ "op": "v_proj",
3916
+ "weights": "layer.{L}.self_attn.v_proj"
3917
+ },
3918
+ {
3919
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3920
+ "entry": "main",
3921
+ "kernel": "rope.wgsl",
3922
+ "op": "rope_q"
3923
+ },
3924
+ {
3925
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
3926
+ "entry": "main",
3927
+ "kernel": "rope.wgsl",
3928
+ "op": "rope_k"
3929
+ },
3930
+ {
3931
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
3932
+ "entry": "main",
3933
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
3934
+ "op": "attention",
3935
+ "precision": {
3936
+ "activationDtype": "f32",
3937
+ "kvDtype": "f32"
3938
+ },
3939
+ "constants": {
3940
+ "HEAD_DIM": 256,
3941
+ "WORKGROUP_SIZE": 512,
3942
+ "QUERY_TILE": 16
3943
+ }
3944
+ },
3945
+ {
3946
+ "constants": {
3947
+ "BLOCK_BYTES": 18,
3948
+ "BLOCK_VALUES": 32,
3949
+ "COLS_PER_WG": 4,
3950
+ "QUANT_FORMAT": 0,
3951
+ "THREADS_PER_COL_GEMV": 32,
3952
+ "TILE_SIZE": 16,
3953
+ "WORKGROUP_SIZE": 128
3954
+ },
3955
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3956
+ "entry": "main",
3957
+ "kernel": "matmul_q4_0_tile64.wgsl",
3958
+ "op": "o_proj",
3959
+ "weights": "layer.{L}.self_attn.o_proj"
3960
+ },
3961
+ {
3962
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
3963
+ "entry": "main",
3964
+ "kernel": "residual.wgsl",
3965
+ "op": "attn_residual"
3966
+ },
3967
+ {
3968
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
3969
+ "entry": "main",
3970
+ "kernel": "rmsnorm.wgsl",
3971
+ "op": "post_attn_norm"
3972
+ },
3973
+ {
3974
+ "constants": {
3975
+ "BLOCK_BYTES": 22,
3976
+ "BLOCK_VALUES": 32,
3977
+ "COLS_PER_WG": 4,
3978
+ "QUANT_FORMAT": 4,
3979
+ "THREADS_PER_COL_GEMV": 32,
3980
+ "TILE_SIZE": 16,
3981
+ "WORKGROUP_SIZE": 128
3982
+ },
3983
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
3984
+ "entry": "main",
3985
+ "kernel": "matmul_q4_0_tile64.wgsl",
3986
+ "op": "gate_proj",
3987
+ "weights": "layer.{L}.mlp.gate_proj"
3988
+ },
3989
+ {
3990
+ "constants": {
3991
+ "BLOCK_BYTES": 22,
3992
+ "BLOCK_VALUES": 32,
3993
+ "COLS_PER_WG": 4,
3994
+ "QUANT_FORMAT": 4,
3995
+ "THREADS_PER_COL_GEMV": 32,
3996
+ "TILE_SIZE": 16,
3997
+ "WORKGROUP_SIZE": 128
3998
+ },
3999
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4000
+ "entry": "main",
4001
+ "kernel": "matmul_q4_0_tile64.wgsl",
4002
+ "op": "up_proj",
4003
+ "weights": "layer.{L}.mlp.up_proj"
4004
+ },
4005
+ {
4006
+ "constants": {
4007
+ "HAS_GATE": true
4008
+ },
4009
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
4010
+ "entry": "main",
4011
+ "kernel": "silu.wgsl",
4012
+ "op": "activation"
4013
+ },
4014
+ {
4015
+ "constants": {
4016
+ "BLOCK_BYTES": 22,
4017
+ "BLOCK_VALUES": 32,
4018
+ "COLS_PER_WG": 4,
4019
+ "QUANT_FORMAT": 4,
4020
+ "THREADS_PER_COL_GEMV": 32,
4021
+ "TILE_SIZE": 16,
4022
+ "WORKGROUP_SIZE": 128
4023
+ },
4024
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4025
+ "entry": "main",
4026
+ "kernel": "matmul_q4_0_tile64.wgsl",
4027
+ "op": "down_proj",
4028
+ "weights": "layer.{L}.mlp.down_proj"
4029
+ },
4030
+ {
4031
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
4032
+ "entry": "main",
4033
+ "kernel": "residual.wgsl",
4034
+ "op": "ffn_residual"
4035
+ },
4036
+ {
4037
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
4038
+ "entry": "main",
4039
+ "kernel": "matmul_f32.wgsl",
4040
+ "op": "linear_a_proj",
4041
+ "weights": "layer.{L}.linear_attn.in_proj_a"
4042
+ },
4043
+ {
4044
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
4045
+ "entry": "main",
4046
+ "kernel": "matmul_f32.wgsl",
4047
+ "op": "linear_b_proj",
4048
+ "weights": "layer.{L}.linear_attn.in_proj_b"
4049
+ },
4050
+ {
4051
+ "constants": {
4052
+ "BLOCK_BYTES": 18,
4053
+ "BLOCK_VALUES": 32,
4054
+ "COLS_PER_WG": 4,
4055
+ "QUANT_FORMAT": 0,
4056
+ "THREADS_PER_COL_GEMV": 32,
4057
+ "TILE_SIZE": 16,
4058
+ "WORKGROUP_SIZE": 128
4059
+ },
4060
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4061
+ "entry": "main",
4062
+ "kernel": "matmul_q4_0_tile64.wgsl",
4063
+ "op": "linear_qkv_proj",
4064
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
4065
+ },
4066
+ {
4067
+ "constants": {
4068
+ "BLOCK_BYTES": 18,
4069
+ "BLOCK_VALUES": 32,
4070
+ "COLS_PER_WG": 4,
4071
+ "QUANT_FORMAT": 0,
4072
+ "THREADS_PER_COL_GEMV": 32,
4073
+ "TILE_SIZE": 16,
4074
+ "WORKGROUP_SIZE": 128
4075
+ },
4076
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4077
+ "entry": "main",
4078
+ "kernel": "matmul_q4_0_tile64.wgsl",
4079
+ "op": "linear_z_proj",
4080
+ "weights": "layer.{L}.linear_attn.in_proj_z"
4081
+ },
4082
+ {
4083
+ "op": "moe_grouped_sort",
4084
+ "kernel": "moe_grouped_sort.wgsl",
4085
+ "entry": "main",
4086
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
4087
+ },
4088
+ {
4089
+ "op": "moe_grouped_gu",
4090
+ "kernel": "moe_grouped_matmul_f32.wgsl",
4091
+ "entry": "main",
4092
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
4093
+ },
4094
+ {
4095
+ "op": "moe_grouped_down",
4096
+ "kernel": "moe_grouped_matmul_f32.wgsl",
4097
+ "entry": "main",
4098
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
4099
+ }
4100
+ ]
4101
+ }
4102
+ },
4103
+ {
4104
+ "layers": [
4105
+ 15,
4106
+ 27
4107
+ ],
4108
+ "decode": {
4109
+ "steps": [
4110
+ {
4111
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
4112
+ "entry": "main",
4113
+ "kernel": "rmsnorm.wgsl",
4114
+ "op": "input_norm"
4115
+ },
4116
+ {
4117
+ "constants": {
4118
+ "WORKGROUP_SIZE": 256,
4119
+ "ROWS": 4,
4120
+ "BLOCK_VALUES": 256,
4121
+ "BLOCK_BYTES": 210,
4122
+ "QUANT_FORMAT": 3
4123
+ },
4124
+ "digest": "sha256:bd465ca37154cf9ac0b0d34f6a9c8f6f1014c8df3fe333d931cfd7eb39d4b7e9",
4125
+ "entry": "main_q6k",
4126
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4127
+ "op": "q_proj",
4128
+ "weights": "layer.{L}.self_attn.q_proj"
4129
+ },
4130
+ {
4131
+ "constants": {
4132
+ "WORKGROUP_SIZE": 128,
4133
+ "ROWS": 1,
4134
+ "BLOCK_VALUES": 32,
4135
+ "BLOCK_BYTES": 34,
4136
+ "QUANT_FORMAT": 2
4137
+ },
4138
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
4139
+ "entry": "main",
4140
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4141
+ "op": "k_proj",
4142
+ "weights": "layer.{L}.self_attn.k_proj"
4143
+ },
4144
+ {
4145
+ "constants": {
4146
+ "WORKGROUP_SIZE": 128,
4147
+ "ROWS": 1,
4148
+ "BLOCK_VALUES": 32,
4149
+ "BLOCK_BYTES": 34,
4150
+ "QUANT_FORMAT": 2
4151
+ },
4152
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
4153
+ "entry": "main",
4154
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4155
+ "op": "v_proj",
4156
+ "weights": "layer.{L}.self_attn.v_proj"
4157
+ },
4158
+ {
4159
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
4160
+ "entry": "main",
4161
+ "kernel": "rope.wgsl",
4162
+ "op": "rope_q"
4163
+ },
4164
+ {
4165
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
4166
+ "entry": "main",
4167
+ "kernel": "rope.wgsl",
4168
+ "op": "rope_k"
4169
+ },
4170
+ {
4171
+ "digest": "sha256:79cff3ef0ce72c9eabfa0611814c7722f21c3d3e502c2884b5bc610e13595c00",
4172
+ "entry": "main",
4173
+ "kernel": "attention_decode_gqa_splitk.wgsl",
4174
+ "op": "attention",
4175
+ "precision": {
4176
+ "activationDtype": "f32",
4177
+ "kvDtype": "f32"
4178
+ }
4179
+ },
4180
+ {
4181
+ "constants": {
4182
+ "WORKGROUP_SIZE": 128,
4183
+ "ROWS": 1,
4184
+ "BLOCK_VALUES": 32,
4185
+ "BLOCK_BYTES": 18,
4186
+ "QUANT_FORMAT": 0
4187
+ },
4188
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
4189
+ "entry": "main",
4190
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4191
+ "op": "o_proj",
4192
+ "weights": "layer.{L}.self_attn.o_proj"
4193
+ },
4194
+ {
4195
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
4196
+ "entry": "main",
4197
+ "kernel": "residual.wgsl",
4198
+ "op": "attn_residual"
4199
+ },
4200
+ {
4201
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
4202
+ "entry": "main",
4203
+ "kernel": "rmsnorm.wgsl",
4204
+ "op": "post_attn_norm"
4205
+ },
4206
+ {
4207
+ "constants": {
4208
+ "BLOCK_BYTES": 22,
4209
+ "BLOCK_VALUES": 32,
4210
+ "COLS_PER_WG": 4,
4211
+ "QUANT_FORMAT": 4,
4212
+ "THREADS_PER_COL_GEMV": 32,
4213
+ "TILE_SIZE": 16,
4214
+ "WORKGROUP_SIZE": 128
4215
+ },
4216
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
4217
+ "entry": "cooperative",
4218
+ "kernel": "matmul_q4_0.wgsl",
4219
+ "op": "gate_proj",
4220
+ "weights": "layer.{L}.mlp.gate_proj"
4221
+ },
4222
+ {
4223
+ "constants": {
4224
+ "BLOCK_BYTES": 22,
4225
+ "BLOCK_VALUES": 32,
4226
+ "COLS_PER_WG": 4,
4227
+ "QUANT_FORMAT": 4,
4228
+ "THREADS_PER_COL_GEMV": 32,
4229
+ "TILE_SIZE": 16,
4230
+ "WORKGROUP_SIZE": 128
4231
+ },
4232
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
4233
+ "entry": "cooperative",
4234
+ "kernel": "matmul_q4_0.wgsl",
4235
+ "op": "up_proj",
4236
+ "weights": "layer.{L}.mlp.up_proj"
4237
+ },
4238
+ {
4239
+ "constants": {
4240
+ "HAS_GATE": true
4241
+ },
4242
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
4243
+ "entry": "main",
4244
+ "kernel": "silu.wgsl",
4245
+ "op": "activation"
4246
+ },
4247
+ {
4248
+ "constants": {
4249
+ "BLOCK_BYTES": 22,
4250
+ "BLOCK_VALUES": 32,
4251
+ "COLS_PER_WG": 4,
4252
+ "QUANT_FORMAT": 4,
4253
+ "THREADS_PER_COL_GEMV": 32,
4254
+ "TILE_SIZE": 16,
4255
+ "WORKGROUP_SIZE": 128
4256
+ },
4257
+ "digest": "sha256:08a77ccd9083790e11d7acac5e08e4e042c6ad10cd6986ff551e5bb3dc83768d",
4258
+ "entry": "cooperative",
4259
+ "kernel": "matmul_q4_0.wgsl",
4260
+ "op": "down_proj",
4261
+ "weights": "layer.{L}.mlp.down_proj"
4262
+ },
4263
+ {
4264
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
4265
+ "entry": "main",
4266
+ "kernel": "residual.wgsl",
4267
+ "op": "ffn_residual"
4268
+ },
4269
+ {
4270
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
4271
+ "entry": "main",
4272
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
4273
+ "op": "linear_a_proj"
4274
+ },
4275
+ {
4276
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
4277
+ "entry": "main",
4278
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
4279
+ "op": "linear_b_proj"
4280
+ },
4281
+ {
4282
+ "constants": {
4283
+ "WORKGROUP_SIZE": 128,
4284
+ "ROWS": 1,
4285
+ "BLOCK_VALUES": 32,
4286
+ "BLOCK_BYTES": 18,
4287
+ "QUANT_FORMAT": 0
4288
+ },
4289
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
4290
+ "entry": "main",
4291
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4292
+ "op": "linear_qkv_proj",
4293
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
4294
+ },
4295
+ {
4296
+ "constants": {
4297
+ "WORKGROUP_SIZE": 128,
4298
+ "ROWS": 1,
4299
+ "BLOCK_VALUES": 32,
4300
+ "BLOCK_BYTES": 18,
4301
+ "QUANT_FORMAT": 0
4302
+ },
4303
+ "digest": "sha256:66f6c5fbd55400a3a84833478dadc217fbe81bac8b13787b3db687823c88617f",
4304
+ "entry": "main",
4305
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4306
+ "op": "linear_z_proj",
4307
+ "weights": "layer.{L}.linear_attn.in_proj_z"
4308
+ },
4309
+ {
4310
+ "digest": "sha256:1a28e076e93486589a3eace88c3cb230ff1ef4aa982fdd91dcc918d00891649b",
4311
+ "entry": "main",
4312
+ "kernel": "moe_shared_slot_gu_pair_f32.wgsl",
4313
+ "op": "moe_shared_slot_gu"
4314
+ },
4315
+ {
4316
+ "digest": "sha256:750bce8b9e6af48729fcb9dc27569590663dc0f85e6625d8de7e3bb3ba3041f2",
4317
+ "entry": "main",
4318
+ "kernel": "moe_shared_slot_down_pair_combine_residual_f32.wgsl",
4319
+ "op": "moe_shared_slot_down"
4320
+ },
4321
+ {
4322
+ "digest": "sha256:87646d02b567b3c13f66245ac222392df92af863da920ce562caa77dd14f2e93",
4323
+ "entry": "single_pass",
4324
+ "kernel": "moe_norm_router_f32.wgsl",
4325
+ "op": "moe_norm_router"
4326
+ },
4327
+ {
4328
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
4329
+ "entry": "main",
4330
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
4331
+ "op": "moe_router"
4332
+ },
4333
+ {
4334
+ "op": "moe_topk",
4335
+ "kernel": "softmax_topk_logit_rank.wgsl",
4336
+ "entry": "main",
4337
+ "digest": "sha256:8b773fa89e891d94b85027980d257bdc667f80c422a01f8e4a311e4b6a1315a2"
4338
+ },
4339
+ {
4340
+ "digest": "sha256:c5920603ff819e8687cb423bfcf19e3082671162beba59516d7d22180e6b756f",
4341
+ "entry": "main",
4342
+ "kernel": "matmul_gemv_f32_subgroup.wgsl",
4343
+ "op": "moe_shared_router"
4344
+ }
4345
+ ]
4346
+ },
4347
+ "prefill": {
4348
+ "steps": [
4349
+ {
4350
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
4351
+ "entry": "main",
4352
+ "kernel": "rmsnorm.wgsl",
4353
+ "op": "input_norm"
4354
+ },
4355
+ {
4356
+ "constants": {
4357
+ "BLOCK_BYTES": 210,
4358
+ "BLOCK_VALUES": 256,
4359
+ "COLS_PER_WG": 4,
4360
+ "QUANT_FORMAT": 3,
4361
+ "THREADS_PER_COL_GEMV": 32,
4362
+ "TILE_SIZE": 16,
4363
+ "WORKGROUP_SIZE": 128
4364
+ },
4365
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4366
+ "entry": "main",
4367
+ "kernel": "matmul_q4_0_tile64.wgsl",
4368
+ "op": "q_proj",
4369
+ "weights": "layer.{L}.self_attn.q_proj"
4370
+ },
4371
+ {
4372
+ "constants": {
4373
+ "BLOCK_BYTES": 34,
4374
+ "BLOCK_VALUES": 32,
4375
+ "COLS_PER_WG": 4,
4376
+ "QUANT_FORMAT": 2,
4377
+ "THREADS_PER_COL_GEMV": 32,
4378
+ "TILE_SIZE": 16,
4379
+ "WORKGROUP_SIZE": 128
4380
+ },
4381
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4382
+ "entry": "main",
4383
+ "kernel": "matmul_q4_0_tile64.wgsl",
4384
+ "op": "k_proj",
4385
+ "weights": "layer.{L}.self_attn.k_proj"
4386
+ },
4387
+ {
4388
+ "constants": {
4389
+ "BLOCK_BYTES": 34,
4390
+ "BLOCK_VALUES": 32,
4391
+ "COLS_PER_WG": 4,
4392
+ "QUANT_FORMAT": 2,
4393
+ "THREADS_PER_COL_GEMV": 32,
4394
+ "TILE_SIZE": 16,
4395
+ "WORKGROUP_SIZE": 128
4396
+ },
4397
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4398
+ "entry": "main",
4399
+ "kernel": "matmul_q4_0_tile64.wgsl",
4400
+ "op": "v_proj",
4401
+ "weights": "layer.{L}.self_attn.v_proj"
4402
+ },
4403
+ {
4404
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
4405
+ "entry": "main",
4406
+ "kernel": "rope.wgsl",
4407
+ "op": "rope_q"
4408
+ },
4409
+ {
4410
+ "digest": "sha256:923f9a96c941aee94119ecf04fa5b1508c77b7d927a7e6044ce6588b2d51a416",
4411
+ "entry": "main",
4412
+ "kernel": "rope.wgsl",
4413
+ "op": "rope_k"
4414
+ },
4415
+ {
4416
+ "digest": "sha256:b404819ada11cdb093c0b98f9127cba40f06b2f2c1294748228c2e22c9f98a6e",
4417
+ "entry": "main",
4418
+ "kernel": "attention_prefill_query_tile_f32.wgsl",
4419
+ "op": "attention",
4420
+ "precision": {
4421
+ "activationDtype": "f32",
4422
+ "kvDtype": "f32"
4423
+ },
4424
+ "constants": {
4425
+ "HEAD_DIM": 256,
4426
+ "WORKGROUP_SIZE": 512,
4427
+ "QUERY_TILE": 16
4428
+ }
4429
+ },
4430
+ {
4431
+ "constants": {
4432
+ "BLOCK_BYTES": 18,
4433
+ "BLOCK_VALUES": 32,
4434
+ "COLS_PER_WG": 4,
4435
+ "QUANT_FORMAT": 0,
4436
+ "THREADS_PER_COL_GEMV": 32,
4437
+ "TILE_SIZE": 16,
4438
+ "WORKGROUP_SIZE": 128
4439
+ },
4440
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4441
+ "entry": "main",
4442
+ "kernel": "matmul_q4_0_tile64.wgsl",
4443
+ "op": "o_proj",
4444
+ "weights": "layer.{L}.self_attn.o_proj"
4445
+ },
4446
+ {
4447
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
4448
+ "entry": "main",
4449
+ "kernel": "residual.wgsl",
4450
+ "op": "attn_residual"
4451
+ },
4452
+ {
4453
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c",
4454
+ "entry": "main",
4455
+ "kernel": "rmsnorm.wgsl",
4456
+ "op": "post_attn_norm"
4457
+ },
4458
+ {
4459
+ "constants": {
4460
+ "BLOCK_BYTES": 22,
4461
+ "BLOCK_VALUES": 32,
4462
+ "COLS_PER_WG": 4,
4463
+ "QUANT_FORMAT": 4,
4464
+ "THREADS_PER_COL_GEMV": 32,
4465
+ "TILE_SIZE": 16,
4466
+ "WORKGROUP_SIZE": 128
4467
+ },
4468
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4469
+ "entry": "main",
4470
+ "kernel": "matmul_q4_0_tile64.wgsl",
4471
+ "op": "gate_proj",
4472
+ "weights": "layer.{L}.mlp.gate_proj"
4473
+ },
4474
+ {
4475
+ "constants": {
4476
+ "BLOCK_BYTES": 22,
4477
+ "BLOCK_VALUES": 32,
4478
+ "COLS_PER_WG": 4,
4479
+ "QUANT_FORMAT": 4,
4480
+ "THREADS_PER_COL_GEMV": 32,
4481
+ "TILE_SIZE": 16,
4482
+ "WORKGROUP_SIZE": 128
4483
+ },
4484
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4485
+ "entry": "main",
4486
+ "kernel": "matmul_q4_0_tile64.wgsl",
4487
+ "op": "up_proj",
4488
+ "weights": "layer.{L}.mlp.up_proj"
4489
+ },
4490
+ {
4491
+ "constants": {
4492
+ "HAS_GATE": true
4493
+ },
4494
+ "digest": "sha256:c6e28a7e6b2a7cfa805db03c9079fbc90fc2717c621e388bfa55b75ce1737ac0",
4495
+ "entry": "main",
4496
+ "kernel": "silu.wgsl",
4497
+ "op": "activation"
4498
+ },
4499
+ {
4500
+ "constants": {
4501
+ "BLOCK_BYTES": 22,
4502
+ "BLOCK_VALUES": 32,
4503
+ "COLS_PER_WG": 4,
4504
+ "QUANT_FORMAT": 4,
4505
+ "THREADS_PER_COL_GEMV": 32,
4506
+ "TILE_SIZE": 16,
4507
+ "WORKGROUP_SIZE": 128
4508
+ },
4509
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4510
+ "entry": "main",
4511
+ "kernel": "matmul_q4_0_tile64.wgsl",
4512
+ "op": "down_proj",
4513
+ "weights": "layer.{L}.mlp.down_proj"
4514
+ },
4515
+ {
4516
+ "digest": "sha256:abd19bc08ad668a7cad562e2bc0a4be1aa8827ad4300d8d474b7fc2af4c27117",
4517
+ "entry": "main",
4518
+ "kernel": "residual.wgsl",
4519
+ "op": "ffn_residual"
4520
+ },
4521
+ {
4522
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
4523
+ "entry": "main",
4524
+ "kernel": "matmul_f32.wgsl",
4525
+ "op": "linear_a_proj",
4526
+ "weights": "layer.{L}.linear_attn.in_proj_a"
4527
+ },
4528
+ {
4529
+ "digest": "sha256:b665cf1ef18ebf1d6fe490b84e9d1e962c130ccd34bdfac5616ba0e2ddb783b8",
4530
+ "entry": "main",
4531
+ "kernel": "matmul_f32.wgsl",
4532
+ "op": "linear_b_proj",
4533
+ "weights": "layer.{L}.linear_attn.in_proj_b"
4534
+ },
4535
+ {
4536
+ "constants": {
4537
+ "BLOCK_BYTES": 18,
4538
+ "BLOCK_VALUES": 32,
4539
+ "COLS_PER_WG": 4,
4540
+ "QUANT_FORMAT": 0,
4541
+ "THREADS_PER_COL_GEMV": 32,
4542
+ "TILE_SIZE": 16,
4543
+ "WORKGROUP_SIZE": 128
4544
+ },
4545
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4546
+ "entry": "main",
4547
+ "kernel": "matmul_q4_0_tile64.wgsl",
4548
+ "op": "linear_qkv_proj",
4549
+ "weights": "layer.{L}.linear_attn.in_proj_qkv"
4550
+ },
4551
+ {
4552
+ "constants": {
4553
+ "BLOCK_BYTES": 18,
4554
+ "BLOCK_VALUES": 32,
4555
+ "COLS_PER_WG": 4,
4556
+ "QUANT_FORMAT": 0,
4557
+ "THREADS_PER_COL_GEMV": 32,
4558
+ "TILE_SIZE": 16,
4559
+ "WORKGROUP_SIZE": 128
4560
+ },
4561
+ "digest": "sha256:db8dddf110046b5c207208e486db29c7c1ef7ccd1b4d1ffac775b1b4542b95e9",
4562
+ "entry": "main",
4563
+ "kernel": "matmul_q4_0_tile64.wgsl",
4564
+ "op": "linear_z_proj",
4565
+ "weights": "layer.{L}.linear_attn.in_proj_z"
4566
+ },
4567
+ {
4568
+ "op": "moe_grouped_sort",
4569
+ "kernel": "moe_grouped_sort.wgsl",
4570
+ "entry": "main",
4571
+ "digest": "sha256:a42d12d16424b759321bd40fc5f79646d9731dc851343a197c62a77dda4fdc0b"
4572
+ },
4573
+ {
4574
+ "op": "moe_grouped_gu",
4575
+ "kernel": "moe_grouped_matmul_f32.wgsl",
4576
+ "entry": "main",
4577
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
4578
+ },
4579
+ {
4580
+ "op": "moe_grouped_down",
4581
+ "kernel": "moe_grouped_matmul_f32.wgsl",
4582
+ "entry": "main",
4583
+ "digest": "sha256:50e3319f37de6d4e777c4fad1b094784a03e84ed50dbd8b0b21497a3c9adb432"
4584
+ }
4585
+ ]
4586
+ }
4587
+ }
4588
+ ],
4589
+ "preLayer": [
4590
+ {
4591
+ "op": "embed",
4592
+ "kernel": "gather_q4_0.wgsl",
4593
+ "entry": "main",
4594
+ "weights": "embed_tokens",
4595
+ "constants": {
4596
+ "WORKGROUP_SIZE": 256,
4597
+ "BLOCK_VALUES": 32,
4598
+ "BLOCK_BYTES": 18,
4599
+ "QUANT_FORMAT": 0
4600
+ },
4601
+ "digest": "sha256:5385c421ac8423132406168faeac5e2ede51ea1b3df6f6f19baa567e0dc9d0b5"
4602
+ }
4603
+ ],
4604
+ "postLayer": [
4605
+ {
4606
+ "op": "final_norm",
4607
+ "kernel": "rmsnorm.wgsl",
4608
+ "entry": "main",
4609
+ "digest": "sha256:4f4d144735bdff86b8567346ba7ea7b82fe68a2ac9656ba1577106158af9bc7c"
4610
+ },
4611
+ {
4612
+ "op": "lm_head",
4613
+ "kernel": "matmul_gguf_pair_f32.wgsl",
4614
+ "entry": "main_q6k",
4615
+ "weights": "lm_head",
4616
+ "constants": {
4617
+ "WORKGROUP_SIZE": 256,
4618
+ "ROWS": 4,
4619
+ "BLOCK_VALUES": 256,
4620
+ "BLOCK_BYTES": 210,
4621
+ "QUANT_FORMAT": 3
4622
+ },
4623
+ "digest": "sha256:bd465ca37154cf9ac0b0d34f6a9c8f6f1014c8df3fe333d931cfd7eb39d4b7e9"
4624
+ },
4625
+ {
4626
+ "op": "lm_head_prefill",
4627
+ "kernel": "matmul_q4_0.wgsl",
4628
+ "entry": "gemv",
4629
+ "weights": "lm_head",
4630
+ "constants": {
4631
+ "WORKGROUP_SIZE": 128,
4632
+ "COLS_PER_WG": 4,
4633
+ "THREADS_PER_COL_GEMV": 32,
4634
+ "TILE_SIZE": 16,
4635
+ "BLOCK_VALUES": 256,
4636
+ "BLOCK_BYTES": 210,
4637
+ "QUANT_FORMAT": 3
4638
+ },
4639
+ "digest": "sha256:96a3c0229daa90ade6496b3403a294dfd5944af671719c7be19fde680a0af789"
4640
+ },
4641
+ {
4642
+ "op": "sample",
4643
+ "kernel": "sample.wgsl",
4644
+ "entry": "sample_single_pass",
4645
+ "digest": "sha256:f2377b2a58c2eeb695a6f6f7ad877630bdba5e74d5dc1a8d919cd73b360d4870"
4646
+ }
4647
+ ]
4648
+ },
4649
+ "chatTemplate": {
4650
+ "enabled": true,
4651
+ "type": "qwen",
4652
+ "thinking": false
4653
+ }
4654
+ }
4655
+ }
4656
+ },
4657
+ "source": {
4658
+ "files": [
4659
+ {
4660
+ "path": "manifest.json",
4661
+ "role": "model-manifest",
4662
+ "sizeBytes": 409715,
4663
+ "hashAlgorithm": "sha256",
4664
+ "hash": "e985e3cdad60d0cb57d84b436161e66ab5b3f6589a168de6f00b4610e5f1fb59",
4665
+ "url": "/config/model-manifests/e985e3cdad60d0cb57d84b436161e66ab5b3f6589a168de6f00b4610e5f1fb59.json"
4666
+ },
4667
+ {
4668
+ "path": "tokenizer.json",
4669
+ "role": "tokenizer",
4670
+ "sizeBytes": 9095133,
4671
+ "hashAlgorithm": "sha256",
4672
+ "hash": "21106cf614c6ce4c1d8153f5dfac37917082b86b8e60c53519bc4a876fe58f38"
4673
+ },
4674
+ {
4675
+ "path": "qwen35b-q4_0-pieces.json",
4676
+ "role": "model-piece-index",
4677
+ "sizeBytes": 967186,
4678
+ "hashAlgorithm": "sha256",
4679
+ "hash": "d54116a53ee5e4fc99d5c50a90e29b86c88ea9ad84f46e596162f62bb182c1fc",
4680
+ "url": "/config/model-pieces/qwen35b-q4_0-pieces.json"
4681
+ }
4682
+ ]
4683
+ }
4684
+ }
4685
+ ]