cui-llama.rn 1.7.3 → 1.7.6

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 (276) hide show
  1. package/README.md +217 -17
  2. package/android/src/main/CMakeLists.txt +34 -15
  3. package/android/src/main/java/com/rnllama/LlamaContext.java +94 -8
  4. package/android/src/main/java/com/rnllama/RNLlama.java +247 -0
  5. package/android/src/main/jni.cpp +213 -14
  6. package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
  7. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
  9. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
  10. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
  11. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
  12. package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
  13. package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
  14. package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +35 -0
  15. package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +34 -0
  16. package/cpp/README.md +1 -1
  17. package/cpp/chat-parser.cpp +385 -0
  18. package/cpp/chat-parser.h +120 -0
  19. package/cpp/chat.cpp +726 -596
  20. package/cpp/chat.h +71 -6
  21. package/cpp/common.cpp +56 -38
  22. package/cpp/common.h +9 -3
  23. package/cpp/ggml-backend-reg.cpp +5 -0
  24. package/cpp/ggml-backend.cpp +10 -2
  25. package/cpp/ggml-common.h +4 -0
  26. package/cpp/ggml-cpu/amx/amx.cpp +1 -1
  27. package/cpp/ggml-cpu/amx/mmq.cpp +11 -10
  28. package/cpp/ggml-cpu/arch/arm/cpu-feats.cpp +94 -0
  29. package/cpp/ggml-cpu/arch/arm/quants.c +4114 -0
  30. package/cpp/ggml-cpu/arch/arm/repack.cpp +2163 -0
  31. package/cpp/ggml-cpu/arch/x86/cpu-feats.cpp +327 -0
  32. package/cpp/ggml-cpu/arch/x86/quants.c +4311 -0
  33. package/cpp/ggml-cpu/{ggml-cpu-aarch64.cpp → arch/x86/repack.cpp} +79 -3225
  34. package/cpp/ggml-cpu/arch-fallback.h +184 -0
  35. package/cpp/ggml-cpu/common.h +4 -3
  36. package/cpp/ggml-cpu/ggml-cpu-impl.h +21 -16
  37. package/cpp/ggml-cpu/ggml-cpu.c +123 -104
  38. package/cpp/ggml-cpu/ggml-cpu.cpp +11 -8
  39. package/cpp/ggml-cpu/ops.cpp +330 -148
  40. package/cpp/ggml-cpu/ops.h +1 -0
  41. package/cpp/ggml-cpu/quants.c +1158 -0
  42. package/cpp/ggml-cpu/{ggml-cpu-quants.h → quants.h} +26 -0
  43. package/cpp/ggml-cpu/repack.cpp +1571 -0
  44. package/cpp/ggml-cpu/repack.h +98 -0
  45. package/cpp/ggml-cpu/simd-mappings.h +330 -38
  46. package/cpp/ggml-cpu/{ggml-cpu-traits.cpp → traits.cpp} +1 -1
  47. package/cpp/ggml-cpu/vec.cpp +87 -18
  48. package/cpp/ggml-cpu/vec.h +249 -94
  49. package/cpp/ggml-cpu.h +1 -0
  50. package/cpp/ggml-impl.h +63 -183
  51. package/cpp/ggml-llama-sim.metallib +0 -0
  52. package/cpp/ggml-llama.metallib +0 -0
  53. package/cpp/ggml-metal.m +152 -45
  54. package/cpp/ggml-quants.c +0 -2
  55. package/cpp/ggml.c +61 -21
  56. package/cpp/ggml.h +22 -3
  57. package/cpp/gguf.cpp +24 -3
  58. package/cpp/json-partial.cpp +256 -0
  59. package/cpp/json-partial.h +38 -0
  60. package/cpp/json-schema-to-grammar.cpp +5 -47
  61. package/cpp/json-schema-to-grammar.h +4 -4
  62. package/cpp/llama-arch.cpp +153 -3
  63. package/cpp/llama-arch.h +27 -1
  64. package/cpp/llama-batch.cpp +741 -272
  65. package/cpp/llama-batch.h +112 -54
  66. package/cpp/llama-chat.cpp +30 -8
  67. package/cpp/llama-chat.h +1 -0
  68. package/cpp/llama-context.cpp +524 -339
  69. package/cpp/llama-context.h +38 -17
  70. package/cpp/llama-cparams.cpp +4 -0
  71. package/cpp/llama-cparams.h +2 -0
  72. package/cpp/llama-grammar.cpp +12 -2
  73. package/cpp/llama-graph.cpp +431 -356
  74. package/cpp/llama-graph.h +126 -58
  75. package/cpp/llama-hparams.cpp +10 -2
  76. package/cpp/llama-hparams.h +19 -2
  77. package/cpp/llama-kv-cache-unified-iswa.cpp +279 -0
  78. package/cpp/llama-kv-cache-unified-iswa.h +128 -0
  79. package/cpp/llama-kv-cache-unified.cpp +1841 -0
  80. package/cpp/llama-kv-cache-unified.h +303 -0
  81. package/cpp/llama-kv-cells.h +439 -0
  82. package/cpp/llama-memory-hybrid.cpp +246 -0
  83. package/cpp/llama-memory-hybrid.h +138 -0
  84. package/cpp/llama-memory-recurrent.cpp +1112 -0
  85. package/cpp/llama-memory-recurrent.h +183 -0
  86. package/cpp/llama-memory.cpp +41 -0
  87. package/cpp/llama-memory.h +86 -5
  88. package/cpp/llama-mmap.cpp +1 -1
  89. package/cpp/llama-model-loader.cpp +42 -17
  90. package/cpp/llama-model-saver.cpp +1 -0
  91. package/cpp/llama-model.cpp +1639 -513
  92. package/cpp/llama-model.h +26 -0
  93. package/cpp/llama-sampling.cpp +2 -2
  94. package/cpp/llama-vocab.cpp +65 -28
  95. package/cpp/llama-vocab.h +1 -0
  96. package/cpp/llama.cpp +11 -7
  97. package/cpp/llama.h +150 -42
  98. package/cpp/minja/chat-template.hpp +1 -1
  99. package/cpp/minja/minja.hpp +1 -1
  100. package/cpp/{json.hpp → nlohmann/json.hpp} +3027 -2267
  101. package/cpp/nlohmann/json_fwd.hpp +187 -0
  102. package/cpp/regex-partial.cpp +204 -0
  103. package/cpp/regex-partial.h +56 -0
  104. package/cpp/rn-llama.cpp +646 -35
  105. package/cpp/rn-llama.h +32 -1
  106. package/cpp/rn-tts.h +39 -0
  107. package/cpp/sampling.cpp +7 -8
  108. package/cpp/tools/mtmd/clip-impl.h +5 -0
  109. package/cpp/tools/mtmd/clip.cpp +572 -436
  110. package/cpp/tools/mtmd/clip.h +14 -4
  111. package/cpp/tools/mtmd/mtmd-audio.cpp +0 -86
  112. package/cpp/tools/mtmd/mtmd-audio.h +2 -17
  113. package/cpp/tools/mtmd/mtmd-helper.cpp +175 -12
  114. package/cpp/tools/mtmd/mtmd-helper.h +91 -0
  115. package/cpp/tools/mtmd/mtmd.cpp +368 -248
  116. package/cpp/tools/mtmd/mtmd.h +6 -70
  117. package/cpp/unicode.cpp +5 -0
  118. package/ios/CMakeLists.txt +26 -6
  119. package/ios/RNLlama.h +1 -1
  120. package/ios/RNLlama.mm +153 -3
  121. package/ios/RNLlamaContext.h +9 -1
  122. package/ios/RNLlamaContext.mm +112 -9
  123. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/chat-parser.h +120 -0
  124. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/chat.h +71 -6
  125. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/common.h +9 -3
  126. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-common.h +4 -0
  127. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu.h +1 -0
  128. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-impl.h +63 -183
  129. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml.h +22 -3
  130. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/json-partial.h +38 -0
  131. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/json-schema-to-grammar.h +4 -4
  132. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-arch.h +27 -1
  133. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-batch.h +112 -54
  134. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-chat.h +1 -0
  135. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-context.h +38 -17
  136. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cparams.h +2 -0
  137. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-graph.h +126 -58
  138. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-hparams.h +19 -2
  139. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache-unified-iswa.h +128 -0
  140. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache-unified.h +303 -0
  141. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cells.h +439 -0
  142. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory-hybrid.h +138 -0
  143. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory-recurrent.h +183 -0
  144. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory.h +86 -5
  145. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model.h +26 -0
  146. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-vocab.h +1 -0
  147. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama.h +150 -42
  148. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/chat-template.hpp +1 -1
  149. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/minja.hpp +1 -1
  150. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/{json.hpp → nlohmann/json.hpp} +3027 -2267
  151. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/nlohmann/json_fwd.hpp +187 -0
  152. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/regex-partial.h +56 -0
  153. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/rn-llama.h +32 -1
  154. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/rn-tts.h +39 -0
  155. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/ggml-llama.metallib +0 -0
  156. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/rnllama +0 -0
  157. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/chat-parser.h +120 -0
  158. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +71 -6
  159. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +9 -3
  160. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-common.h +4 -0
  161. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +1 -0
  162. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +63 -183
  163. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +22 -3
  164. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/json-partial.h +38 -0
  165. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/json-schema-to-grammar.h +4 -4
  166. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +27 -1
  167. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +112 -54
  168. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +1 -0
  169. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +38 -17
  170. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +2 -0
  171. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +126 -58
  172. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +19 -2
  173. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache-unified-iswa.h +128 -0
  174. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache-unified.h +303 -0
  175. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cells.h +439 -0
  176. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory-hybrid.h +138 -0
  177. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory-recurrent.h +183 -0
  178. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +86 -5
  179. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +26 -0
  180. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +1 -0
  181. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +150 -42
  182. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +1 -1
  183. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +1 -1
  184. package/ios/rnllama.xcframework/{tvos-arm64/rnllama.framework/Headers → ios-arm64_x86_64-simulator/rnllama.framework/Headers/nlohmann}/json.hpp +3027 -2267
  185. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/nlohmann/json_fwd.hpp +187 -0
  186. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/regex-partial.h +56 -0
  187. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +32 -1
  188. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/rn-tts.h +39 -0
  189. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
  190. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
  191. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/chat-parser.h +120 -0
  192. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/chat.h +71 -6
  193. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/common.h +9 -3
  194. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-common.h +4 -0
  195. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu.h +1 -0
  196. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-impl.h +63 -183
  197. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml.h +22 -3
  198. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/json-partial.h +38 -0
  199. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/json-schema-to-grammar.h +4 -4
  200. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-arch.h +27 -1
  201. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-batch.h +112 -54
  202. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-chat.h +1 -0
  203. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-context.h +38 -17
  204. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cparams.h +2 -0
  205. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-graph.h +126 -58
  206. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-hparams.h +19 -2
  207. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache-unified-iswa.h +128 -0
  208. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache-unified.h +303 -0
  209. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cells.h +439 -0
  210. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory-hybrid.h +138 -0
  211. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory-recurrent.h +183 -0
  212. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory.h +86 -5
  213. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model.h +26 -0
  214. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-vocab.h +1 -0
  215. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama.h +150 -42
  216. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/chat-template.hpp +1 -1
  217. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/minja.hpp +1 -1
  218. package/ios/rnllama.xcframework/{ios-arm64_x86_64-simulator/rnllama.framework/Headers → tvos-arm64/rnllama.framework/Headers/nlohmann}/json.hpp +3027 -2267
  219. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/nlohmann/json_fwd.hpp +187 -0
  220. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/regex-partial.h +56 -0
  221. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/rn-llama.h +32 -1
  222. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/rn-tts.h +39 -0
  223. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/ggml-llama.metallib +0 -0
  224. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/rnllama +0 -0
  225. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/chat-parser.h +120 -0
  226. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +71 -6
  227. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +9 -3
  228. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-common.h +4 -0
  229. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +1 -0
  230. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +63 -183
  231. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +22 -3
  232. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json-partial.h +38 -0
  233. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json-schema-to-grammar.h +4 -4
  234. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +27 -1
  235. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +112 -54
  236. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +1 -0
  237. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +38 -17
  238. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +2 -0
  239. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +126 -58
  240. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +19 -2
  241. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache-unified-iswa.h +128 -0
  242. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache-unified.h +303 -0
  243. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cells.h +439 -0
  244. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory-hybrid.h +138 -0
  245. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory-recurrent.h +183 -0
  246. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +86 -5
  247. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +26 -0
  248. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +1 -0
  249. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +150 -42
  250. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +1 -1
  251. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +1 -1
  252. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/nlohmann/json.hpp +25526 -0
  253. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/nlohmann/json_fwd.hpp +187 -0
  254. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/regex-partial.h +56 -0
  255. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +32 -1
  256. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/rn-tts.h +39 -0
  257. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
  258. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
  259. package/jest/mock.js +24 -0
  260. package/package.json +1 -1
  261. package/src/NativeRNLlama.ts +46 -2
  262. package/src/index.ts +105 -1
  263. package/cpp/ggml-cpu/ggml-cpu-aarch64.h +0 -8
  264. package/cpp/ggml-cpu/ggml-cpu-quants.c +0 -13326
  265. package/cpp/ggml-cpu/sgemm.cpp +0 -3544
  266. package/cpp/ggml-cpu/sgemm.h +0 -14
  267. package/cpp/llama-kv-cache.cpp +0 -2827
  268. package/cpp/llama-kv-cache.h +0 -515
  269. package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache.h +0 -515
  270. package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +0 -515
  271. package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache.h +0 -515
  272. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json.hpp +0 -24766
  273. package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +0 -515
  274. /package/cpp/ggml-cpu/{ggml-cpu-traits.h → traits.h} +0 -0
  275. /package/cpp/tools/mtmd/{miniaudio.h → miniaudio/miniaudio.h} +0 -0
  276. /package/cpp/tools/mtmd/{stb_image.h → stb/stb_image.h} +0 -0
@@ -0,0 +1,184 @@
1
+ #pragma once
2
+
3
+ // Rename `_generic` functions if no native implementation is available.
4
+ // This effectively selects the generic implementation.
5
+
6
+ #if defined(LM_GGML_CPU_GENERIC)
7
+ // quants.c
8
+ #define quantize_row_q8_0_generic quantize_row_q8_0
9
+ #define quantize_row_q8_1_generic quantize_row_q8_1
10
+ #define quantize_row_q8_K_generic quantize_row_q8_K
11
+ #define lm_ggml_vec_dot_q4_0_q8_0_generic lm_ggml_vec_dot_q4_0_q8_0
12
+ #define lm_ggml_vec_dot_q4_1_q8_1_generic lm_ggml_vec_dot_q4_1_q8_1
13
+ #define lm_ggml_vec_dot_q5_0_q8_0_generic lm_ggml_vec_dot_q5_0_q8_0
14
+ #define lm_ggml_vec_dot_q5_1_q8_1_generic lm_ggml_vec_dot_q5_1_q8_1
15
+ #define lm_ggml_vec_dot_q8_0_q8_0_generic lm_ggml_vec_dot_q8_0_q8_0
16
+ #define lm_ggml_vec_dot_tq1_0_q8_K_generic lm_ggml_vec_dot_tq1_0_q8_K
17
+ #define lm_ggml_vec_dot_tq2_0_q8_K_generic lm_ggml_vec_dot_tq2_0_q8_K
18
+ #define lm_ggml_vec_dot_q2_K_q8_K_generic lm_ggml_vec_dot_q2_K_q8_K
19
+ #define lm_ggml_vec_dot_q3_K_q8_K_generic lm_ggml_vec_dot_q3_K_q8_K
20
+ #define lm_ggml_vec_dot_q4_K_q8_K_generic lm_ggml_vec_dot_q4_K_q8_K
21
+ #define lm_ggml_vec_dot_q5_K_q8_K_generic lm_ggml_vec_dot_q5_K_q8_K
22
+ #define lm_ggml_vec_dot_q6_K_q8_K_generic lm_ggml_vec_dot_q6_K_q8_K
23
+ #define lm_ggml_vec_dot_iq2_xxs_q8_K_generic lm_ggml_vec_dot_iq2_xxs_q8_K
24
+ #define lm_ggml_vec_dot_iq2_xs_q8_K_generic lm_ggml_vec_dot_iq2_xs_q8_K
25
+ #define lm_ggml_vec_dot_iq2_s_q8_K_generic lm_ggml_vec_dot_iq2_s_q8_K
26
+ #define lm_ggml_vec_dot_iq3_xxs_q8_K_generic lm_ggml_vec_dot_iq3_xxs_q8_K
27
+ #define lm_ggml_vec_dot_iq3_s_q8_K_generic lm_ggml_vec_dot_iq3_s_q8_K
28
+ #define lm_ggml_vec_dot_iq1_s_q8_K_generic lm_ggml_vec_dot_iq1_s_q8_K
29
+ #define lm_ggml_vec_dot_iq1_m_q8_K_generic lm_ggml_vec_dot_iq1_m_q8_K
30
+ #define lm_ggml_vec_dot_iq4_nl_q8_0_generic lm_ggml_vec_dot_iq4_nl_q8_0
31
+ #define lm_ggml_vec_dot_iq4_xs_q8_K_generic lm_ggml_vec_dot_iq4_xs_q8_K
32
+ // repack.cpp
33
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
34
+ #define lm_ggml_quantize_mat_q8_0_4x8_generic lm_ggml_quantize_mat_q8_0_4x8
35
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
36
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
37
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
38
+ #define lm_ggml_gemv_q4_0_8x8_q8_0_generic lm_ggml_gemv_q4_0_8x8_q8_0
39
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
40
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
41
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
42
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
43
+ #define lm_ggml_gemm_q4_0_8x8_q8_0_generic lm_ggml_gemm_q4_0_8x8_q8_0
44
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
45
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
46
+ #elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_M_ARM64)
47
+ // repack.cpp
48
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
49
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
50
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
51
+ #elif defined(__x86_64__) || defined(__i386__) || defined(_M_IX86) || defined(_M_X64)
52
+ // repack.cpp
53
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
54
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
55
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
56
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
57
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
58
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
59
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
60
+ #elif defined(__POWERPC__) || defined(__powerpc__)
61
+ // ref: https://github.com/ggml-org/llama.cpp/pull/14146#issuecomment-2972561679
62
+ // quants.c
63
+ #define quantize_row_q8_K_generic quantize_row_q8_K
64
+ #define lm_ggml_vec_dot_tq1_0_q8_K_generic lm_ggml_vec_dot_tq1_0_q8_K
65
+ #define lm_ggml_vec_dot_tq2_0_q8_K_generic lm_ggml_vec_dot_tq2_0_q8_K
66
+ #define lm_ggml_vec_dot_iq1_m_q8_K_generic lm_ggml_vec_dot_iq1_m_q8_K
67
+ // repack.cpp
68
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
69
+ #define lm_ggml_quantize_mat_q8_0_4x8_generic lm_ggml_quantize_mat_q8_0_4x8
70
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
71
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
72
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
73
+ #define lm_ggml_gemv_q4_0_8x8_q8_0_generic lm_ggml_gemv_q4_0_8x8_q8_0
74
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
75
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
76
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
77
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
78
+ #define lm_ggml_gemm_q4_0_8x8_q8_0_generic lm_ggml_gemm_q4_0_8x8_q8_0
79
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
80
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
81
+ #elif defined(__loongarch64)
82
+ // quants.c
83
+ #define quantize_row_q8_K_generic quantize_row_q8_K
84
+ #define lm_ggml_vec_dot_tq1_0_q8_K_generic lm_ggml_vec_dot_tq1_0_q8_K
85
+ #define lm_ggml_vec_dot_tq2_0_q8_K_generic lm_ggml_vec_dot_tq2_0_q8_K
86
+ #define lm_ggml_vec_dot_iq1_m_q8_K_generic lm_ggml_vec_dot_iq1_m_q8_K
87
+ // repack.cpp
88
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
89
+ #define lm_ggml_quantize_mat_q8_0_4x8_generic lm_ggml_quantize_mat_q8_0_4x8
90
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
91
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
92
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
93
+ #define lm_ggml_gemv_q4_0_8x8_q8_0_generic lm_ggml_gemv_q4_0_8x8_q8_0
94
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
95
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
96
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
97
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
98
+ #define lm_ggml_gemm_q4_0_8x8_q8_0_generic lm_ggml_gemm_q4_0_8x8_q8_0
99
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
100
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
101
+ #elif defined(__riscv)
102
+ // quants.c
103
+ #define quantize_row_q8_K_generic quantize_row_q8_K
104
+ #define lm_ggml_vec_dot_tq1_0_q8_K_generic lm_ggml_vec_dot_tq1_0_q8_K
105
+ #define lm_ggml_vec_dot_tq2_0_q8_K_generic lm_ggml_vec_dot_tq2_0_q8_K
106
+ #define lm_ggml_vec_dot_iq2_xxs_q8_K_generic lm_ggml_vec_dot_iq2_xxs_q8_K
107
+ #define lm_ggml_vec_dot_iq2_xs_q8_K_generic lm_ggml_vec_dot_iq2_xs_q8_K
108
+ #define lm_ggml_vec_dot_iq2_s_q8_K_generic lm_ggml_vec_dot_iq2_s_q8_K
109
+ #define lm_ggml_vec_dot_iq3_xxs_q8_K_generic lm_ggml_vec_dot_iq3_xxs_q8_K
110
+ #define lm_ggml_vec_dot_iq3_s_q8_K_generic lm_ggml_vec_dot_iq3_s_q8_K
111
+ #define lm_ggml_vec_dot_iq1_s_q8_K_generic lm_ggml_vec_dot_iq1_s_q8_K
112
+ #define lm_ggml_vec_dot_iq1_m_q8_K_generic lm_ggml_vec_dot_iq1_m_q8_K
113
+ #define lm_ggml_vec_dot_iq4_nl_q8_0_generic lm_ggml_vec_dot_iq4_nl_q8_0
114
+ #define lm_ggml_vec_dot_iq4_xs_q8_K_generic lm_ggml_vec_dot_iq4_xs_q8_K
115
+ // repack.cpp
116
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
117
+ #define lm_ggml_quantize_mat_q8_0_4x8_generic lm_ggml_quantize_mat_q8_0_4x8
118
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
119
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
120
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
121
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
122
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
123
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
124
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
125
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
126
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
127
+ #elif defined(__s390x__)
128
+ // quants.c
129
+ #define quantize_row_q8_K_generic quantize_row_q8_K
130
+ #define lm_ggml_vec_dot_q5_0_q8_0_generic lm_ggml_vec_dot_q5_0_q8_0
131
+ #define lm_ggml_vec_dot_q5_1_q8_1_generic lm_ggml_vec_dot_q5_1_q8_1
132
+ #define lm_ggml_vec_dot_tq1_0_q8_K_generic lm_ggml_vec_dot_tq1_0_q8_K
133
+ #define lm_ggml_vec_dot_tq2_0_q8_K_generic lm_ggml_vec_dot_tq2_0_q8_K
134
+ #define lm_ggml_vec_dot_q2_K_q8_K_generic lm_ggml_vec_dot_q2_K_q8_K
135
+ #define lm_ggml_vec_dot_iq2_xxs_q8_K_generic lm_ggml_vec_dot_iq2_xxs_q8_K
136
+ #define lm_ggml_vec_dot_iq2_xs_q8_K_generic lm_ggml_vec_dot_iq2_xs_q8_K
137
+ #define lm_ggml_vec_dot_iq2_s_q8_K_generic lm_ggml_vec_dot_iq2_s_q8_K
138
+ #define lm_ggml_vec_dot_iq3_xxs_q8_K_generic lm_ggml_vec_dot_iq3_xxs_q8_K
139
+ #define lm_ggml_vec_dot_iq3_s_q8_K_generic lm_ggml_vec_dot_iq3_s_q8_K
140
+ #define lm_ggml_vec_dot_iq1_s_q8_K_generic lm_ggml_vec_dot_iq1_s_q8_K
141
+ #define lm_ggml_vec_dot_iq1_m_q8_K_generic lm_ggml_vec_dot_iq1_m_q8_K
142
+ // repack.cpp
143
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
144
+ #define lm_ggml_quantize_mat_q8_0_4x8_generic lm_ggml_quantize_mat_q8_0_4x8
145
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
146
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
147
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
148
+ #define lm_ggml_gemv_q4_0_8x8_q8_0_generic lm_ggml_gemv_q4_0_8x8_q8_0
149
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
150
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
151
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
152
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
153
+ #define lm_ggml_gemm_q4_0_8x8_q8_0_generic lm_ggml_gemm_q4_0_8x8_q8_0
154
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
155
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
156
+ #elif defined(__wasm__)
157
+ // quants.c
158
+ #define lm_ggml_vec_dot_q4_1_q8_1_generic lm_ggml_vec_dot_q4_1_q8_1
159
+ #define lm_ggml_vec_dot_tq1_0_q8_K_generic lm_ggml_vec_dot_tq1_0_q8_K
160
+ #define lm_ggml_vec_dot_tq2_0_q8_K_generic lm_ggml_vec_dot_tq2_0_q8_K
161
+ #define lm_ggml_vec_dot_iq2_xxs_q8_K_generic lm_ggml_vec_dot_iq2_xxs_q8_K
162
+ #define lm_ggml_vec_dot_iq2_xs_q8_K_generic lm_ggml_vec_dot_iq2_xs_q8_K
163
+ #define lm_ggml_vec_dot_iq2_s_q8_K_generic lm_ggml_vec_dot_iq2_s_q8_K
164
+ #define lm_ggml_vec_dot_iq3_xxs_q8_K_generic lm_ggml_vec_dot_iq3_xxs_q8_K
165
+ #define lm_ggml_vec_dot_iq3_s_q8_K_generic lm_ggml_vec_dot_iq3_s_q8_K
166
+ #define lm_ggml_vec_dot_iq1_s_q8_K_generic lm_ggml_vec_dot_iq1_s_q8_K
167
+ #define lm_ggml_vec_dot_iq1_m_q8_K_generic lm_ggml_vec_dot_iq1_m_q8_K
168
+ #define lm_ggml_vec_dot_iq4_nl_q8_0_generic lm_ggml_vec_dot_iq4_nl_q8_0
169
+ #define lm_ggml_vec_dot_iq4_xs_q8_K_generic lm_ggml_vec_dot_iq4_xs_q8_K
170
+ // repack.cpp
171
+ #define lm_ggml_quantize_mat_q8_0_4x4_generic lm_ggml_quantize_mat_q8_0_4x4
172
+ #define lm_ggml_quantize_mat_q8_0_4x8_generic lm_ggml_quantize_mat_q8_0_4x8
173
+ #define lm_ggml_quantize_mat_q8_K_4x8_generic lm_ggml_quantize_mat_q8_K_4x8
174
+ #define lm_ggml_gemv_q4_0_4x4_q8_0_generic lm_ggml_gemv_q4_0_4x4_q8_0
175
+ #define lm_ggml_gemv_q4_0_4x8_q8_0_generic lm_ggml_gemv_q4_0_4x8_q8_0
176
+ #define lm_ggml_gemv_q4_0_8x8_q8_0_generic lm_ggml_gemv_q4_0_8x8_q8_0
177
+ #define lm_ggml_gemv_q4_K_8x8_q8_K_generic lm_ggml_gemv_q4_K_8x8_q8_K
178
+ #define lm_ggml_gemv_iq4_nl_4x4_q8_0_generic lm_ggml_gemv_iq4_nl_4x4_q8_0
179
+ #define lm_ggml_gemm_q4_0_4x4_q8_0_generic lm_ggml_gemm_q4_0_4x4_q8_0
180
+ #define lm_ggml_gemm_q4_0_4x8_q8_0_generic lm_ggml_gemm_q4_0_4x8_q8_0
181
+ #define lm_ggml_gemm_q4_0_8x8_q8_0_generic lm_ggml_gemm_q4_0_8x8_q8_0
182
+ #define lm_ggml_gemm_q4_K_8x8_q8_K_generic lm_ggml_gemm_q4_K_8x8_q8_K
183
+ #define lm_ggml_gemm_iq4_nl_4x4_q8_0_generic lm_ggml_gemm_iq4_nl_4x4_q8_0
184
+ #endif
@@ -1,9 +1,10 @@
1
1
  #pragma once
2
2
 
3
3
  #include "ggml.h"
4
- #include "ggml-cpu-traits.h"
4
+ #include "traits.h"
5
5
  #include "ggml-cpu-impl.h"
6
6
  #include "ggml-impl.h"
7
+ #include "simd-mappings.h"
7
8
 
8
9
  #ifdef __cplusplus
9
10
 
@@ -12,11 +13,11 @@
12
13
  // convenience functions/macros for use in template calls
13
14
  // note: these won't be required after the 'traits' lookup table is used.
14
15
  static inline lm_ggml_fp16_t f32_to_f16(float x) {
15
- return LM_GGML_FP32_TO_FP16(x);
16
+ return LM_GGML_CPU_FP32_TO_FP16(x);
16
17
  }
17
18
 
18
19
  static inline float f16_to_f32(lm_ggml_fp16_t x) {
19
- return LM_GGML_FP16_TO_FP32(x);
20
+ return LM_GGML_CPU_FP16_TO_FP32(x);
20
21
  }
21
22
 
22
23
  static inline lm_ggml_bf16_t f32_to_bf16(float x) {
@@ -62,11 +62,17 @@ struct lm_ggml_compute_params {
62
62
  #if defined(__s390x__) && defined(__VEC__)
63
63
  #ifndef __VXE__
64
64
  #define __VXE__
65
- #endif
65
+ #endif // __VXE__
66
66
  #ifndef __VXE2__
67
67
  #define __VXE2__
68
- #endif
69
- #endif
68
+ #endif // __VXE2__
69
+ #endif // __s390x__ && __VEC__
70
+
71
+ #if defined(__s390x__) && defined(LM_GGML_NNPA)
72
+ #ifndef __NNPA__
73
+ #define __NNPA__
74
+ #endif // __NNPA__
75
+ #endif // __s390x__ && LM_GGML_NNPA
70
76
 
71
77
  #if defined(__ARM_FEATURE_SVE)
72
78
  #include <sys/prctl.h>
@@ -320,21 +326,17 @@ inline static int32x4_t lm_ggml_vdotq_s32(int32x4_t acc, int8x16_t a, int8x16_t
320
326
 
321
327
  #ifdef __wasm_simd128__
322
328
  #include <wasm_simd128.h>
323
- #else
329
+ #endif
330
+
324
331
  #ifdef __POWER9_VECTOR__
325
332
  #include <altivec.h>
326
- #else
333
+ #endif
334
+
327
335
  #if defined(_MSC_VER) || defined(__MINGW32__)
328
336
  #include <intrin.h>
329
- #else
330
- #if defined(__AVX__) || defined(__AVX2__) || defined(__AVX512F__) || defined(__SSSE3__) || defined(__SSE3__) || defined(__SSE__)
331
- #if !defined(__riscv)
337
+ #elif defined(__AVX__) || defined(__AVX2__) || defined(__AVX512F__) || defined(__SSSE3__) || defined(__SSE3__) || defined(__SSE__)
332
338
  #include <immintrin.h>
333
339
  #endif
334
- #endif
335
- #endif
336
- #endif
337
- #endif
338
340
 
339
341
  #ifdef __riscv_v_intrinsic
340
342
  #include <riscv_vector.h>
@@ -375,7 +377,7 @@ inline static int32x4_t lm_ggml_vdotq_s32(int32x4_t acc, int8x16_t a, int8x16_t
375
377
  #define vec_xor(a, b) ((a) ^ (b)) // Vector XOR
376
378
  #endif
377
379
 
378
- typedef signed char char8x16_t __attribute__((vector_size(16)));
380
+ typedef signed char char8x16_t __attribute__((vector_size(16)));
379
381
  typedef unsigned char uchar8x16_t __attribute__((vector_size(16)));
380
382
 
381
383
  typedef int8_t int8x16_t __attribute__((vector_size(16)));
@@ -386,10 +388,10 @@ typedef uint8_t uint8x16_t __attribute__((vector_size(16)));
386
388
  typedef uint16_t uint16x8_t __attribute__((vector_size(16)));
387
389
  typedef uint32_t uint32x4_t __attribute__((vector_size(16)));
388
390
 
389
- typedef float float32x4_t __attribute__((vector_size(16)));
390
- typedef double double64x2_t __attribute((vector_size(16)));
391
+ typedef float float32x4_t __attribute__((vector_size(16)));
392
+ typedef double double64x2_t __attribute__((vector_size(16)));
391
393
 
392
- typedef signed long long long64x2_t __attribute((vector_size(16)));
394
+ typedef signed long long long64x2_t __attribute__((vector_size(16)));
393
395
  typedef unsigned long long ulong64x2_t __attribute__((vector_size(16)));
394
396
 
395
397
  typedef struct lm_ggml_uint8x16x2_t {
@@ -507,6 +509,9 @@ static __m256 __lasx_xvreplfr2vr_s(const float val) {
507
509
  // TODO: move to ggml-threading
508
510
  void lm_ggml_barrier(struct lm_ggml_threadpool * tp);
509
511
 
512
+ void lm_ggml_threadpool_chunk_set(struct lm_ggml_threadpool * tp, int value);
513
+ int lm_ggml_threadpool_chunk_add(struct lm_ggml_threadpool * tp, int value);
514
+
510
515
  #ifdef __cplusplus
511
516
  }
512
517
  #endif