@genai-fi/nanogpt 0.19.0 → 0.20.0

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 (482) hide show
  1. package/package.json +9 -10
  2. package/dist/Generator.d.ts +0 -82
  3. package/dist/Generator.js +0 -11941
  4. package/dist/RealDiv-CGwv0liw.js +0 -365
  5. package/dist/Reshape-BW__R4mZ.js +0 -79
  6. package/dist/Reshape-CPBkTIH2.js +0 -14
  7. package/dist/TeachableLLM.d.ts +0 -70
  8. package/dist/TeachableLLM.js +0 -273
  9. package/dist/Trainer.d.ts +0 -43
  10. package/dist/Trainer.js +0 -244
  11. package/dist/_commonjsHelpers-ByX85dGu.js +0 -33
  12. package/dist/axis_util-GTVlo58H.js +0 -55
  13. package/dist/backend.d.ts +0 -2
  14. package/dist/backend.js +0 -13
  15. package/dist/backend_util-GaFarB78.js +0 -425
  16. package/dist/backend_webgpu-BqASlsbV.js +0 -545
  17. package/dist/binary_op_util-pKXltfxI.js +0 -192
  18. package/dist/broadcast_to-eS93CCN_.js +0 -28
  19. package/dist/checks/appendCache.d.ts +0 -1
  20. package/dist/checks/appendCache.js +0 -22
  21. package/dist/checks/attentionMask.d.ts +0 -1
  22. package/dist/checks/attentionMask.js +0 -37
  23. package/dist/checks/check.d.ts +0 -9
  24. package/dist/checks/check.js +0 -20
  25. package/dist/checks/gelu.d.ts +0 -1
  26. package/dist/checks/gelu.js +0 -18
  27. package/dist/checks/index.d.ts +0 -26
  28. package/dist/checks/index.js +0 -28
  29. package/dist/checks/matMulGelu.d.ts +0 -1
  30. package/dist/checks/matMulGelu.js +0 -28
  31. package/dist/checks/normRMS.d.ts +0 -1
  32. package/dist/checks/normRMS.js +0 -16
  33. package/dist/checks/normRMSGrad.d.ts +0 -1
  34. package/dist/checks/normRMSGrad.js +0 -12
  35. package/dist/checks/packUnpack.d.ts +0 -1
  36. package/dist/checks/packUnpack.js +0 -18
  37. package/dist/checks/qkv.d.ts +0 -1
  38. package/dist/checks/qkv.js +0 -34
  39. package/dist/checks/rope.d.ts +0 -1
  40. package/dist/checks/rope.js +0 -36
  41. package/dist/checks/weights.d.ts +0 -14
  42. package/dist/checks/weights.js +0 -31
  43. package/dist/clip_by_value-DDA7rrcT.js +0 -12
  44. package/dist/complex-DI35Q-gW.js +0 -11
  45. package/dist/complex_util-Yc1A_gV1.js +0 -55
  46. package/dist/concat-CAQpCret.js +0 -17
  47. package/dist/concat_util-D18dJ4fD.js +0 -22
  48. package/dist/data/docx.d.ts +0 -2
  49. package/dist/data/docx.js +0 -15
  50. package/dist/data/parquet.d.ts +0 -2
  51. package/dist/data/parquet.js +0 -17
  52. package/dist/data/pdf.d.ts +0 -2
  53. package/dist/data/pdf.js +0 -14
  54. package/dist/data/textLoader.d.ts +0 -7
  55. package/dist/data/textLoader.js +0 -108
  56. package/dist/dataset-CGGp1z9P.js +0 -1124
  57. package/dist/dropout_util--NxWuYg2.js +0 -27
  58. package/dist/expand_dims-Bkd1YD5x.js +0 -11
  59. package/dist/exports_initializers-CYzKLjN7.js +0 -7
  60. package/dist/floor-BQtb-Azg.js +0 -9
  61. package/dist/gather-qIqEqaGn.js +0 -9
  62. package/dist/gelu-B220X1Go.js +0 -26
  63. package/dist/gpgpu_math-BwvV12df.js +0 -2022
  64. package/dist/index-CUXkjxiT.js +0 -3516
  65. package/dist/index-CieiGp4Y.js +0 -349
  66. package/dist/index-CjOWnMXP.js +0 -7308
  67. package/dist/index-Cp39cXWe.js +0 -1016
  68. package/dist/index-D5v913EJ.js +0 -4
  69. package/dist/index-DmeWGGmS.js +0 -1074
  70. package/dist/index-DvYrXKkX.js +0 -113
  71. package/dist/index-Ksja3su6.js +0 -151
  72. package/dist/index-xuotMAFm.js +0 -118
  73. package/dist/inference/types.d.ts +0 -16
  74. package/dist/inference/types.js +0 -1
  75. package/dist/jszip.min-BZhlzntC.js +0 -2313
  76. package/dist/kernel_funcs_utils-pq0CK9co.js +0 -306
  77. package/dist/layers/BaseLayer.d.ts +0 -44
  78. package/dist/layers/BaseLayer.js +0 -74
  79. package/dist/layers/CausalSelfAttention.d.ts +0 -39
  80. package/dist/layers/CausalSelfAttention.js +0 -86
  81. package/dist/layers/LoRA.d.ts +0 -14
  82. package/dist/layers/LoRA.js +0 -58
  83. package/dist/layers/MLP.d.ts +0 -17
  84. package/dist/layers/MLP.js +0 -44
  85. package/dist/layers/PositionEmbedding.d.ts +0 -8
  86. package/dist/layers/PositionEmbedding.js +0 -31
  87. package/dist/layers/RMSNorm.d.ts +0 -12
  88. package/dist/layers/RMSNorm.js +0 -22
  89. package/dist/layers/RoPECache.d.ts +0 -18
  90. package/dist/layers/RoPECache.js +0 -50
  91. package/dist/layers/TiedEmbedding.d.ts +0 -13
  92. package/dist/layers/TiedEmbedding.js +0 -36
  93. package/dist/layers/TransformerBlock.d.ts +0 -27
  94. package/dist/layers/TransformerBlock.js +0 -40
  95. package/dist/layers/WeightStore.d.ts +0 -20
  96. package/dist/layers/WeightStore.js +0 -76
  97. package/dist/loader/load.d.ts +0 -6
  98. package/dist/loader/load.js +0 -68
  99. package/dist/loader/loadHF.d.ts +0 -8
  100. package/dist/loader/loadHF.js +0 -22
  101. package/dist/loader/loadTransformers.d.ts +0 -4
  102. package/dist/loader/loadTransformers.js +0 -44
  103. package/dist/loader/loadZipMeta.d.ts +0 -3
  104. package/dist/loader/loadZipMeta.js +0 -16
  105. package/dist/loader/newZipLoad.d.ts +0 -3
  106. package/dist/loader/newZipLoad.js +0 -31
  107. package/dist/loader/oldZipLoad.d.ts +0 -9
  108. package/dist/loader/oldZipLoad.js +0 -80
  109. package/dist/loader/save.d.ts +0 -16
  110. package/dist/loader/save.js +0 -90
  111. package/dist/loader/types.d.ts +0 -67
  112. package/dist/loader/types.js +0 -1
  113. package/dist/main.d.ts +0 -50
  114. package/dist/main.js +0 -109
  115. package/dist/matMul16-BcVC_E62.js +0 -80
  116. package/dist/matMulGelu-JNLZqKQp.js +0 -163
  117. package/dist/mat_mul-DhG0Newp.js +0 -11
  118. package/dist/mod-CSdCpRjf.js +0 -11
  119. package/dist/models/NanoGPTV1.d.ts +0 -16
  120. package/dist/models/NanoGPTV1.js +0 -99
  121. package/dist/models/NanoGPTV2.d.ts +0 -16
  122. package/dist/models/NanoGPTV2.js +0 -90
  123. package/dist/models/config.d.ts +0 -27
  124. package/dist/models/config.js +0 -50
  125. package/dist/models/factory.d.ts +0 -3
  126. package/dist/models/factory.js +0 -16
  127. package/dist/models/model.d.ts +0 -44
  128. package/dist/models/model.js +0 -134
  129. package/dist/non_max_suppression_impl-B2W7YjZB.js +0 -102
  130. package/dist/not_equal-hurPF26l.js +0 -64
  131. package/dist/ones-BytntneX.js +0 -14
  132. package/dist/ops/adamAdjust.d.ts +0 -2
  133. package/dist/ops/adamAdjust.js +0 -9
  134. package/dist/ops/adamMoments.d.ts +0 -2
  135. package/dist/ops/adamMoments.js +0 -9
  136. package/dist/ops/add16.d.ts +0 -2
  137. package/dist/ops/add16.js +0 -9
  138. package/dist/ops/appendCache.d.ts +0 -2
  139. package/dist/ops/appendCache.js +0 -22
  140. package/dist/ops/attentionMask.d.ts +0 -2
  141. package/dist/ops/attentionMask.js +0 -10
  142. package/dist/ops/concat16.d.ts +0 -2
  143. package/dist/ops/concat16.js +0 -9
  144. package/dist/ops/cpu/adamAdjust.d.ts +0 -1
  145. package/dist/ops/cpu/adamAdjust.js +0 -18
  146. package/dist/ops/cpu/adamMoments.d.ts +0 -1
  147. package/dist/ops/cpu/adamMoments.js +0 -16
  148. package/dist/ops/cpu/appendCache.d.ts +0 -1
  149. package/dist/ops/cpu/appendCache.js +0 -23
  150. package/dist/ops/cpu/attentionMask.d.ts +0 -1
  151. package/dist/ops/cpu/attentionMask.js +0 -22
  152. package/dist/ops/cpu/fusedSoftmax.d.ts +0 -9
  153. package/dist/ops/cpu/fusedSoftmax.js +0 -29
  154. package/dist/ops/cpu/gatherSub.d.ts +0 -1
  155. package/dist/ops/cpu/gatherSub.js +0 -18
  156. package/dist/ops/cpu/gelu.d.ts +0 -1
  157. package/dist/ops/cpu/gelu.js +0 -40
  158. package/dist/ops/cpu/matMul16.d.ts +0 -1
  159. package/dist/ops/cpu/matMul16.js +0 -15
  160. package/dist/ops/cpu/matMulGelu.d.ts +0 -1
  161. package/dist/ops/cpu/matMulGelu.js +0 -53
  162. package/dist/ops/cpu/matMulMul.d.ts +0 -1
  163. package/dist/ops/cpu/matMulMul.js +0 -23
  164. package/dist/ops/cpu/mulDropout.d.ts +0 -1
  165. package/dist/ops/cpu/mulDropout.js +0 -23
  166. package/dist/ops/cpu/normRMS.d.ts +0 -1
  167. package/dist/ops/cpu/normRMS.js +0 -39
  168. package/dist/ops/cpu/qkv.d.ts +0 -5
  169. package/dist/ops/cpu/qkv.js +0 -41
  170. package/dist/ops/cpu/rope.d.ts +0 -6
  171. package/dist/ops/cpu/rope.js +0 -38
  172. package/dist/ops/cpu/scatterSub.d.ts +0 -1
  173. package/dist/ops/cpu/scatterSub.js +0 -23
  174. package/dist/ops/dot16.d.ts +0 -2
  175. package/dist/ops/dot16.js +0 -42
  176. package/dist/ops/dropout.d.ts +0 -2
  177. package/dist/ops/dropout.js +0 -14
  178. package/dist/ops/dropout16.d.ts +0 -2
  179. package/dist/ops/dropout16.js +0 -25
  180. package/dist/ops/gatherSub.d.ts +0 -2
  181. package/dist/ops/gatherSub.js +0 -9
  182. package/dist/ops/gelu.d.ts +0 -3
  183. package/dist/ops/gelu.js +0 -8
  184. package/dist/ops/globalNorm.d.ts +0 -2
  185. package/dist/ops/globalNorm.js +0 -13
  186. package/dist/ops/grads/add16.d.ts +0 -1
  187. package/dist/ops/grads/add16.js +0 -26
  188. package/dist/ops/grads/attentionMask.d.ts +0 -1
  189. package/dist/ops/grads/attentionMask.js +0 -21
  190. package/dist/ops/grads/dropout16.d.ts +0 -1
  191. package/dist/ops/grads/dropout16.js +0 -2
  192. package/dist/ops/grads/gelu.d.ts +0 -2
  193. package/dist/ops/grads/gelu.js +0 -5
  194. package/dist/ops/grads/matMul16.d.ts +0 -2
  195. package/dist/ops/grads/matMul16.js +0 -9
  196. package/dist/ops/grads/matMulGelu.d.ts +0 -1
  197. package/dist/ops/grads/matMulGelu.js +0 -17
  198. package/dist/ops/grads/mul16.d.ts +0 -1
  199. package/dist/ops/grads/mul16.js +0 -4
  200. package/dist/ops/grads/normRMS.d.ts +0 -3
  201. package/dist/ops/grads/normRMS.js +0 -33
  202. package/dist/ops/grads/pack16.d.ts +0 -2
  203. package/dist/ops/grads/pack16.js +0 -6
  204. package/dist/ops/grads/qkv.d.ts +0 -3
  205. package/dist/ops/grads/qkv.js +0 -34
  206. package/dist/ops/grads/rope.d.ts +0 -2
  207. package/dist/ops/grads/rope.js +0 -5
  208. package/dist/ops/grads/softmax16.d.ts +0 -2
  209. package/dist/ops/grads/softmax16.js +0 -25
  210. package/dist/ops/grads/unpack16.d.ts +0 -2
  211. package/dist/ops/grads/unpack16.js +0 -5
  212. package/dist/ops/grads/utils.d.ts +0 -4
  213. package/dist/ops/grads/utils.js +0 -14
  214. package/dist/ops/log.d.ts +0 -0
  215. package/dist/ops/log.js +0 -1
  216. package/dist/ops/matMul16.d.ts +0 -15
  217. package/dist/ops/matMul16.js +0 -13
  218. package/dist/ops/matMulGelu.d.ts +0 -3
  219. package/dist/ops/matMulGelu.js +0 -14
  220. package/dist/ops/matMulMul.d.ts +0 -2
  221. package/dist/ops/matMulMul.js +0 -9
  222. package/dist/ops/mul16.d.ts +0 -2
  223. package/dist/ops/mul16.js +0 -39
  224. package/dist/ops/mulDrop.d.ts +0 -2
  225. package/dist/ops/mulDrop.js +0 -9
  226. package/dist/ops/normRMS.d.ts +0 -2
  227. package/dist/ops/normRMS.js +0 -19
  228. package/dist/ops/pack16.d.ts +0 -2
  229. package/dist/ops/pack16.js +0 -5
  230. package/dist/ops/qkv.d.ts +0 -2
  231. package/dist/ops/qkv.js +0 -10
  232. package/dist/ops/reshape16.d.ts +0 -2
  233. package/dist/ops/reshape16.js +0 -41
  234. package/dist/ops/rope.d.ts +0 -3
  235. package/dist/ops/rope.js +0 -7
  236. package/dist/ops/scatterSub.d.ts +0 -2
  237. package/dist/ops/scatterSub.js +0 -9
  238. package/dist/ops/slice16.d.ts +0 -2
  239. package/dist/ops/slice16.js +0 -9
  240. package/dist/ops/softmax16.d.ts +0 -2
  241. package/dist/ops/softmax16.js +0 -9
  242. package/dist/ops/sub16.d.ts +0 -2
  243. package/dist/ops/sub16.js +0 -8
  244. package/dist/ops/sum16.d.ts +0 -2
  245. package/dist/ops/sum16.js +0 -13
  246. package/dist/ops/transpose16.d.ts +0 -3
  247. package/dist/ops/transpose16.js +0 -40
  248. package/dist/ops/unpack16.d.ts +0 -2
  249. package/dist/ops/unpack16.js +0 -6
  250. package/dist/ops/webgl/adamAdjust.d.ts +0 -1
  251. package/dist/ops/webgl/adamAdjust.js +0 -49
  252. package/dist/ops/webgl/adamMoments.d.ts +0 -1
  253. package/dist/ops/webgl/adamMoments.js +0 -40
  254. package/dist/ops/webgl/appendCache.d.ts +0 -1
  255. package/dist/ops/webgl/appendCache.js +0 -44
  256. package/dist/ops/webgl/attentionMask.d.ts +0 -1
  257. package/dist/ops/webgl/attentionMask.js +0 -45
  258. package/dist/ops/webgl/dropout16.d.ts +0 -1
  259. package/dist/ops/webgl/dropout16.js +0 -11
  260. package/dist/ops/webgl/fusedSoftmax.d.ts +0 -11
  261. package/dist/ops/webgl/fusedSoftmax.js +0 -80
  262. package/dist/ops/webgl/gatherSub.d.ts +0 -1
  263. package/dist/ops/webgl/gatherSub.js +0 -27
  264. package/dist/ops/webgl/gelu.d.ts +0 -2
  265. package/dist/ops/webgl/gelu.js +0 -50
  266. package/dist/ops/webgl/log.d.ts +0 -17
  267. package/dist/ops/webgl/log.js +0 -23
  268. package/dist/ops/webgl/matMul16.d.ts +0 -1
  269. package/dist/ops/webgl/matMul16.js +0 -45
  270. package/dist/ops/webgl/matMulGelu.d.ts +0 -21
  271. package/dist/ops/webgl/matMulGelu.js +0 -9
  272. package/dist/ops/webgl/matMulMul.d.ts +0 -14
  273. package/dist/ops/webgl/matMulMul.js +0 -28
  274. package/dist/ops/webgl/mulDropout.d.ts +0 -1
  275. package/dist/ops/webgl/mulDropout.js +0 -41
  276. package/dist/ops/webgl/normRMS.d.ts +0 -1
  277. package/dist/ops/webgl/normRMS.js +0 -93
  278. package/dist/ops/webgl/qkv.d.ts +0 -1
  279. package/dist/ops/webgl/qkv.js +0 -46
  280. package/dist/ops/webgl/rope.d.ts +0 -1
  281. package/dist/ops/webgl/rope.js +0 -56
  282. package/dist/ops/webgl/scatterSub.d.ts +0 -1
  283. package/dist/ops/webgl/scatterSub.js +0 -27
  284. package/dist/ops/webgpu/adamAdjust.d.ts +0 -1
  285. package/dist/ops/webgpu/adamAdjust.js +0 -57
  286. package/dist/ops/webgpu/adamMoments.d.ts +0 -1
  287. package/dist/ops/webgpu/adamMoments.js +0 -60
  288. package/dist/ops/webgpu/add16.d.ts +0 -1
  289. package/dist/ops/webgpu/add16.js +0 -13
  290. package/dist/ops/webgpu/appendCache.d.ts +0 -1
  291. package/dist/ops/webgpu/appendCache.js +0 -105
  292. package/dist/ops/webgpu/attentionMask.d.ts +0 -1
  293. package/dist/ops/webgpu/attentionMask.js +0 -26
  294. package/dist/ops/webgpu/attentionMask32_program.d.ts +0 -19
  295. package/dist/ops/webgpu/attentionMask32_program.js +0 -54
  296. package/dist/ops/webgpu/clipScale.d.ts +0 -1
  297. package/dist/ops/webgpu/clipScale.js +0 -58
  298. package/dist/ops/webgpu/concat16.d.ts +0 -19
  299. package/dist/ops/webgpu/concat16.js +0 -126
  300. package/dist/ops/webgpu/dropout16.d.ts +0 -1
  301. package/dist/ops/webgpu/dropout16.js +0 -51
  302. package/dist/ops/webgpu/gatherSub.d.ts +0 -1
  303. package/dist/ops/webgpu/gatherSub.js +0 -39
  304. package/dist/ops/webgpu/gelu.d.ts +0 -14
  305. package/dist/ops/webgpu/gelu.js +0 -141
  306. package/dist/ops/webgpu/index.d.ts +0 -0
  307. package/dist/ops/webgpu/index.js +0 -26
  308. package/dist/ops/webgpu/matMul16.d.ts +0 -1
  309. package/dist/ops/webgpu/matMul16.js +0 -65
  310. package/dist/ops/webgpu/matMul16_program.d.ts +0 -42
  311. package/dist/ops/webgpu/matMul16_program.js +0 -343
  312. package/dist/ops/webgpu/mul16.d.ts +0 -1
  313. package/dist/ops/webgpu/mul16.js +0 -13
  314. package/dist/ops/webgpu/norm2.d.ts +0 -1
  315. package/dist/ops/webgpu/norm2.js +0 -76
  316. package/dist/ops/webgpu/normRMS.d.ts +0 -1
  317. package/dist/ops/webgpu/normRMS.js +0 -34
  318. package/dist/ops/webgpu/normRMS16_program.d.ts +0 -10
  319. package/dist/ops/webgpu/normRMS16_program.js +0 -25
  320. package/dist/ops/webgpu/normRMS32_program.d.ts +0 -10
  321. package/dist/ops/webgpu/normRMS32_program.js +0 -25
  322. package/dist/ops/webgpu/normRMSGrad.d.ts +0 -1
  323. package/dist/ops/webgpu/normRMSGrad.js +0 -284
  324. package/dist/ops/webgpu/pack16.d.ts +0 -1
  325. package/dist/ops/webgpu/pack16.js +0 -18
  326. package/dist/ops/webgpu/pack16_program.d.ts +0 -19
  327. package/dist/ops/webgpu/pack16_program.js +0 -92
  328. package/dist/ops/webgpu/qkv.d.ts +0 -1
  329. package/dist/ops/webgpu/qkv.js +0 -24
  330. package/dist/ops/webgpu/rope.d.ts +0 -1
  331. package/dist/ops/webgpu/rope.js +0 -135
  332. package/dist/ops/webgpu/scatterSub.d.ts +0 -1
  333. package/dist/ops/webgpu/scatterSub.js +0 -40
  334. package/dist/ops/webgpu/slice16.d.ts +0 -7
  335. package/dist/ops/webgpu/slice16.js +0 -69
  336. package/dist/ops/webgpu/softmax16.d.ts +0 -17
  337. package/dist/ops/webgpu/softmax16.js +0 -21
  338. package/dist/ops/webgpu/softmax16_program.d.ts +0 -13
  339. package/dist/ops/webgpu/softmax16_program.js +0 -73
  340. package/dist/ops/webgpu/softmax16_subgroup_program.d.ts +0 -17
  341. package/dist/ops/webgpu/softmax16_subgroup_program.js +0 -75
  342. package/dist/ops/webgpu/softmax16grad.d.ts +0 -1
  343. package/dist/ops/webgpu/softmax16grad.js +0 -37
  344. package/dist/ops/webgpu/sub16.d.ts +0 -1
  345. package/dist/ops/webgpu/sub16.js +0 -13
  346. package/dist/ops/webgpu/sum16.d.ts +0 -1
  347. package/dist/ops/webgpu/sum16.js +0 -38
  348. package/dist/ops/webgpu/transpose16.d.ts +0 -1
  349. package/dist/ops/webgpu/transpose16.js +0 -34
  350. package/dist/ops/webgpu/transpose16_program.d.ts +0 -16
  351. package/dist/ops/webgpu/transpose16_program.js +0 -50
  352. package/dist/ops/webgpu/transpose16_shared_program.d.ts +0 -15
  353. package/dist/ops/webgpu/transpose16_shared_program.js +0 -70
  354. package/dist/ops/webgpu/unpack16.d.ts +0 -1
  355. package/dist/ops/webgpu/unpack16.js +0 -48
  356. package/dist/ops/webgpu/utils/binary_op.d.ts +0 -35
  357. package/dist/ops/webgpu/utils/binary_op.js +0 -139
  358. package/dist/ops/webgpu/utils/deviceInfo.d.ts +0 -7
  359. package/dist/ops/webgpu/utils/deviceInfo.js +0 -11
  360. package/dist/ops/webgpu/utils/reductions.d.ts +0 -43
  361. package/dist/ops/webgpu/utils/reductions.js +0 -275
  362. package/dist/ops-CsXeTq1P.js +0 -476
  363. package/dist/pack16-bqltoUlR.js +0 -39
  364. package/dist/papaparse.min-C0cScC2i.js +0 -418
  365. package/dist/parquet-Bqjmp2vo.js +0 -44231
  366. package/dist/patches/webgpu_backend.d.ts +0 -18
  367. package/dist/patches/webgpu_backend.js +0 -56
  368. package/dist/patches/webgpu_base.d.ts +0 -21
  369. package/dist/patches/webgpu_base.js +0 -34
  370. package/dist/patches/webgpu_program.d.ts +0 -36
  371. package/dist/patches/webgpu_program.js +0 -400
  372. package/dist/pdf-NIhmP3sq.js +0 -19477
  373. package/dist/rand_util-CZ7yLoUm.js +0 -50
  374. package/dist/random_normal-IBRrha8a.js +0 -14
  375. package/dist/random_width-DN5ZtQkM.js +0 -9796
  376. package/dist/range-C-CjF-LI.js +0 -10
  377. package/dist/relu-J_X6MUzx.js +0 -9
  378. package/dist/reshape-BDOuCSNW.js +0 -9
  379. package/dist/resize_nearest_neighbor-BojqlfRe.js +0 -150
  380. package/dist/rope-DcrZM_e6.js +0 -24
  381. package/dist/scatter_nd_util-ByNJaL6I.js +0 -46
  382. package/dist/segment_util-Dasb2Zaf.js +0 -43
  383. package/dist/selu_util-BLhIqRkw.js +0 -44
  384. package/dist/shared-3agzAqQ_.js +0 -53
  385. package/dist/shared-CagdqkLh.js +0 -2143
  386. package/dist/slice-BzS11Qh0.js +0 -12
  387. package/dist/slice_util-CC35pLmT.js +0 -153
  388. package/dist/softmax-D4q1LJN7.js +0 -12
  389. package/dist/split-C2Sj255c.js +0 -9
  390. package/dist/squeeze-ho4wLUek.js +0 -10
  391. package/dist/stack-DudVrtmG.js +0 -11
  392. package/dist/step-BTxPtq1r.js +0 -261
  393. package/dist/sum-BpiwSWvg.js +0 -11
  394. package/dist/tensor-BWFldCso.js +0 -8
  395. package/dist/tensor1d-LMGMIUlr.js +0 -11
  396. package/dist/tensor2d-BnXMKScO.js +0 -14
  397. package/dist/tensor4d-C6UCG_u8.js +0 -14
  398. package/dist/tfjs_backend-BGnG-ppu.js +0 -654
  399. package/dist/tile-CFy-xTO6.js +0 -11
  400. package/dist/tokeniser/BaseTokeniser.d.ts +0 -33
  401. package/dist/tokeniser/BaseTokeniser.js +0 -124
  402. package/dist/tokeniser/CharTokeniser.d.ts +0 -24
  403. package/dist/tokeniser/CharTokeniser.js +0 -107
  404. package/dist/tokeniser/bpe.d.ts +0 -28
  405. package/dist/tokeniser/bpe.js +0 -173
  406. package/dist/tokeniser/messages.d.ts +0 -61
  407. package/dist/tokeniser/messages.js +0 -1
  408. package/dist/tokeniser/type.d.ts +0 -34
  409. package/dist/tokeniser/type.js +0 -1
  410. package/dist/training/AdamW.d.ts +0 -36
  411. package/dist/training/AdamW.js +0 -138
  412. package/dist/training/BasicTrainer.d.ts +0 -63
  413. package/dist/training/BasicTrainer.js +0 -265
  414. package/dist/training/DatasetBuilder.d.ts +0 -26
  415. package/dist/training/DatasetBuilder.js +0 -86
  416. package/dist/training/Evaluator.d.ts +0 -19
  417. package/dist/training/Evaluator.js +0 -39
  418. package/dist/training/LRScheduler.d.ts +0 -12
  419. package/dist/training/LRScheduler.js +0 -34
  420. package/dist/training/PreTrainer.d.ts +0 -11
  421. package/dist/training/PreTrainer.js +0 -20
  422. package/dist/training/SFTTrainer.d.ts +0 -12
  423. package/dist/training/SFTTrainer.js +0 -22
  424. package/dist/training/loss.d.ts +0 -3
  425. package/dist/training/loss.js +0 -24
  426. package/dist/training/orthoGrad.d.ts +0 -2
  427. package/dist/training/orthoGrad.js +0 -10
  428. package/dist/training/sparseCrossEntropy.d.ts +0 -7
  429. package/dist/training/sparseCrossEntropy.js +0 -69
  430. package/dist/training/tasks/ConversationTask.d.ts +0 -18
  431. package/dist/training/tasks/ConversationTask.js +0 -40
  432. package/dist/training/tasks/PretrainingTask.d.ts +0 -17
  433. package/dist/training/tasks/PretrainingTask.js +0 -47
  434. package/dist/training/tasks/StartSentenceTask.d.ts +0 -18
  435. package/dist/training/tasks/StartSentenceTask.js +0 -49
  436. package/dist/training/tasks/Task.d.ts +0 -22
  437. package/dist/training/tasks/Task.js +0 -68
  438. package/dist/training/tasks/splitter.d.ts +0 -5
  439. package/dist/training/tasks/splitter.js +0 -21
  440. package/dist/training/types.d.ts +0 -78
  441. package/dist/training/types.js +0 -1
  442. package/dist/training/validation.d.ts +0 -17
  443. package/dist/training/validation.js +0 -84
  444. package/dist/transpose-9kRxIXWR.js +0 -36
  445. package/dist/unsorted_segment_sum-DJvk5xnh.js +0 -277
  446. package/dist/utilities/arrayClose.d.ts +0 -1
  447. package/dist/utilities/arrayClose.js +0 -20
  448. package/dist/utilities/datasetID.d.ts +0 -2
  449. package/dist/utilities/datasetID.js +0 -21
  450. package/dist/utilities/dummy.d.ts +0 -9
  451. package/dist/utilities/dummy.js +0 -43
  452. package/dist/utilities/multinomialCPU.d.ts +0 -2
  453. package/dist/utilities/multinomialCPU.js +0 -13
  454. package/dist/utilities/naming.d.ts +0 -4
  455. package/dist/utilities/naming.js +0 -1
  456. package/dist/utilities/packed.d.ts +0 -4
  457. package/dist/utilities/packed.js +0 -15
  458. package/dist/utilities/parameters.d.ts +0 -11
  459. package/dist/utilities/parameters.js +0 -57
  460. package/dist/utilities/performance.d.ts +0 -2
  461. package/dist/utilities/performance.js +0 -16
  462. package/dist/utilities/profile.d.ts +0 -17
  463. package/dist/utilities/profile.js +0 -38
  464. package/dist/utilities/safetensors.d.ts +0 -3
  465. package/dist/utilities/safetensors.js +0 -83
  466. package/dist/utilities/sentences.d.ts +0 -5
  467. package/dist/utilities/sentences.js +0 -41
  468. package/dist/utilities/tokenParse.d.ts +0 -1
  469. package/dist/utilities/tokenParse.js +0 -21
  470. package/dist/utilities/topP.d.ts +0 -1
  471. package/dist/utilities/topP.js +0 -13
  472. package/dist/utilities/waitForModel.d.ts +0 -2
  473. package/dist/utilities/waitForModel.js +0 -12
  474. package/dist/utilities/weights.d.ts +0 -12
  475. package/dist/utilities/weights.js +0 -45
  476. package/dist/utilities/yielder.d.ts +0 -1
  477. package/dist/utilities/yielder.js +0 -7
  478. package/dist/variable-Ck482e3n.js +0 -7
  479. package/dist/webgpu_program-B4HmApL1.js +0 -525
  480. package/dist/webgpu_util-DYlGSwOJ.js +0 -64
  481. package/dist/zeros-DvZpK8s6.js +0 -13
  482. package/dist/zeros_like-CWjDdwr-.js +0 -721
@@ -1,139 +0,0 @@
1
- import { f as r, c as n } from "../../../webgpu_util-DYlGSwOJ.js";
2
- import { g as p } from "../../../binary_op_util-pKXltfxI.js";
3
- import { B as k } from "../../../binary_op_util-pKXltfxI.js";
4
- import { _ as c, ai as s } from "../../../index-CUXkjxiT.js";
5
- import { e as u } from "../../../webgpu_program-B4HmApL1.js";
6
- class x {
7
- dispatch;
8
- dispatchLayout;
9
- outputComponent;
10
- op;
11
- outputShape;
12
- shaderKey;
13
- size = !0;
14
- variableNames = ["A", "B"];
15
- workgroupSize;
16
- variableComponents;
17
- constructor(e, t, o) {
18
- this.outputShape = c(t, o), this.dispatchLayout = r(this.outputShape), this.op = e;
19
- const i = t.length > 0 && t[t.length - 1] % 4 === 0, a = o.length > 0 && o[o.length - 1] % 4 === 0;
20
- if (i && a)
21
- this.outputComponent = 4, this.variableComponents = [4, 4];
22
- else throw i && (s(o) || o[o.length - 1] === 1) || a && (s(t) || t[t.length - 1] === 1) ? new Error("Cannot broadcast 16-bit float binary ops with mixed vector sizes") : new Error("16-bit float binary ops require inner dimension to be multiple of 4");
23
- this.shaderKey = `binary_${e}_${this.variableComponents}`, this.workgroupSize = [128, 1, 1], this.dispatch = n(this.dispatchLayout, this.outputShape, this.workgroupSize, [
24
- this.outputComponent,
25
- 1,
26
- 1
27
- ]);
28
- }
29
- getUserCode() {
30
- const e = this.outputComponent === 4 ? "vec4<f32>" : "f32";
31
- return `
32
- ${`
33
- fn binaryOperation(a : ${e}, b : ${e}) -> ${e} {
34
- ${p(this.op, this.outputComponent === 4)}
35
- };
36
- `}
37
- ${u("index")} {
38
- if (index < uniforms.size) {
39
- let a = A[index];
40
- let b = B[index];
41
-
42
- let v4a1 = vec4<f32>(
43
- unpack2x16float(u32(a.x)),
44
- unpack2x16float(u32(a.y))
45
- );
46
- let v4a2 = vec4<f32>(
47
- unpack2x16float(u32(a.z)),
48
- unpack2x16float(u32(a.w))
49
- );
50
- let v4b1 = vec4<f32>(
51
- unpack2x16float(u32(b.x)),
52
- unpack2x16float(u32(b.y))
53
- );
54
- let v4b2 = vec4<f32>(
55
- unpack2x16float(u32(b.z)),
56
- unpack2x16float(u32(b.w))
57
- );
58
-
59
- let v4res1 = binaryOperation(v4a1, v4b1);
60
- let v4res2 = binaryOperation(v4a2, v4b2);
61
-
62
- let res = vec4<i32>(
63
- i32(pack2x16float(v4res1.xy)),
64
- i32(pack2x16float(v4res1.zw)),
65
- i32(pack2x16float(v4res2.xy)),
66
- i32(pack2x16float(v4res2.zw))
67
- );
68
-
69
- result[index] = res;
70
- }
71
- }
72
- `;
73
- }
74
- }
75
- class b {
76
- dispatch;
77
- dispatchLayout;
78
- outputComponent;
79
- op;
80
- outputShape;
81
- shaderKey;
82
- size = !0;
83
- variableNames = ["A", "B"];
84
- workgroupSize;
85
- variableComponents;
86
- constructor(e, t) {
87
- if (this.outputShape = t, this.dispatchLayout = r(this.outputShape), this.op = e, t.length > 0 && t[t.length - 1] % 4 === 0)
88
- this.outputComponent = 4, this.variableComponents = [4, 1];
89
- else
90
- throw new Error("16-bit float binary ops require inner dimension to be multiple of 4");
91
- this.shaderKey = `binary_scal_${e}_${this.variableComponents}`, this.workgroupSize = [128, 1, 1], this.dispatch = n(this.dispatchLayout, this.outputShape, this.workgroupSize, [
92
- this.outputComponent,
93
- 1,
94
- 1
95
- ]);
96
- }
97
- getUserCode() {
98
- const e = this.outputComponent === 4 ? "vec4<f32>" : "f32";
99
- return `
100
- ${`
101
- fn binaryOperation(a : ${e}, b : ${e}) -> ${e} {
102
- ${p(this.op, this.outputComponent === 4)}
103
- };
104
- `}
105
- ${u("index")} {
106
- if (index < uniforms.size) {
107
- let a = A[index];
108
- let b = B[0];
109
-
110
- let v4a1 = vec4<f32>(
111
- unpack2x16float(u32(a.x)),
112
- unpack2x16float(u32(a.y))
113
- );
114
- let v4a2 = vec4<f32>(
115
- unpack2x16float(u32(a.z)),
116
- unpack2x16float(u32(a.w))
117
- );
118
-
119
- let v4res1 = binaryOperation(v4a1, vec4<f32>(b));
120
- let v4res2 = binaryOperation(v4a2, vec4<f32>(b));
121
-
122
- let res = vec4<i32>(
123
- i32(pack2x16float(v4res1.xy)),
124
- i32(pack2x16float(v4res1.zw)),
125
- i32(pack2x16float(v4res2.xy)),
126
- i32(pack2x16float(v4res2.zw))
127
- );
128
-
129
- result[index] = res;
130
- }
131
- }
132
- `;
133
- }
134
- }
135
- export {
136
- x as BinaryOpProgram,
137
- b as BinaryOpScalarProgram,
138
- k as BinaryOpType
139
- };
@@ -1,7 +0,0 @@
1
- import { default as WebGPUBackendPatch } from '../../../patches/webgpu_backend';
2
- export interface DeviceInformation {
3
- subgroupsSupported: boolean;
4
- subgroupMaxSize: number;
5
- variableSubgroups: boolean;
6
- }
7
- export default function createDeviceInformation(backend: WebGPUBackendPatch): DeviceInformation;
@@ -1,11 +0,0 @@
1
- function o(u) {
2
- const r = u.device.features.has("subgroups");
3
- return {
4
- subgroupsSupported: r,
5
- subgroupMaxSize: u.subgroupMaxSize,
6
- variableSubgroups: u.subgroupMinSize !== u.subgroupMaxSize && r
7
- };
8
- }
9
- export {
10
- o as default
11
- };
@@ -1,43 +0,0 @@
1
- import { backend_util, TensorInfo } from '@tensorflow/tfjs-core';
2
- import { WebGPUProgram } from '@tensorflow/tfjs-backend-webgpu/dist/webgpu_program';
3
- import { WebGPUBackend } from '@tensorflow/tfjs-backend-webgpu';
4
- import { DeviceInformation } from './deviceInfo';
5
- export interface ReduceParams {
6
- reductionOp: 'mean' | 'sum';
7
- elementwise?: boolean;
8
- forceWorkgroupSize?: number;
9
- }
10
- export declare function createReduceInfo(inputs: TensorInfo[], axis: number | number[]): backend_util.ReduceInfo;
11
- export declare class ReduceProgram implements WebGPUProgram {
12
- atomic: boolean;
13
- outputShape: number[];
14
- shaderKey: string;
15
- dispatchLayout: {
16
- x: number[];
17
- };
18
- dispatch: [number, number, number];
19
- workgroupSize: [number, number, number];
20
- variableNames: string[];
21
- uniforms: string;
22
- inputShape: number[];
23
- size: boolean;
24
- packed: boolean;
25
- outputComponent: number;
26
- variableComponents?: number[];
27
- elementwise: boolean;
28
- subgroups: boolean;
29
- subgroupBuiltins: boolean;
30
- deviceInfo: DeviceInformation;
31
- params: ReduceParams;
32
- utilityFunctions?: string;
33
- constructor(deviceInfo: DeviceInformation, reduceInfo: backend_util.ReduceInfo, params: ReduceParams, packed: boolean);
34
- protected getWriteSnippet(): string;
35
- protected getPreprocessSnippet(): string;
36
- protected getPostprocessSnippet(): string;
37
- protected getReadSnippet(): string;
38
- getUserCode(): string;
39
- }
40
- export declare function reduce(program: ReduceProgram, inputs: TensorInfo[], backend: WebGPUBackend, extraUniforms?: {
41
- type: string;
42
- data: number[];
43
- }[], output?: TensorInfo): TensorInfo;
@@ -1,275 +0,0 @@
1
- import { ah as h, U as S, h as f } from "../../../index-CUXkjxiT.js";
2
- import { e as d } from "../../../webgpu_program-B4HmApL1.js";
3
- import { reshape16 as g } from "../../reshape16.js";
4
- import { f as z } from "../../../webgpu_util-DYlGSwOJ.js";
5
- import { c as k } from "../../../axis_util-GTVlo58H.js";
6
- import { z as x } from "../../../zeros-DvZpK8s6.js";
7
- function c(e, u, t, i) {
8
- return e && !u ? `
9
- bestValue = subgroupAdd(bestValue);
10
- ` : e ? `
11
- bestValue = subgroupAdd(bestValue);
12
- let lane = localId.x % subgroupSize;
13
- if (lane == 0) {
14
- bestValues[localId.x / subgroupSize] = bestValue;
15
- }
16
- workgroupBarrier();
17
- let numSubgroups = ${t} / subgroupSize;
18
- bestValue = select(${i ? "vec2<f32>(0.0f)" : "0.0f"}, bestValues[lane], lane < numSubgroups);
19
- bestValue = subgroupAdd(bestValue);
20
- ` : `
21
- bestValues[localId.x] = bestValue;
22
- workgroupBarrier();
23
-
24
- var reduceSize = min(u32(Length), ${t}u);
25
- for (var currentSize = reduceSize / 2u; reduceSize > 1u;
26
- currentSize = reduceSize / 2u) {
27
- let interval = DIV_CEIL(reduceSize, 2u);
28
- if (localId.x < currentSize) {
29
- let candidate = bestValues[localId.x + interval];
30
- bestValue = bestValue + candidate;
31
- bestValues[localId.x] = bestValue;
32
- }
33
- reduceSize = interval;
34
- workgroupBarrier();
35
- }
36
-
37
- bestValue = bestValues[0];
38
- `;
39
- }
40
- function $(e) {
41
- const u = `${e.workgroupSizeX}`, t = e.subgroups && !e.variableSubgroups ? "" : `
42
- var<workgroup> bestValues : array<f32, ${e.workgroupSizeX}>;
43
- `, i = c(e.subgroups, e.variableSubgroups, e.workgroupSizeX, !1);
44
- return `
45
- fn DIV_CEIL(a : u32, b : u32) -> u32 {
46
- return ((a - 1u) / b + 1u);
47
- }
48
-
49
- fn readInput(index: i32) -> vec2<f32> {
50
- ${e.inputReadSnippet ? e.inputReadSnippet : `
51
- let packed = u32(x[index]);
52
- return unpack2x16float(packed);
53
- `}
54
- }
55
-
56
- ${t}
57
- ${e.utilityFunctions ?? ""}
58
-
59
- ${d("index")} {
60
- let outputIndex = index / ${u};
61
- let offset = outputIndex * uniforms.reduceSize;
62
- var bestValue = 0.0f;
63
- let Length = uniforms.reduceSize;
64
- let tid = i32(localId.x);
65
-
66
- for (var k = tid; k < Length;
67
- k = k + ${u}) {
68
- var candidate = readInput(offset + k);
69
- ${e.inputSnippet}
70
- bestValue = bestValue + candidate.x + candidate.y;
71
- }
72
-
73
- ${i}
74
- bestValue = bestValue ${e.reductionOp === "mean" ? "/ f32(uniforms.reduceSize * 2i)" : ""};
75
-
76
- ${e.reducedSnippet ? e.reducedSnippet : ""}
77
-
78
- for (var k = tid; k < Length;
79
- k = k + ${u}) {
80
- ${e.outputSnippet}
81
- }
82
- }
83
- `;
84
- }
85
- function v(e) {
86
- const u = `${e.workgroupSizeX}`, t = e.subgroups && !e.variableSubgroups ? "" : `
87
- var<workgroup> bestValues : array<vec2<f32>, ${e.workgroupSizeX}>;
88
- `, i = c(e.subgroups, e.variableSubgroups, e.workgroupSizeX, !0);
89
- return `
90
- fn DIV_CEIL(a : u32, b : u32) -> u32 {
91
- return ((a - 1u) / b + 1u);
92
- }
93
-
94
- fn readInput(index: i32) -> vec2<f32> {
95
- ${e.inputReadSnippet ? e.inputReadSnippet : `
96
- let packed = u32(x[index]);
97
- return unpack2x16float(packed);
98
- `}
99
- }
100
-
101
- ${t}
102
- ${e.utilityFunctions ?? ""}
103
-
104
- ${d("index")} {
105
- let outputIndex = index / ${u};
106
- let offset1 = outputIndex * 2 * uniforms.reduceSize;
107
- let offset2 = offset1 + uniforms.reduceSize;
108
- var bestValue = vec2<f32>(0.0f, 0.0f);
109
- let Length = uniforms.reduceSize;
110
- let tid = i32(localId.x);
111
-
112
- for (var k = tid; k < Length;
113
- k = k + ${u}) {
114
- var candidate = readInput(offset1 + k);
115
- ${e.inputSnippet}
116
- let bv1 = candidate.x + candidate.y;
117
-
118
- candidate = readInput(offset2 + k);
119
- ${e.inputSnippet}
120
- let bv2 = candidate.x + candidate.y;
121
-
122
- bestValue = bestValue + vec2<f32>(bv1, bv2);
123
- }
124
- ${i}
125
- bestValue = bestValue ${e.reductionOp === "mean" ? "/ f32(uniforms.reduceSize * 2i)" : ""};
126
-
127
- ${e.reducedSnippet ?? ""}
128
- ${e.outputSnippet}
129
- }
130
- `;
131
- }
132
- function V(e) {
133
- return e.elementwise ? $(e) : v(e);
134
- }
135
- function w(e) {
136
- const u = `${e.workgroupSizeX}`, t = e.subgroups && !e.variableSubgroups ? "" : `
137
- var<workgroup> bestValues : array<f32, ${e.workgroupSizeX}>;
138
- `, i = c(e.subgroups, e.variableSubgroups, e.workgroupSizeX, !1);
139
- return `
140
- fn DIV_CEIL(a : u32, b : u32) -> u32 {
141
- return ((a - 1u) / b + 1u);
142
- }
143
-
144
- fn readInput(index: i32) -> f32 {
145
- ${e.inputReadSnippet ? e.inputReadSnippet : `
146
- return x[index];
147
- `}
148
- }
149
-
150
- ${t}
151
- ${e.utilityFunctions ?? ""}
152
-
153
- ${d("index")} {
154
- let outputIndex = index / ${e.workgroupSizeX};
155
- let offset = outputIndex * uniforms.reduceSize;
156
- var bestValue = 0.0f;
157
- let Length = uniforms.reduceSize;
158
- let tid = i32(localId.x);
159
-
160
- for (var k = tid; k < Length;
161
- k = k + ${e.workgroupSizeX}) {
162
- var candidate = readInput(offset + k);
163
- ${e.inputSnippet}
164
- bestValue = bestValue + candidate;
165
- }
166
- ${i}
167
-
168
- bestValue = bestValue ${e.reductionOp === "mean" ? "/ f32(uniforms.reduceSize)" : ""};
169
-
170
- ${e.reducedSnippet}
171
-
172
- ${e.elementwise ? `for (var k = tid; k < Length;
173
- k = k + ${u}) {
174
- ${e.outputSnippet}
175
- }` : `${e.outputSnippet}`}
176
- }
177
- `;
178
- }
179
- function X(e, u) {
180
- const t = e[0], o = h(u, t.shape), [, n] = k(t.shape, o), s = S(n), r = S(t.shape) / s;
181
- return { windowSize: s, inSize: s, batchSize: r, outSize: r };
182
- }
183
- class P {
184
- atomic = !1;
185
- outputShape;
186
- shaderKey = "reduce16";
187
- dispatchLayout;
188
- dispatch;
189
- workgroupSize = [64, 1, 1];
190
- variableNames = ["x"];
191
- uniforms = "reduceSize : i32,";
192
- inputShape;
193
- size = !1;
194
- packed = !0;
195
- outputComponent;
196
- variableComponents;
197
- elementwise;
198
- subgroups = !1;
199
- subgroupBuiltins = !1;
200
- deviceInfo;
201
- params;
202
- utilityFunctions;
203
- constructor(u, t, i, o) {
204
- this.params = i, this.inputShape = [t.batchSize, t.inSize], this.deviceInfo = u, this.packed = o;
205
- const n = i.forceWorkgroupSize ? i.forceWorkgroupSize : t.inSize % 64 === 0 ? 64 : 32;
206
- u.subgroupsSupported && !i.forceWorkgroupSize ? (this.workgroupSize = [Math.min(n, u.subgroupMaxSize), 1, 1], this.subgroups = !0, u.variableSubgroups && (this.subgroupBuiltins = !0)) : this.workgroupSize[0] = n, this.outputShape = i.elementwise ? [t.batchSize, t.inSize] : o ? [t.outSize / 2] : [t.outSize], this.dispatchLayout = z(this.outputShape), this.dispatch = [
207
- i.elementwise ? t.batchSize : o ? t.batchSize / 2 : t.batchSize,
208
- 1,
209
- 1
210
- ], this.outputComponent = 1, this.variableComponents = [1], this.elementwise = i.elementwise === !0;
211
- }
212
- getWriteSnippet() {
213
- return this.packed ? "result[outputIndex] = i32(pack2x16float(bestValue));" : "result[outputIndex] = bestValue;";
214
- }
215
- getPreprocessSnippet() {
216
- return "";
217
- }
218
- getPostprocessSnippet() {
219
- return "";
220
- }
221
- getReadSnippet() {
222
- return this.packed ? `
223
- let packed = u32(x[index]);
224
- return unpack2x16float(packed);
225
- ` : "return f32(x[index]);";
226
- }
227
- getUserCode() {
228
- const u = this.workgroupSize[0];
229
- return this.packed ? V({
230
- ...this.params,
231
- workgroupSizeX: u,
232
- subgroups: this.subgroups,
233
- variableSubgroups: this.deviceInfo.variableSubgroups,
234
- inputReadSnippet: this.getReadSnippet(),
235
- inputSnippet: this.getPreprocessSnippet(),
236
- outputSnippet: this.getWriteSnippet(),
237
- reducedSnippet: this.getPostprocessSnippet(),
238
- utilityFunctions: this.utilityFunctions
239
- }) : w({
240
- ...this.params,
241
- workgroupSizeX: u,
242
- subgroups: this.subgroups,
243
- variableSubgroups: this.deviceInfo.variableSubgroups,
244
- inputReadSnippet: this.getReadSnippet(),
245
- inputSnippet: this.getPreprocessSnippet(),
246
- outputSnippet: this.getWriteSnippet(),
247
- reducedSnippet: this.getPostprocessSnippet(),
248
- utilityFunctions: this.utilityFunctions
249
- });
250
- }
251
- }
252
- function A(e, u, t, i, o) {
253
- const n = u[0], a = [{ type: "int32", data: [e.inputShape[e.inputShape.length - 1]] }, ...i ?? []];
254
- let r = o;
255
- !o && e.atomic && (r = x(e.outputShape, "int32"));
256
- const l = t.runWebGPUProgram(
257
- e,
258
- u,
259
- e.packed ? "packedF16" : e.atomic ? "int32" : "float32",
260
- a,
261
- r
262
- ), p = f().makeTensorFromTensorInfo(l);
263
- if (e.outputShape.length === 1 && e.outputShape[0] <= 2)
264
- return p;
265
- const b = g(
266
- p,
267
- e.elementwise ? n.shape : e.packed ? [...n.shape.slice(0, -2), n.shape[n.shape.length - 2] / 2] : [...n.shape.slice(0, -2), n.shape[n.shape.length - 2]]
268
- );
269
- return p.dispose(), b;
270
- }
271
- export {
272
- P as ReduceProgram,
273
- X as createReduceInfo,
274
- A as reduce
275
- };