@genai-fi/nanogpt 0.6.3 → 0.7.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 (169) hide show
  1. package/dist/Generator.js +17 -13
  2. package/dist/NanoGPTModel.d.ts +2 -2
  3. package/dist/NanoGPTModel.js +104 -136
  4. package/dist/{RealDiv-BYViZwhN.js → RealDiv-CVYNbZxu.js} +30 -29
  5. package/dist/{Reshape-t7Kcikjk.js → Reshape-CEsEp0AI.js} +5 -5
  6. package/dist/Reshape-Do18N3gO.js +30 -0
  7. package/dist/TeachableLLM.js +9 -5
  8. package/dist/{TiedEmbedding-9WeDwvjO.js → TiedEmbedding-ccLBFiZi.js} +4 -4
  9. package/dist/{axis_util-Bu4h7XWV.js → axis_util-5DTW2tFV.js} +3 -3
  10. package/dist/backend.d.ts +1 -0
  11. package/dist/backend.js +7 -0
  12. package/dist/backend_util-C9Ut8n0Q.js +749 -0
  13. package/dist/{broadcast_to-DARN-DBD.js → broadcast_to-Ba9h_8DO.js} +2 -2
  14. package/dist/{concat-5aPGqw3Z.js → concat-CbXTetof.js} +8 -8
  15. package/dist/{dataset-pgqp-YfL.js → dataset-U3PrjwgU.js} +7 -7
  16. package/dist/{dropout-Bciw46HT.js → dropout-DPfPgWWe.js} +8 -8
  17. package/dist/{gather-DjyCjmOD.js → gather-Bbh8DHhM.js} +1 -1
  18. package/dist/gelu-BFwVnd1r.js +26 -0
  19. package/dist/gpgpu_math-DffelNS-.js +2371 -0
  20. package/dist/index-DYD_yPa-.js +12076 -0
  21. package/dist/{index-BAzbokzv.js → index-UdZhlibC.js} +414 -398
  22. package/dist/{kernel_funcs_utils-CUxJCg0g.js → kernel_funcs_utils-CXDy3EN7.js} +31 -30
  23. package/dist/layers/BaseLayer.js +2 -2
  24. package/dist/layers/CausalSelfAttention.js +8 -8
  25. package/dist/layers/MLP.js +5 -5
  26. package/dist/layers/RMSNorm.js +3 -3
  27. package/dist/layers/RoPECache.js +4 -4
  28. package/dist/layers/TiedEmbedding.js +5 -5
  29. package/dist/layers/TransformerBlock.js +1 -1
  30. package/dist/loader/loadTransformers.js +1 -1
  31. package/dist/loader/oldZipLoad.js +11 -7
  32. package/dist/{log_sum_exp-YEo2h3gb.js → log_sum_exp-BnmCkHWl.js} +16 -16
  33. package/dist/main.d.ts +13 -0
  34. package/dist/main.js +44 -23
  35. package/dist/{mat_mul-7121rsJk.js → mat_mul-dwmZz69e.js} +4 -4
  36. package/dist/{max-DtlIuVeW.js → max-ByjEGoFx.js} +3 -3
  37. package/dist/{mulmat_packed_gpu-D4nKF7Je.js → mulmat_packed_gpu-IGPBp6h9.js} +1 -1
  38. package/dist/non_max_suppression_impl-CsEgBuMA.js +134 -0
  39. package/dist/{ones-BBlSRqn1.js → ones-C8Mfln6-.js} +2 -2
  40. package/dist/ops/adamAdjust.d.ts +2 -0
  41. package/dist/ops/adamAdjust.js +9 -0
  42. package/dist/ops/adamMoments.d.ts +2 -0
  43. package/dist/ops/adamMoments.js +9 -0
  44. package/dist/ops/appendCache.js +3 -3
  45. package/dist/ops/attentionMask.js +1 -1
  46. package/dist/ops/cpu/adamAdjust.d.ts +1 -0
  47. package/dist/ops/cpu/adamAdjust.js +18 -0
  48. package/dist/ops/cpu/adamMoments.d.ts +1 -0
  49. package/dist/ops/cpu/adamMoments.js +16 -0
  50. package/dist/ops/cpu/appendCache.js +8 -8
  51. package/dist/ops/cpu/attentionMask.js +9 -9
  52. package/dist/ops/cpu/fusedSoftmax.js +17 -11
  53. package/dist/ops/cpu/gatherSub.js +7 -7
  54. package/dist/ops/cpu/gelu.js +13 -13
  55. package/dist/ops/cpu/matMulGelu.js +36 -24
  56. package/dist/ops/cpu/matMulMul.js +14 -8
  57. package/dist/ops/cpu/mulDropout.js +9 -3
  58. package/dist/ops/cpu/normRMS.js +5 -5
  59. package/dist/ops/cpu/qkv.js +3 -3
  60. package/dist/ops/cpu/rope.js +5 -5
  61. package/dist/ops/cpu/scatterSub.js +11 -11
  62. package/dist/ops/fusedSoftmax.js +1 -1
  63. package/dist/ops/gatherSub.js +1 -1
  64. package/dist/ops/gelu.js +2 -2
  65. package/dist/ops/grads/attentionMask.js +1 -1
  66. package/dist/ops/grads/fusedSoftmax.js +2 -2
  67. package/dist/ops/grads/gelu.js +3 -24
  68. package/dist/ops/grads/matMulGelu.js +5 -5
  69. package/dist/ops/grads/normRMS.js +6 -6
  70. package/dist/ops/grads/qkv.js +1 -1
  71. package/dist/ops/grads/rope.js +3 -3
  72. package/dist/ops/matMulGelu.js +1 -1
  73. package/dist/ops/matMulMul.js +1 -1
  74. package/dist/ops/mulDrop.js +1 -1
  75. package/dist/ops/normRMS.js +1 -1
  76. package/dist/ops/qkv.js +1 -1
  77. package/dist/ops/rope.js +4 -4
  78. package/dist/ops/scatterSub.js +1 -1
  79. package/dist/ops/webgl/adamAdjust.d.ts +1 -0
  80. package/dist/ops/webgl/adamAdjust.js +50 -0
  81. package/dist/ops/webgl/adamMoments.d.ts +1 -0
  82. package/dist/ops/webgl/adamMoments.js +38 -0
  83. package/dist/ops/webgl/appendCache.js +1 -1
  84. package/dist/ops/webgl/attentionMask.js +1 -1
  85. package/dist/ops/webgl/fusedSoftmax.js +4 -4
  86. package/dist/ops/webgl/gatherSub.js +8 -8
  87. package/dist/ops/webgl/gelu.js +2 -2
  88. package/dist/ops/webgl/log.js +5 -5
  89. package/dist/ops/webgl/matMulGelu.js +17 -17
  90. package/dist/ops/webgl/matMulMul.js +1 -1
  91. package/dist/ops/webgl/mulDropout.js +4 -4
  92. package/dist/ops/webgl/normRMS.js +2 -2
  93. package/dist/ops/webgl/qkv.js +1 -1
  94. package/dist/ops/webgl/rope.js +1 -1
  95. package/dist/ops/webgl/scatterSub.js +1 -1
  96. package/dist/ops/webgpu/adamAdjust.d.ts +1 -0
  97. package/dist/ops/webgpu/adamAdjust.js +52 -0
  98. package/dist/ops/webgpu/adamMoments.d.ts +1 -0
  99. package/dist/ops/webgpu/adamMoments.js +51 -0
  100. package/dist/ops/webgpu/appendCache.d.ts +1 -0
  101. package/dist/ops/webgpu/appendCache.js +57 -0
  102. package/dist/ops/webgpu/attentionMask.d.ts +1 -0
  103. package/dist/ops/webgpu/attentionMask.js +65 -0
  104. package/dist/ops/webgpu/gatherSub.d.ts +1 -0
  105. package/dist/ops/webgpu/gatherSub.js +52 -0
  106. package/dist/ops/webgpu/gelu.d.ts +14 -0
  107. package/dist/ops/webgpu/gelu.js +87 -0
  108. package/dist/ops/webgpu/index.d.ts +0 -0
  109. package/dist/ops/webgpu/index.js +11 -0
  110. package/dist/ops/webgpu/normRMS.d.ts +1 -0
  111. package/dist/ops/webgpu/normRMS.js +41 -0
  112. package/dist/ops/webgpu/normRMSGrad.d.ts +1 -0
  113. package/dist/ops/webgpu/normRMSGrad.js +128 -0
  114. package/dist/ops/webgpu/qkv.d.ts +1 -0
  115. package/dist/ops/webgpu/qkv.js +57 -0
  116. package/dist/ops/webgpu/rope.d.ts +1 -0
  117. package/dist/ops/webgpu/rope.js +69 -0
  118. package/dist/ops/webgpu/scatterSub.d.ts +1 -0
  119. package/dist/ops/webgpu/scatterSub.js +38 -0
  120. package/dist/ops/webgpu/utils/reductions.d.ts +9 -0
  121. package/dist/ops/webgpu/utils/reductions.js +68 -0
  122. package/dist/{ops-C0sQEcPw.js → ops-aRTXR2Sr.js} +433 -508
  123. package/dist/{random_width-DWzaOgrn.js → random_width-DbSpgl4o.js} +144 -144
  124. package/dist/{range-DYsrnfiy.js → range-D9CZhVlR.js} +1 -1
  125. package/dist/{reciprocal-CJQeasVa.js → reciprocal-CGB48wZB.js} +1 -1
  126. package/dist/{register_all_kernels-BfFCQAqs.js → register_all_kernels-DnbAyBXt.js} +203 -200
  127. package/dist/{reshape-krWGKraP.js → reshape-BR0eoLYN.js} +1 -1
  128. package/dist/{scatter_nd_util-93ln7Hut.js → scatter_nd_util-OjyAxku2.js} +3 -3
  129. package/dist/{selu_util-sntGesxr.js → selu_util-Ce6pu9IM.js} +44 -44
  130. package/dist/{shared-Ca6iDobD.js → shared-Czipaeb6.js} +541 -606
  131. package/dist/shared-DS5waSIY.js +69 -0
  132. package/dist/{sin-D_h-qCSx.js → sin-CiBxrDqX.js} +1 -1
  133. package/dist/slice-BHbDHObE.js +28 -0
  134. package/dist/{softmax-fsdtf6JC.js → softmax-JMEIUo2J.js} +1 -1
  135. package/dist/{split-eiktj-6L.js → split-CRU0PjVV.js} +4 -4
  136. package/dist/{stack-dfEEz2OY.js → stack-ikk2Y8_P.js} +2 -2
  137. package/dist/{sum-BE_Irnim.js → sum-NLYbiDag.js} +3 -3
  138. package/dist/{tensor-Xyi595sG.js → tensor-Do9PKbIE.js} +1 -1
  139. package/dist/{tensor2d-CPEkynbH.js → tensor2d-CWHxHpLh.js} +1 -1
  140. package/dist/training/Adam.d.ts +22 -0
  141. package/dist/training/Adam.js +93 -0
  142. package/dist/training/AdamExt.d.ts +1 -1
  143. package/dist/training/AdamExt.js +13 -12
  144. package/dist/training/DatasetBuilder.js +2 -2
  145. package/dist/training/Evaluator.js +1 -1
  146. package/dist/training/FullTrainer.js +27 -27
  147. package/dist/training/Trainer.d.ts +5 -6
  148. package/dist/training/Trainer.js +54 -55
  149. package/dist/training/sparseCrossEntropy.d.ts +0 -4
  150. package/dist/training/sparseCrossEntropy.js +7 -7
  151. package/dist/utilities/arrayClose.d.ts +1 -0
  152. package/dist/utilities/arrayClose.js +11 -0
  153. package/dist/utilities/dummy.js +19 -19
  154. package/dist/utilities/generate.js +15 -16
  155. package/dist/utilities/multinomialCPU.d.ts +2 -0
  156. package/dist/utilities/multinomialCPU.js +13 -0
  157. package/dist/utilities/performance.d.ts +2 -0
  158. package/dist/utilities/performance.js +16 -0
  159. package/dist/utilities/profile.d.ts +1 -0
  160. package/dist/utilities/profile.js +9 -6
  161. package/dist/utilities/safetensors.js +2 -2
  162. package/dist/utilities/weights.js +2 -2
  163. package/dist/{variable-wSS22xj5.js → variable-BTBkayv_.js} +1 -1
  164. package/dist/webgpu_program-WaoMq-WD.js +548 -0
  165. package/dist/webgpu_util-DhSeP4b6.js +80 -0
  166. package/dist/{zeros-YJDE7oRb.js → zeros-DnPT2nD4.js} +10 -10
  167. package/package.json +2 -1
  168. package/dist/gpgpu_math-CNslybmD.js +0 -3115
  169. package/dist/norm-CzltS9Fz.js +0 -86
package/dist/ops/gelu.js CHANGED
@@ -1,7 +1,7 @@
1
- import "../index-BAzbokzv.js";
1
+ import "../index-UdZhlibC.js";
2
2
  import "./cpu/gelu.js";
3
3
  import "./webgl/gelu.js";
4
- import { d as e, g as i } from "./grads/gelu.js";
4
+ import { d as e, g as i } from "../gelu-BFwVnd1r.js";
5
5
  export {
6
6
  e as dGelu,
7
7
  i as gelu
@@ -1,4 +1,4 @@
1
- import { c as m, s as i } from "../../index-BAzbokzv.js";
1
+ import { i as m, b as i } from "../../index-UdZhlibC.js";
2
2
  import { matMulMul as u } from "../matMulMul.js";
3
3
  const p = {
4
4
  kernelName: "AttentionMask",
@@ -1,6 +1,6 @@
1
- import { c as f, a as i, b as l } from "../../index-BAzbokzv.js";
1
+ import { i as f, a as i, c as l } from "../../index-UdZhlibC.js";
2
2
  import { mulDrop as g } from "../mulDrop.js";
3
- import { s as T } from "../../sum-BE_Irnim.js";
3
+ import { s as T } from "../../sum-NLYbiDag.js";
4
4
  const Y = {
5
5
  kernelName: "FusedSoftmax",
6
6
  outputsToSave: [!0],
@@ -1,26 +1,5 @@
1
- import { c as t, e as n } from "../../index-BAzbokzv.js";
2
- import "../cpu/gelu.js";
3
- import "../webgl/gelu.js";
4
- const o = {
5
- kernelName: "Gelu",
6
- inputsToSave: ["x"],
7
- outputsToSave: [],
8
- gradFunc: (e, r) => {
9
- const [u] = r;
10
- return {
11
- x: () => a(e, u)
12
- };
13
- }
14
- };
15
- t(o);
16
- function g(e) {
17
- return n().runKernel("Gelu", { x: e });
18
- }
19
- function a(e, r) {
20
- return n().runKernel("GeluGrad", { dy: e, x: r });
21
- }
1
+ import "../../index-UdZhlibC.js";
2
+ import { a as e } from "../../gelu-BFwVnd1r.js";
22
3
  export {
23
- a as d,
24
- g,
25
- o as geluGradConfig
4
+ e as geluGradConfig
26
5
  };
@@ -1,17 +1,17 @@
1
- import { c as a, e as o } from "../../index-BAzbokzv.js";
2
- function s(e, n, r) {
1
+ import { i as a, e as o } from "../../index-UdZhlibC.js";
2
+ function i(e, n, r) {
3
3
  return o().runKernel("MatMulGeluGrad", { dy: e, x: n, kernel: r });
4
4
  }
5
- const d = {
5
+ const s = {
6
6
  kernelName: "MatMulGelu",
7
7
  inputsToSave: ["x", "kernel"],
8
8
  outputsToSave: [],
9
9
  gradFunc: (e, n) => {
10
- const [r, t] = n, [u, l] = s(e, r, t);
10
+ const [r, t] = n, [u, l] = i(e, r, t);
11
11
  return {
12
12
  x: () => u,
13
13
  kernel: () => l
14
14
  };
15
15
  }
16
16
  };
17
- a(d);
17
+ a(s);
@@ -1,20 +1,20 @@
1
- import { c as t, e as g } from "../../index-BAzbokzv.js";
2
- function s(r, a, n) {
1
+ import { i as t, e as g } from "../../index-UdZhlibC.js";
2
+ function i(r, a, n) {
3
3
  return g().runKernel("RMSNormGrad", { dy: r, x: a, gamma: n });
4
4
  }
5
- const u = {
5
+ const s = {
6
6
  kernelName: "RMSNorm",
7
7
  inputsToSave: ["x", "gamma"],
8
8
  outputsToSave: [],
9
9
  gradFunc: (r, a) => {
10
- const [n, e] = a, [m, o] = s(r, n, e);
10
+ const [n, e] = a, [m, o] = i(r, n, e);
11
11
  return {
12
12
  x: () => m,
13
13
  gamma: () => o
14
14
  };
15
15
  }
16
16
  };
17
- t(u);
17
+ t(s);
18
18
  export {
19
- u as normRMSGradConfig
19
+ s as normRMSGradConfig
20
20
  };
@@ -1,4 +1,4 @@
1
- import { c as Q } from "../../index-BAzbokzv.js";
1
+ import { i as Q } from "../../index-UdZhlibC.js";
2
2
  const V = {
3
3
  kernelName: "QKV",
4
4
  inputsToSave: ["x", "kernel"],
@@ -1,6 +1,6 @@
1
- import { c as a, e as i } from "../../index-BAzbokzv.js";
1
+ import { i, e as a } from "../../index-UdZhlibC.js";
2
2
  function p(n, e, s, o) {
3
- return i().runKernel("Rope", { x: n, sin: e, cos: s }, { pastLen: o });
3
+ return a().runKernel("Rope", { x: n, sin: e, cos: s }, { pastLen: o });
4
4
  }
5
5
  const c = {
6
6
  kernelName: "Rope",
@@ -11,4 +11,4 @@ const c = {
11
11
  return t.dispose(), { x: () => r };
12
12
  }
13
13
  };
14
- a(c);
14
+ i(c);
@@ -1,4 +1,4 @@
1
- import { e as u } from "../index-BAzbokzv.js";
1
+ import { e as u } from "../index-UdZhlibC.js";
2
2
  import "./cpu/matMulGelu.js";
3
3
  import "./webgl/matMulGelu.js";
4
4
  import "./grads/matMulGelu.js";
@@ -1,4 +1,4 @@
1
- import { e as u } from "../index-BAzbokzv.js";
1
+ import { e as u } from "../index-UdZhlibC.js";
2
2
  import "./cpu/matMulMul.js";
3
3
  import "./webgl/matMulMul.js";
4
4
  function m(e, r, t, l = !1, n = !1) {
@@ -1,4 +1,4 @@
1
- import { e as t } from "../index-BAzbokzv.js";
1
+ import { e as t } from "../index-UdZhlibC.js";
2
2
  import "./cpu/mulDropout.js";
3
3
  import "./webgl/mulDropout.js";
4
4
  function m(r, o, e, n) {
@@ -1,4 +1,4 @@
1
- import { e as n } from "../index-BAzbokzv.js";
1
+ import { e as n } from "../index-UdZhlibC.js";
2
2
  import "./cpu/normRMS.js";
3
3
  import "./webgl/normRMS.js";
4
4
  import "./grads/normRMS.js";
package/dist/ops/qkv.js CHANGED
@@ -1,4 +1,4 @@
1
- import { e as o } from "../index-BAzbokzv.js";
1
+ import { e as o } from "../index-UdZhlibC.js";
2
2
  import "./cpu/qkv.js";
3
3
  import "./webgl/qkv.js";
4
4
  import "./grads/qkv.js";
package/dist/ops/rope.js CHANGED
@@ -1,8 +1,8 @@
1
- import { e as p } from "../index-BAzbokzv.js";
2
- import "../random_width-DWzaOgrn.js";
3
- import "../register_all_kernels-BfFCQAqs.js";
1
+ import { e as p } from "../index-UdZhlibC.js";
2
+ import "../random_width-DbSpgl4o.js";
3
+ import "../register_all_kernels-DnbAyBXt.js";
4
4
  import "../index-Tf7vU29b.js";
5
- import "../dataset-pgqp-YfL.js";
5
+ import "../dataset-U3PrjwgU.js";
6
6
  import "./cpu/rope.js";
7
7
  import "./webgl/rope.js";
8
8
  import "./grads/rope.js";
@@ -1,4 +1,4 @@
1
- import { e as i } from "../index-BAzbokzv.js";
1
+ import { e as i } from "../index-UdZhlibC.js";
2
2
  import "./cpu/scatterSub.js";
3
3
  import "./webgl/scatterSub.js";
4
4
  function c(t, r, e) {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import { r as n } from "../../Reshape-CEsEp0AI.js";
2
+ import { f } from "../../index-UdZhlibC.js";
3
+ class v {
4
+ variableNames = ["moments", "value"];
5
+ outputShape;
6
+ userCode;
7
+ customUniforms = [
8
+ { name: "invBeta1", type: "float" },
9
+ { name: "invBeta2", type: "float" },
10
+ { name: "learningRate", type: "float" },
11
+ { name: "epsilon", type: "float" }
12
+ ];
13
+ constructor(a) {
14
+ this.outputShape = a, this.userCode = `
15
+ void main() {
16
+ float v = getValueAtOutCoords();
17
+ int coords = getOutputCoords();
18
+ coords *= 2;
19
+ float m1 = getMoments(coords);
20
+ float m2 = getMoments(coords + 1);
21
+
22
+ float m1Hat = m1 * invBeta1;
23
+ float m2Hat = m2 * invBeta2;
24
+
25
+ float invSqrt = inversesqrt(max(m2Hat, 1e-30));
26
+ float invDenom = invSqrt / (1.0 + epsilon * invSqrt);
27
+ float adjustedValue = -learningRate * m1Hat * invDenom + v;
28
+
29
+ setOutput(adjustedValue);
30
+ }
31
+ `;
32
+ }
33
+ }
34
+ function h(t) {
35
+ const { moments: a, value: s } = t.inputs, { beta1: i, beta2: l, learningRate: u, epsilon: p } = t.attrs, e = t.backend, r = n({ inputs: { x: a }, backend: e, attrs: { shape: [-1] } }), o = n({ inputs: { x: s }, backend: e, attrs: { shape: [-1] } }), d = new v(o.shape), m = e.runWebGLProgram(d, [r, o], "float32", [
36
+ [1 / i],
37
+ [1 / l],
38
+ [u],
39
+ [p]
40
+ ]);
41
+ e.disposeIntermediateTensorInfo(r), e.disposeIntermediateTensorInfo(o);
42
+ const c = n({ inputs: { x: m }, backend: e, attrs: { shape: s.shape } });
43
+ return e.disposeIntermediateTensorInfo(m), c;
44
+ }
45
+ const g = {
46
+ kernelName: "AdamAdjust",
47
+ backendName: "webgl",
48
+ kernelFunc: h
49
+ };
50
+ f(g);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,38 @@
1
+ import { f as m } from "../../index-UdZhlibC.js";
2
+ class i {
3
+ variableNames = ["moments", "gradient"];
4
+ outputShape;
5
+ userCode;
6
+ customUniforms = [
7
+ { name: "beta1", type: "float" },
8
+ { name: "beta2", type: "float" }
9
+ ];
10
+ constructor(e) {
11
+ this.outputShape = e;
12
+ const t = e.length, n = t === 1 ? "int" : `ivec${Math.min(t, 4)}`, a = t === 1 ? "coords" : `coords[${t - 1}]`, s = t === 1 ? "coords" : e.slice(0, -1).map((r, c) => `coords[${c}]`).join(", ");
13
+ this.userCode = `
14
+ void main() {
15
+ float m = getMomentsAtOutCoords();
16
+ ${n} coords = getOutputCoords();
17
+ float g = getGradient(${s});
18
+ int which = ${a};
19
+
20
+ float beta = which == 0 ? beta1 : beta2;
21
+ float gg = which == 0 ? g : g * g;
22
+
23
+ float newM = m * beta + gg * (1.0 - beta);
24
+ setOutput(newM);
25
+ }
26
+ `;
27
+ }
28
+ }
29
+ function d(o) {
30
+ const { moments: e, gradient: t } = o.inputs, { beta1: n, beta2: a } = o.attrs, s = o.backend, r = new i(e.shape);
31
+ return s.runWebGLProgram(r, [e, t], "float32", [[n], [a]]);
32
+ }
33
+ const g = {
34
+ kernelName: "AdamMoments",
35
+ backendName: "webgl",
36
+ kernelFunc: d
37
+ };
38
+ m(g);
@@ -1,4 +1,4 @@
1
- import { r as p } from "../../index-BAzbokzv.js";
1
+ import { f as p } from "../../index-UdZhlibC.js";
2
2
  class m {
3
3
  variableNames = ["cache", "item"];
4
4
  outputShape;
@@ -1,4 +1,4 @@
1
- import { r as m } from "../../index-BAzbokzv.js";
1
+ import { f as m } from "../../index-UdZhlibC.js";
2
2
  class h {
3
3
  variableNames = ["q", "k"];
4
4
  outputShape;
@@ -1,7 +1,7 @@
1
- import { m as b, s as I, r as k } from "../../RealDiv-BYViZwhN.js";
2
- import { r as v } from "../../Reshape-t7Kcikjk.js";
3
- import { r as w, p as P } from "../../index-BAzbokzv.js";
4
- import { e as S } from "../../axis_util-Bu4h7XWV.js";
1
+ import { m as b, s as I, r as k } from "../../RealDiv-CVYNbZxu.js";
2
+ import { r as v } from "../../Reshape-CEsEp0AI.js";
3
+ import { f as w, p as P } from "../../index-UdZhlibC.js";
4
+ import { e as S } from "../../axis_util-5DTW2tFV.js";
5
5
  class T {
6
6
  variableNames = ["logits", "maxLogits"];
7
7
  outputShape;
@@ -1,17 +1,17 @@
1
- import { r as l } from "../../index-BAzbokzv.js";
1
+ import { f as l } from "../../index-UdZhlibC.js";
2
2
  class u {
3
3
  variableNames = ["labels", "logits", "values"];
4
4
  outputShape;
5
5
  userCode;
6
6
  constructor(e) {
7
7
  this.outputShape = [e], this.userCode = `
8
- void main() {
9
- int coords = getOutputCoords();
10
- int index = int(getLabelsAtOutCoords());
11
- float val = getValuesAtOutCoords();
12
- float logit = getLogits(coords, index);
13
- setOutput(val - logit);
14
- }
8
+ void main() {
9
+ int coords = getOutputCoords();
10
+ int index = int(getLabelsAtOutCoords());
11
+ float val = getValuesAtOutCoords();
12
+ float logit = getLogits(coords, index);
13
+ setOutput(val - logit);
14
+ }
15
15
  `;
16
16
  }
17
17
  }
@@ -1,5 +1,5 @@
1
- import { r as a } from "../../index-BAzbokzv.js";
2
- import { u as s, C as x } from "../../kernel_funcs_utils-CUxJCg0g.js";
1
+ import { f as a } from "../../index-UdZhlibC.js";
2
+ import { u as s, C as x } from "../../kernel_funcs_utils-CXDy3EN7.js";
3
3
  const t = 0.7978845608028654, r = 0.044715, c = x + `
4
4
  float x3 = x * x * x;
5
5
  float inner = x + ${r} * x3;
@@ -1,6 +1,6 @@
1
- import { r, a9 as e } from "../../index-BAzbokzv.js";
2
- import { u as s, l as N } from "../../kernel_funcs_utils-CUxJCg0g.js";
3
- import { aG as l } from "../../shared-Ca6iDobD.js";
1
+ import { f as e, af as r } from "../../index-UdZhlibC.js";
2
+ import { u as s, l as N } from "../../kernel_funcs_utils-CXDy3EN7.js";
3
+ import { y as l } from "../../shared-DS5waSIY.js";
4
4
  /**
5
5
  * @license
6
6
  * Copyright 2020 Google LLC. All Rights Reserved.
@@ -32,8 +32,8 @@ const a = N + `
32
32
  packedOpSnippet: t,
33
33
  cpuKernelImpl: l
34
34
  }), o = {
35
- kernelName: e,
35
+ kernelName: r,
36
36
  backendName: "webgl",
37
37
  kernelFunc: n
38
38
  };
39
- r(o);
39
+ e(o);
@@ -1,8 +1,8 @@
1
- import { r as _, t as R, e as C, g as A, h as N, i as H, u as O } from "../../index-BAzbokzv.js";
2
- import { r as f } from "../../Reshape-t7Kcikjk.js";
3
- import { M as U } from "../../mulmat_packed_gpu-D4nKF7Je.js";
4
- import { m as E } from "../../mat_mul-7121rsJk.js";
5
- const M = 0.7978845608028654, x = 0.044715, q = `
1
+ import { f as _, t as R, e as C, j as A, k as N, l as H, u as O } from "../../index-UdZhlibC.js";
2
+ import { r as f } from "../../Reshape-CEsEp0AI.js";
3
+ import { M as U } from "../../mulmat_packed_gpu-IGPBp6h9.js";
4
+ import { m as E } from "../../mat_mul-dwmZz69e.js";
5
+ const M = 0.7978845608028654, x = 0.044715, j = `
6
6
  vec4 x3 = x * x * x;
7
7
  vec4 inner = x + ${x} * x3;
8
8
  inner = ${M} * inner;
@@ -10,7 +10,7 @@ const M = 0.7978845608028654, x = 0.044715, q = `
10
10
  inner = 0.5 * (1.0 + inner);
11
11
  vec4 result = x * inner;
12
12
  return result;
13
- `, z = `
13
+ `, q = `
14
14
  vec4 a2 = a * a;
15
15
  vec4 a3 = a2 * a;
16
16
  vec4 u = ${M} * (a + ${x} * a3);
@@ -34,7 +34,7 @@ function w({
34
34
  i === p,
35
35
  () => `Error in matMul: inner shapes (${i}) and (${p}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${s} and transposeB=${n} must match.`
36
36
  );
37
- const v = s ? [d, i, h] : [d, h, i], S = n ? [m, l, p] : [m, p, l], g = f({ inputs: { x: e }, backend: a, attrs: { shape: v } }), D = f({ inputs: { x: t }, backend: a, attrs: { shape: S } }), G = [g, D], y = Math.max(d, m), L = c, B = O(e.dtype, t.dtype), F = new U(
37
+ const v = s ? [d, i, h] : [d, h, i], S = n ? [m, l, p] : [m, p, l], k = f({ inputs: { x: e }, backend: a, attrs: { shape: v } }), D = f({ inputs: { x: t }, backend: a, attrs: { shape: S } }), G = [k, D], y = Math.max(d, m), L = c, B = O(e.dtype, t.dtype), F = new U(
38
38
  v,
39
39
  S,
40
40
  [y, h, l],
@@ -44,15 +44,15 @@ function w({
44
44
  L,
45
45
  !!o,
46
46
  !1
47
- ), k = [g, D];
48
- o && k.push(o);
49
- const $ = a.runWebGLProgram(F, k, B), I = f({ inputs: { x: $ }, backend: a, attrs: { shape: b } });
47
+ ), g = [k, D];
48
+ o && g.push(o);
49
+ const $ = a.runWebGLProgram(F, g, B), I = f({ inputs: { x: $ }, backend: a, attrs: { shape: b } });
50
50
  G.push($);
51
51
  for (const P of G)
52
52
  a.disposeIntermediateTensorInfo(P);
53
53
  return I;
54
54
  }
55
- function W(e) {
55
+ function z(e) {
56
56
  const { inputs: t, backend: s } = e, { x: n, kernel: a } = t;
57
57
  if (n === void 0 || a === void 0)
58
58
  throw new Error("BatchMatMul requires two input tensors.");
@@ -62,15 +62,15 @@ function W(e) {
62
62
  transposeA: !1,
63
63
  transposeB: !1,
64
64
  backend: s,
65
- activationSnippet: q
65
+ activationSnippet: j
66
66
  });
67
67
  }
68
- const j = {
68
+ const W = {
69
69
  kernelName: "MatMulGelu",
70
70
  backendName: "webgl",
71
- kernelFunc: W
71
+ kernelFunc: z
72
72
  };
73
- _(j);
73
+ _(W);
74
74
  function J(e) {
75
75
  const { dy: t, x: s, kernel: n } = e.inputs, a = e.backend;
76
76
  return R(() => {
@@ -81,7 +81,7 @@ function J(e) {
81
81
  transposeA: !1,
82
82
  transposeB: !1,
83
83
  backend: a,
84
- activationSnippet: z,
84
+ activationSnippet: q,
85
85
  multiplier: t
86
86
  })
87
87
  ), o = E(c, n, !1, !0), r = E(s, c, !0, !1);
@@ -97,5 +97,5 @@ _(Q);
97
97
  export {
98
98
  te as MATMUL_SHARED_DIM_THRESHOLD,
99
99
  w as batchMatMulGeluImpl,
100
- W as batchMatMulKernel
100
+ z as batchMatMulKernel
101
101
  };
@@ -1,4 +1,4 @@
1
- import { r as u } from "../../index-BAzbokzv.js";
1
+ import { f as u } from "../../index-UdZhlibC.js";
2
2
  import { batchMatMulGeluImpl as c } from "./matMulGelu.js";
3
3
  const M = `
4
4
  return a * b;
@@ -1,4 +1,4 @@
1
- import { r as m } from "../../index-BAzbokzv.js";
1
+ import { f as m } from "../../index-UdZhlibC.js";
2
2
  class f {
3
3
  variableNames = ["a", "b"];
4
4
  outputShape;
@@ -7,8 +7,8 @@ class f {
7
7
  { name: "dropoutRate", type: "float" },
8
8
  { name: "seed", type: "float" }
9
9
  ];
10
- constructor(r, t, o) {
11
- this.outputShape = [r, t, o, o], this.userCode = `
10
+ constructor(t, r, o) {
11
+ this.outputShape = [t, r, o, o], this.userCode = `
12
12
  float random(ivec4 coords) {
13
13
  float x = float(coords.x * 4096 + coords.y * 256 + coords.z * 16 + coords.w);
14
14
  return fract(sin(seed + x) * 43758.5453123);
@@ -27,7 +27,7 @@ class f {
27
27
  }
28
28
  }
29
29
  function b(e) {
30
- const { inputs: r, attrs: t } = e, { a: o, b: s } = r, { dropoutRate: a, seed: c } = t, n = e.backend, d = o.shape[0], u = o.shape[2], p = o.shape[1], l = new f(d, p, u);
30
+ const { inputs: t, attrs: r } = e, { a: o, b: s } = t, { dropoutRate: a, seed: c } = r, n = e.backend, d = o.shape[0], u = o.shape[2], p = o.shape[1], l = new f(d, p, u);
31
31
  return n.runWebGLProgram(l, [o, s], "float32", [
32
32
  [a ?? 0],
33
33
  [c ?? Math.random() * 1e4]
@@ -1,5 +1,5 @@
1
- import { r as p, e as G } from "../../index-BAzbokzv.js";
2
- import { s as x } from "../../sum-BE_Irnim.js";
1
+ import { f as p, e as G } from "../../index-UdZhlibC.js";
2
+ import { s as x } from "../../sum-NLYbiDag.js";
3
3
  class y {
4
4
  variableNames = ["x", "meanSquare", "gamma"];
5
5
  outputShape;
@@ -1,4 +1,4 @@
1
- import { r as i } from "../../index-BAzbokzv.js";
1
+ import { f as i } from "../../index-UdZhlibC.js";
2
2
  class l {
3
3
  variableNames = ["x", "kernel"];
4
4
  outputShape;
@@ -1,4 +1,4 @@
1
- import { r as u } from "../../index-BAzbokzv.js";
1
+ import { f as u } from "../../index-UdZhlibC.js";
2
2
  class l {
3
3
  variableNames = ["x", "sin", "cos"];
4
4
  outputShape;
@@ -1,4 +1,4 @@
1
- import { r as i } from "../../index-BAzbokzv.js";
1
+ import { f as i } from "../../index-UdZhlibC.js";
2
2
  class u {
3
3
  variableNames = ["labels", "softmaxProbs", "dy"];
4
4
  outputShape;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ import { g as p } from "../../webgpu_program-WaoMq-WD.js";
2
+ import { f as d, c as l } from "../../webgpu_util-DhSeP4b6.js";
3
+ import { f } from "../../index-UdZhlibC.js";
4
+ class c {
5
+ variableNames = ["moments", "value"];
6
+ outputShape;
7
+ shaderKey = "AdamAdjust";
8
+ dispatchLayout;
9
+ dispatch;
10
+ workgroupSize = [64, 1, 1];
11
+ size = !0;
12
+ uniforms = "invbeta1: f32, invbeta2: f32, learningRate: f32, epsilon: f32";
13
+ outputComponent = 1;
14
+ variableComponents = [2, 1];
15
+ constructor(e) {
16
+ this.outputShape = e, this.dispatchLayout = d(this.outputShape), this.dispatch = l(this.dispatchLayout, this.outputShape, this.workgroupSize);
17
+ }
18
+ getUserCode() {
19
+ return `
20
+ ${p("index")} {
21
+ if (index < uniforms.size) {
22
+ let moments: vec2<f32> = moments[index];
23
+ let value: f32 = value[index];
24
+
25
+ let m1Hat = moments.x * uniforms.invbeta1;
26
+ let m2Hat = moments.y * uniforms.invbeta2;
27
+
28
+ let invSqrt = inverseSqrt(max(m2Hat, 1e-30));
29
+ let invDenom = invSqrt / (1.0 + uniforms.epsilon * invSqrt);
30
+ let adjustedValue = fma(-uniforms.learningRate * m1Hat, invDenom, value);
31
+
32
+ setOutputAtIndex(index, adjustedValue);
33
+ }
34
+ }
35
+ `;
36
+ }
37
+ }
38
+ function h(t) {
39
+ const { moments: e, value: a } = t.inputs, { beta1: n, beta2: o, learningRate: i, epsilon: s } = t.attrs, r = t.backend, u = new c(a.shape), m = [
40
+ { type: "float32", data: [1 / n] },
41
+ { type: "float32", data: [1 / o] },
42
+ { type: "float32", data: [i] },
43
+ { type: "float32", data: [s] }
44
+ ];
45
+ return r.runWebGPUProgram(u, [e, a], "float32", m);
46
+ }
47
+ const v = {
48
+ kernelName: "AdamAdjust",
49
+ backendName: "webgpu",
50
+ kernelFunc: h
51
+ };
52
+ f(v);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ import { g as m } from "../../webgpu_program-WaoMq-WD.js";
2
+ import { f as u, c as p } from "../../webgpu_util-DhSeP4b6.js";
3
+ import { f as c } from "../../index-UdZhlibC.js";
4
+ class d {
5
+ variableNames = ["moments", "gradient"];
6
+ outputShape;
7
+ shaderKey = "AdamMoments";
8
+ dispatchLayout;
9
+ dispatch;
10
+ workgroupSize = [64, 1, 1];
11
+ size = !0;
12
+ uniforms = "beta1: f32, beta2: f32";
13
+ outputComponent = 2;
14
+ variableComponents = [2, 1];
15
+ constructor(e) {
16
+ this.outputShape = e, this.dispatchLayout = u(this.outputShape.slice(0, -1)), this.dispatch = p(
17
+ this.dispatchLayout,
18
+ this.outputShape.slice(0, -1),
19
+ this.workgroupSize,
20
+ [1, 1, 1]
21
+ );
22
+ }
23
+ getUserCode() {
24
+ return `
25
+ ${m("index")} {
26
+ if (index < uniforms.size) {
27
+ let m: vec2<f32> = moments[index];
28
+ let g: f32 = gradient[index];
29
+
30
+ let newM1 = fma(m.x, uniforms.beta1, g * (1.0 - uniforms.beta1));
31
+ let newM2 = fma(m.y, uniforms.beta2, g * g * (1.0 - uniforms.beta2));
32
+
33
+ setOutputAtIndex(index, vec2<f32>(newM1, newM2));
34
+ }
35
+ }
36
+ `;
37
+ }
38
+ }
39
+ function f(t) {
40
+ const { moments: e, gradient: a } = t.inputs, { beta1: n, beta2: o } = t.attrs, s = t.backend, i = new d(e.shape), r = [
41
+ { type: "float32", data: [n] },
42
+ { type: "float32", data: [o] }
43
+ ];
44
+ return s.runWebGPUProgram(i, [e, a], "float32", r);
45
+ }
46
+ const h = {
47
+ kernelName: "AdamMoments",
48
+ backendName: "webgpu",
49
+ kernelFunc: f
50
+ };
51
+ c(h);
@@ -0,0 +1 @@
1
+ export {};