local-llm-rn 1.0.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.
- package/cpp/CMakeLists.txt +285 -0
- package/cpp/common/CMakeLists.txt +149 -0
- package/cpp/common/arg.cpp +3799 -0
- package/cpp/common/arg.h +131 -0
- package/cpp/common/base64.hpp +392 -0
- package/cpp/common/build-info.cpp.in +4 -0
- package/cpp/common/chat-parser-xml-toolcall.cpp +879 -0
- package/cpp/common/chat-parser-xml-toolcall.h +45 -0
- package/cpp/common/chat-parser.cpp +1649 -0
- package/cpp/common/chat-parser.h +133 -0
- package/cpp/common/chat-peg-parser.cpp +124 -0
- package/cpp/common/chat-peg-parser.h +105 -0
- package/cpp/common/chat.cpp +3355 -0
- package/cpp/common/chat.h +252 -0
- package/cpp/common/common.cpp +1824 -0
- package/cpp/common/common.h +930 -0
- package/cpp/common/console.cpp +1137 -0
- package/cpp/common/console.h +41 -0
- package/cpp/common/debug.cpp +167 -0
- package/cpp/common/debug.h +43 -0
- package/cpp/common/download.cpp +792 -0
- package/cpp/common/download.h +84 -0
- package/cpp/common/http.h +84 -0
- package/cpp/common/jinja/README.md +88 -0
- package/cpp/common/jinja/caps.cpp +285 -0
- package/cpp/common/jinja/caps.h +30 -0
- package/cpp/common/jinja/lexer.cpp +341 -0
- package/cpp/common/jinja/lexer.h +157 -0
- package/cpp/common/jinja/parser.cpp +591 -0
- package/cpp/common/jinja/parser.h +21 -0
- package/cpp/common/jinja/runtime.cpp +867 -0
- package/cpp/common/jinja/runtime.h +638 -0
- package/cpp/common/jinja/string.cpp +213 -0
- package/cpp/common/jinja/string.h +61 -0
- package/cpp/common/jinja/utils.h +149 -0
- package/cpp/common/jinja/value.cpp +1393 -0
- package/cpp/common/jinja/value.h +756 -0
- package/cpp/common/json-partial.cpp +324 -0
- package/cpp/common/json-partial.h +39 -0
- package/cpp/common/json-schema-to-grammar.cpp +1153 -0
- package/cpp/common/json-schema-to-grammar.h +43 -0
- package/cpp/common/llguidance.cpp +258 -0
- package/cpp/common/log.cpp +446 -0
- package/cpp/common/log.h +119 -0
- package/cpp/common/ngram-cache.cpp +285 -0
- package/cpp/common/ngram-cache.h +101 -0
- package/cpp/common/ngram-map.cpp +530 -0
- package/cpp/common/ngram-map.h +115 -0
- package/cpp/common/ngram-mod.cpp +60 -0
- package/cpp/common/ngram-mod.h +38 -0
- package/cpp/common/peg-parser.cpp +1712 -0
- package/cpp/common/peg-parser.h +459 -0
- package/cpp/common/preset.cpp +483 -0
- package/cpp/common/preset.h +83 -0
- package/cpp/common/regex-partial.cpp +204 -0
- package/cpp/common/regex-partial.h +56 -0
- package/cpp/common/sampling.cpp +745 -0
- package/cpp/common/sampling.h +119 -0
- package/cpp/common/speculative.cpp +1074 -0
- package/cpp/common/speculative.h +41 -0
- package/cpp/common/unicode.cpp +64 -0
- package/cpp/common/unicode.h +22 -0
- package/cpp/ggml/CMakeLists.txt +494 -0
- package/cpp/ggml/cmake/GitVars.cmake +22 -0
- package/cpp/ggml/cmake/common.cmake +50 -0
- package/cpp/ggml/cmake/ggml-config.cmake.in +191 -0
- package/cpp/ggml/include/ggml-alloc.h +85 -0
- package/cpp/ggml/include/ggml-backend.h +373 -0
- package/cpp/ggml/include/ggml-blas.h +25 -0
- package/cpp/ggml/include/ggml-cann.h +123 -0
- package/cpp/ggml/include/ggml-cpp.h +39 -0
- package/cpp/ggml/include/ggml-cpu.h +151 -0
- package/cpp/ggml/include/ggml-cuda.h +47 -0
- package/cpp/ggml/include/ggml-hexagon.h +19 -0
- package/cpp/ggml/include/ggml-metal.h +61 -0
- package/cpp/ggml/include/ggml-opencl.h +26 -0
- package/cpp/ggml/include/ggml-opt.h +256 -0
- package/cpp/ggml/include/ggml-rpc.h +30 -0
- package/cpp/ggml/include/ggml-sycl.h +49 -0
- package/cpp/ggml/include/ggml-virtgpu.h +14 -0
- package/cpp/ggml/include/ggml-vulkan.h +29 -0
- package/cpp/ggml/include/ggml-webgpu.h +19 -0
- package/cpp/ggml/include/ggml-zdnn.h +17 -0
- package/cpp/ggml/include/ggml-zendnn.h +22 -0
- package/cpp/ggml/include/ggml.h +2753 -0
- package/cpp/ggml/include/gguf.h +204 -0
- package/cpp/ggml/src/CMakeLists.txt +492 -0
- package/cpp/ggml/src/ggml-alloc.c +1244 -0
- package/cpp/ggml/src/ggml-backend-dl.cpp +48 -0
- package/cpp/ggml/src/ggml-backend-dl.h +45 -0
- package/cpp/ggml/src/ggml-backend-impl.h +255 -0
- package/cpp/ggml/src/ggml-backend-reg.cpp +566 -0
- package/cpp/ggml/src/ggml-backend.cpp +2270 -0
- package/cpp/ggml/src/ggml-blas/CMakeLists.txt +101 -0
- package/cpp/ggml/src/ggml-blas/ggml-blas.cpp +518 -0
- package/cpp/ggml/src/ggml-common.h +1878 -0
- package/cpp/ggml/src/ggml-cpu/CMakeLists.txt +691 -0
- package/cpp/ggml/src/ggml-cpu/amx/amx.cpp +247 -0
- package/cpp/ggml/src/ggml-cpu/amx/amx.h +8 -0
- package/cpp/ggml/src/ggml-cpu/amx/common.h +91 -0
- package/cpp/ggml/src/ggml-cpu/amx/mmq.cpp +2512 -0
- package/cpp/ggml/src/ggml-cpu/amx/mmq.h +10 -0
- package/cpp/ggml/src/ggml-cpu/arch/arm/cpu-feats.cpp +98 -0
- package/cpp/ggml/src/ggml-cpu/arch/arm/quants.c +4052 -0
- package/cpp/ggml/src/ggml-cpu/arch/arm/repack.cpp +4935 -0
- package/cpp/ggml/src/ggml-cpu/arch/loongarch/quants.c +2159 -0
- package/cpp/ggml/src/ggml-cpu/arch/powerpc/cpu-feats.cpp +82 -0
- package/cpp/ggml/src/ggml-cpu/arch/powerpc/quants.c +2305 -0
- package/cpp/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp +38 -0
- package/cpp/ggml/src/ggml-cpu/arch/riscv/quants.c +2726 -0
- package/cpp/ggml/src/ggml-cpu/arch/riscv/repack.cpp +342 -0
- package/cpp/ggml/src/ggml-cpu/arch/s390/cpu-feats.cpp +50 -0
- package/cpp/ggml/src/ggml-cpu/arch/s390/quants.c +1468 -0
- package/cpp/ggml/src/ggml-cpu/arch/wasm/quants.c +1221 -0
- package/cpp/ggml/src/ggml-cpu/arch/x86/cpu-feats.cpp +327 -0
- package/cpp/ggml/src/ggml-cpu/arch/x86/quants.c +3820 -0
- package/cpp/ggml/src/ggml-cpu/arch/x86/repack.cpp +6307 -0
- package/cpp/ggml/src/ggml-cpu/arch-fallback.h +313 -0
- package/cpp/ggml/src/ggml-cpu/binary-ops.cpp +154 -0
- package/cpp/ggml/src/ggml-cpu/binary-ops.h +16 -0
- package/cpp/ggml/src/ggml-cpu/cmake/FindSIMD.cmake +100 -0
- package/cpp/ggml/src/ggml-cpu/common.h +95 -0
- package/cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h +529 -0
- package/cpp/ggml/src/ggml-cpu/ggml-cpu.c +3734 -0
- package/cpp/ggml/src/ggml-cpu/ggml-cpu.cpp +701 -0
- package/cpp/ggml/src/ggml-cpu/hbm.cpp +55 -0
- package/cpp/ggml/src/ggml-cpu/hbm.h +8 -0
- package/cpp/ggml/src/ggml-cpu/kleidiai/kernels.cpp +938 -0
- package/cpp/ggml/src/ggml-cpu/kleidiai/kernels.h +90 -0
- package/cpp/ggml/src/ggml-cpu/kleidiai/kleidiai.cpp +798 -0
- package/cpp/ggml/src/ggml-cpu/kleidiai/kleidiai.h +17 -0
- package/cpp/ggml/src/ggml-cpu/llamafile/sgemm.cpp +4033 -0
- package/cpp/ggml/src/ggml-cpu/llamafile/sgemm.h +25 -0
- package/cpp/ggml/src/ggml-cpu/ops.cpp +10978 -0
- package/cpp/ggml/src/ggml-cpu/ops.h +116 -0
- package/cpp/ggml/src/ggml-cpu/quants.c +1193 -0
- package/cpp/ggml/src/ggml-cpu/quants.h +97 -0
- package/cpp/ggml/src/ggml-cpu/repack.cpp +3316 -0
- package/cpp/ggml/src/ggml-cpu/repack.h +173 -0
- package/cpp/ggml/src/ggml-cpu/simd-gemm.h +136 -0
- package/cpp/ggml/src/ggml-cpu/simd-mappings.h +1279 -0
- package/cpp/ggml/src/ggml-cpu/spacemit/ime.cpp +1025 -0
- package/cpp/ggml/src/ggml-cpu/spacemit/ime.h +13 -0
- package/cpp/ggml/src/ggml-cpu/spacemit/ime1_kernels.cpp +3196 -0
- package/cpp/ggml/src/ggml-cpu/spacemit/ime_kernels.h +26 -0
- package/cpp/ggml/src/ggml-cpu/traits.cpp +36 -0
- package/cpp/ggml/src/ggml-cpu/traits.h +38 -0
- package/cpp/ggml/src/ggml-cpu/unary-ops.cpp +337 -0
- package/cpp/ggml/src/ggml-cpu/unary-ops.h +35 -0
- package/cpp/ggml/src/ggml-cpu/vec.cpp +629 -0
- package/cpp/ggml/src/ggml-cpu/vec.h +1585 -0
- package/cpp/ggml/src/ggml-hexagon/CMakeLists.txt +117 -0
- package/cpp/ggml/src/ggml-hexagon/ggml-hexagon.cpp +3232 -0
- package/cpp/ggml/src/ggml-hexagon/htp/CMakeLists.txt +45 -0
- package/cpp/ggml/src/ggml-hexagon/htp/act-ops.c +815 -0
- package/cpp/ggml/src/ggml-hexagon/htp/argsort-ops.c +281 -0
- package/cpp/ggml/src/ggml-hexagon/htp/binary-ops.c +827 -0
- package/cpp/ggml/src/ggml-hexagon/htp/cmake-toolchain.cmake +157 -0
- package/cpp/ggml/src/ggml-hexagon/htp/cpy-ops.c +251 -0
- package/cpp/ggml/src/ggml-hexagon/htp/flash-attn-ops.c +666 -0
- package/cpp/ggml/src/ggml-hexagon/htp/get-rows-ops.c +111 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hex-dma.c +63 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hex-dma.h +182 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hex-dump.h +77 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hex-fastdiv.h +37 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hex-utils.h +51 -0
- package/cpp/ggml/src/ggml-hexagon/htp/htp-ctx.h +35 -0
- package/cpp/ggml/src/ggml-hexagon/htp/htp-msg.h +154 -0
- package/cpp/ggml/src/ggml-hexagon/htp/htp-ops.h +65 -0
- package/cpp/ggml/src/ggml-hexagon/htp/htp_iface.idl +16 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-arith.h +470 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-base.h +173 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-copy.h +245 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-div.h +116 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-dump.h +129 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-exp.h +215 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-floor.h +100 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-inverse.h +176 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-reduce.h +266 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-scale.h +133 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h +141 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-sqrt.h +126 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-types.h +36 -0
- package/cpp/ggml/src/ggml-hexagon/htp/hvx-utils.h +18 -0
- package/cpp/ggml/src/ggml-hexagon/htp/main.c +1150 -0
- package/cpp/ggml/src/ggml-hexagon/htp/matmul-ops.c +2595 -0
- package/cpp/ggml/src/ggml-hexagon/htp/rope-ops.c +498 -0
- package/cpp/ggml/src/ggml-hexagon/htp/set-rows-ops.c +167 -0
- package/cpp/ggml/src/ggml-hexagon/htp/softmax-ops.c +421 -0
- package/cpp/ggml/src/ggml-hexagon/htp/sum-rows-ops.c +130 -0
- package/cpp/ggml/src/ggml-hexagon/htp/unary-ops.c +384 -0
- package/cpp/ggml/src/ggml-hexagon/htp/worker-pool.c +293 -0
- package/cpp/ggml/src/ggml-hexagon/htp/worker-pool.h +57 -0
- package/cpp/ggml/src/ggml-hexagon/htp-drv.cpp +418 -0
- package/cpp/ggml/src/ggml-hexagon/htp-drv.h +121 -0
- package/cpp/ggml/src/ggml-hexagon/libdl.h +79 -0
- package/cpp/ggml/src/ggml-hexagon/libggml-htp.inf +38 -0
- package/cpp/ggml/src/ggml-hexagon/op-desc.h +153 -0
- package/cpp/ggml/src/ggml-impl.h +724 -0
- package/cpp/ggml/src/ggml-metal/CMakeLists.txt +124 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-common.cpp +457 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-common.h +52 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-context.h +41 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-context.m +702 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-device.cpp +1890 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-device.h +290 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-device.m +1749 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-impl.h +1054 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-ops.cpp +4370 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal-ops.h +94 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal.cpp +937 -0
- package/cpp/ggml/src/ggml-metal/ggml-metal.metal +9819 -0
- package/cpp/ggml/src/ggml-musa/CMakeLists.txt +125 -0
- package/cpp/ggml/src/ggml-musa/mudnn.cu +112 -0
- package/cpp/ggml/src/ggml-musa/mudnn.cuh +12 -0
- package/cpp/ggml/src/ggml-opencl/CMakeLists.txt +150 -0
- package/cpp/ggml/src/ggml-opencl/ggml-opencl.cpp +11553 -0
- package/cpp/ggml/src/ggml-opencl/kernels/add.cl +190 -0
- package/cpp/ggml/src/ggml-opencl/kernels/add_id.cl +42 -0
- package/cpp/ggml/src/ggml-opencl/kernels/argsort.cl +86 -0
- package/cpp/ggml/src/ggml-opencl/kernels/clamp.cl +20 -0
- package/cpp/ggml/src/ggml-opencl/kernels/concat.cl +51 -0
- package/cpp/ggml/src/ggml-opencl/kernels/conv2d.cl +185 -0
- package/cpp/ggml/src/ggml-opencl/kernels/conv2d_f16_f32.cl +176 -0
- package/cpp/ggml/src/ggml-opencl/kernels/cpy.cl +184 -0
- package/cpp/ggml/src/ggml-opencl/kernels/cvt.cl +417 -0
- package/cpp/ggml/src/ggml-opencl/kernels/diag_mask_inf.cl +58 -0
- package/cpp/ggml/src/ggml-opencl/kernels/div.cl +138 -0
- package/cpp/ggml/src/ggml-opencl/kernels/embed_kernel.py +26 -0
- package/cpp/ggml/src/ggml-opencl/kernels/expm1.cl +113 -0
- package/cpp/ggml/src/ggml-opencl/kernels/fill.cl +17 -0
- package/cpp/ggml/src/ggml-opencl/kernels/flash_attn_f16.cl +370 -0
- package/cpp/ggml/src/ggml-opencl/kernels/flash_attn_f32.cl +371 -0
- package/cpp/ggml/src/ggml-opencl/kernels/flash_attn_f32_f16.cl +373 -0
- package/cpp/ggml/src/ggml-opencl/kernels/gelu.cl +89 -0
- package/cpp/ggml/src/ggml-opencl/kernels/gemm_moe_mxfp4_f32.cl +162 -0
- package/cpp/ggml/src/ggml-opencl/kernels/gemv_moe_mxfp4_f32.cl +156 -0
- package/cpp/ggml/src/ggml-opencl/kernels/gemv_noshuffle.cl +268 -0
- package/cpp/ggml/src/ggml-opencl/kernels/gemv_noshuffle_general.cl +274 -0
- package/cpp/ggml/src/ggml-opencl/kernels/gemv_noshuffle_general_q8_0_f32.cl +195 -0
- package/cpp/ggml/src/ggml-opencl/kernels/get_rows.cl +187 -0
- package/cpp/ggml/src/ggml-opencl/kernels/glu.cl +378 -0
- package/cpp/ggml/src/ggml-opencl/kernels/group_norm.cl +121 -0
- package/cpp/ggml/src/ggml-opencl/kernels/im2col_f16.cl +57 -0
- package/cpp/ggml/src/ggml-opencl/kernels/im2col_f32.cl +57 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mean.cl +140 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul.cl +152 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mat_Ab_Bi_8x4.cl +139 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mat_f16_f32.cl +130 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_f16_f32_kq_kqv.cl +273 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_f16_f32_l4_lm.cl +146 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_f32_f32_l4_lm.cl +147 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_q4_0_f32_l4_lm.cl +163 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_q4_1_f32_l4_lm.cl +165 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_q6_k_f32_l4_lm.cl +158 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_q8_0_f32_8x4.cl +129 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mm_q8_0_f32_l4_lm.cl +154 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_f16_f16.cl +118 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_f16_f32.cl +118 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_f16_f32_1row.cl +94 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_f16_f32_l4.cl +84 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_f32_f32.cl +118 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_id_mxfp4_f32.cl +189 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_id_mxfp4_f32_flat.cl +176 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_id_q4_0_f32_8x_flat.cl +283 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_id_q8_0_f32.cl +140 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_id_q8_0_f32_flat.cl +222 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_mxfp4_f32.cl +144 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_mxfp4_f32_flat.cl +167 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32.cl +192 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_1d_16x_flat.cl +307 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_1d_8x_flat.cl +265 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_8x_flat.cl +272 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_v.cl +254 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32.cl +219 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32_flat.cl +229 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q4_k_f32.cl +180 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32.cl +194 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32_flat.cl +194 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q8_0_f32.cl +125 -0
- package/cpp/ggml/src/ggml-opencl/kernels/mul_mv_q8_0_f32_flat.cl +202 -0
- package/cpp/ggml/src/ggml-opencl/kernels/norm.cl +161 -0
- package/cpp/ggml/src/ggml-opencl/kernels/pad.cl +39 -0
- package/cpp/ggml/src/ggml-opencl/kernels/relu.cl +16 -0
- package/cpp/ggml/src/ggml-opencl/kernels/repeat.cl +38 -0
- package/cpp/ggml/src/ggml-opencl/kernels/rms_norm.cl +190 -0
- package/cpp/ggml/src/ggml-opencl/kernels/rope.cl +747 -0
- package/cpp/ggml/src/ggml-opencl/kernels/scale.cl +27 -0
- package/cpp/ggml/src/ggml-opencl/kernels/set_rows.cl +208 -0
- package/cpp/ggml/src/ggml-opencl/kernels/sigmoid.cl +29 -0
- package/cpp/ggml/src/ggml-opencl/kernels/silu.cl +30 -0
- package/cpp/ggml/src/ggml-opencl/kernels/softmax_4_f16.cl +108 -0
- package/cpp/ggml/src/ggml-opencl/kernels/softmax_4_f32.cl +108 -0
- package/cpp/ggml/src/ggml-opencl/kernels/softmax_f16.cl +107 -0
- package/cpp/ggml/src/ggml-opencl/kernels/softmax_f32.cl +107 -0
- package/cpp/ggml/src/ggml-opencl/kernels/softplus.cl +116 -0
- package/cpp/ggml/src/ggml-opencl/kernels/solve_tri.cl +51 -0
- package/cpp/ggml/src/ggml-opencl/kernels/sqr.cl +53 -0
- package/cpp/ggml/src/ggml-opencl/kernels/sqrt.cl +53 -0
- package/cpp/ggml/src/ggml-opencl/kernels/ssm_conv.cl +77 -0
- package/cpp/ggml/src/ggml-opencl/kernels/sub.cl +138 -0
- package/cpp/ggml/src/ggml-opencl/kernels/sum_rows.cl +140 -0
- package/cpp/ggml/src/ggml-opencl/kernels/tanh.cl +109 -0
- package/cpp/ggml/src/ggml-opencl/kernels/transpose.cl +117 -0
- package/cpp/ggml/src/ggml-opencl/kernels/tri.cl +32 -0
- package/cpp/ggml/src/ggml-opencl/kernels/tsembd.cl +48 -0
- package/cpp/ggml/src/ggml-opencl/kernels/upscale.cl +120 -0
- package/cpp/ggml/src/ggml-opt.cpp +1093 -0
- package/cpp/ggml/src/ggml-quants.c +5325 -0
- package/cpp/ggml/src/ggml-quants.h +106 -0
- package/cpp/ggml/src/ggml-rpc/CMakeLists.txt +9 -0
- package/cpp/ggml/src/ggml-rpc/ggml-rpc.cpp +2118 -0
- package/cpp/ggml/src/ggml-threading.cpp +12 -0
- package/cpp/ggml/src/ggml-threading.h +14 -0
- package/cpp/ggml/src/ggml-virtgpu/CMakeLists.txt +70 -0
- package/cpp/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp +87 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/CMakeLists.txt +21 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp +115 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-convert.h +13 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp +102 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp +105 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp +179 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp +148 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp +51 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h +73 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-dispatched.h +27 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h +32 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/backend.cpp +144 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h +95 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h +94 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h +50 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h +378 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h +232 -0
- package/cpp/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h +58 -0
- package/cpp/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp +81 -0
- package/cpp/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp +119 -0
- package/cpp/ggml/src/ggml-virtgpu/ggml-backend-device.cpp +158 -0
- package/cpp/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp +213 -0
- package/cpp/ggml/src/ggml-virtgpu/ggml-backend.cpp +69 -0
- package/cpp/ggml/src/ggml-virtgpu/ggml-remoting.h +71 -0
- package/cpp/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml +166 -0
- package/cpp/ggml/src/ggml-virtgpu/include/apir_hw.h +9 -0
- package/cpp/ggml/src/ggml-virtgpu/regenerate_remoting.py +333 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-apir.h +15 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp +58 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp +110 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp +173 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp +192 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h +36 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h +53 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-shm.cpp +98 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-shm.h +23 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-utils.cpp +179 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu-utils.h +86 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu.cpp +544 -0
- package/cpp/ggml/src/ggml-virtgpu/virtgpu.h +117 -0
- package/cpp/ggml/src/ggml-webgpu/CMakeLists.txt +80 -0
- package/cpp/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp +1231 -0
- package/cpp/ggml/src/ggml-webgpu/ggml-webgpu.cpp +3150 -0
- package/cpp/ggml/src/ggml-webgpu/pre_wgsl.hpp +778 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/argmax.wgsl +72 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/argsort.wgsl +106 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/argsort_merge.wgsl +134 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/binary.wgsl +107 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/common_decls.tmpl +923 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/cpy.tmpl.wgsl +107 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/cumsum.wgsl +66 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py +182 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl +636 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/get_rows.wgsl +668 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/glu.tmpl.wgsl +323 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/memset.wgsl +40 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat.wgsl +713 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat_decls.tmpl +103 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat_reg_tile.wgsl +138 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat_subgroup_matrix.wgsl +188 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat_vec.wgsl +194 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/pad.wgsl +86 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm.wgsl +123 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/rope.tmpl.wgsl +295 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/scale.wgsl +63 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/set_rows.wgsl +109 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/soft_max.tmpl.wgsl +345 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/sum_rows.wgsl +55 -0
- package/cpp/ggml/src/ggml-webgpu/wgsl-shaders/unary.wgsl +193 -0
- package/cpp/ggml/src/ggml-zdnn/CMakeLists.txt +36 -0
- package/cpp/ggml/src/ggml-zdnn/common.hpp +59 -0
- package/cpp/ggml/src/ggml-zdnn/ggml-zdnn.cpp +633 -0
- package/cpp/ggml/src/ggml-zdnn/mmf.cpp +80 -0
- package/cpp/ggml/src/ggml-zdnn/mmf.hpp +12 -0
- package/cpp/ggml/src/ggml-zdnn/utils.cpp +79 -0
- package/cpp/ggml/src/ggml-zdnn/utils.hpp +19 -0
- package/cpp/ggml/src/ggml-zendnn/CMakeLists.txt +92 -0
- package/cpp/ggml/src/ggml-zendnn/ggml-zendnn.cpp +469 -0
- package/cpp/ggml/src/ggml.c +7669 -0
- package/cpp/ggml/src/ggml.cpp +26 -0
- package/cpp/ggml/src/gguf.cpp +1699 -0
- package/cpp/include/llama-cpp.h +32 -0
- package/cpp/include/llama.h +1568 -0
- package/cpp/mtmd/CMakeLists.txt +98 -0
- package/cpp/mtmd/README.md +63 -0
- package/cpp/mtmd/clip-graph.h +117 -0
- package/cpp/mtmd/clip-impl.h +586 -0
- package/cpp/mtmd/clip-model.h +390 -0
- package/cpp/mtmd/clip.cpp +4154 -0
- package/cpp/mtmd/clip.h +121 -0
- package/cpp/mtmd/deprecation-warning.cpp +22 -0
- package/cpp/mtmd/legacy-models/convert_image_encoder_to_gguf.py +412 -0
- package/cpp/mtmd/legacy-models/glmedge-convert-image-encoder-to-gguf.py +280 -0
- package/cpp/mtmd/legacy-models/glmedge-surgery.py +33 -0
- package/cpp/mtmd/legacy-models/llava_surgery.py +38 -0
- package/cpp/mtmd/legacy-models/llava_surgery_v2.py +180 -0
- package/cpp/mtmd/legacy-models/minicpmv-convert-image-encoder-to-gguf.py +892 -0
- package/cpp/mtmd/legacy-models/minicpmv-surgery.py +47 -0
- package/cpp/mtmd/models/cogvlm.cpp +98 -0
- package/cpp/mtmd/models/conformer.cpp +216 -0
- package/cpp/mtmd/models/glm4v.cpp +122 -0
- package/cpp/mtmd/models/internvl.cpp +69 -0
- package/cpp/mtmd/models/kimik25.cpp +101 -0
- package/cpp/mtmd/models/kimivl.cpp +63 -0
- package/cpp/mtmd/models/llama4.cpp +96 -0
- package/cpp/mtmd/models/llava.cpp +374 -0
- package/cpp/mtmd/models/minicpmv.cpp +114 -0
- package/cpp/mtmd/models/mobilenetv5.cpp +451 -0
- package/cpp/mtmd/models/models.h +128 -0
- package/cpp/mtmd/models/nemotron-v2-vl.cpp +35 -0
- package/cpp/mtmd/models/paddleocr.cpp +52 -0
- package/cpp/mtmd/models/pixtral.cpp +86 -0
- package/cpp/mtmd/models/qwen2vl.cpp +183 -0
- package/cpp/mtmd/models/qwen3vl.cpp +193 -0
- package/cpp/mtmd/models/siglip.cpp +86 -0
- package/cpp/mtmd/models/whisper-enc.cpp +115 -0
- package/cpp/mtmd/models/youtuvl.cpp +179 -0
- package/cpp/mtmd/mtmd-audio.cpp +730 -0
- package/cpp/mtmd/mtmd-audio.h +113 -0
- package/cpp/mtmd/mtmd-cli.cpp +437 -0
- package/cpp/mtmd/mtmd-helper.cpp +521 -0
- package/cpp/mtmd/mtmd-helper.h +96 -0
- package/cpp/mtmd/mtmd.cpp +1156 -0
- package/cpp/mtmd/mtmd.h +319 -0
- package/cpp/mtmd/requirements.txt +5 -0
- package/cpp/mtmd/test-1.jpeg +0 -0
- package/cpp/mtmd/test-2.mp3 +0 -0
- package/cpp/mtmd/tests.sh +192 -0
- package/cpp/src/CMakeLists.txt +169 -0
- package/cpp/src/llama-adapter.cpp +488 -0
- package/cpp/src/llama-adapter.h +89 -0
- package/cpp/src/llama-arch.cpp +2855 -0
- package/cpp/src/llama-arch.h +619 -0
- package/cpp/src/llama-batch.cpp +917 -0
- package/cpp/src/llama-batch.h +173 -0
- package/cpp/src/llama-chat.cpp +896 -0
- package/cpp/src/llama-chat.h +71 -0
- package/cpp/src/llama-context.cpp +3512 -0
- package/cpp/src/llama-context.h +359 -0
- package/cpp/src/llama-cparams.cpp +5 -0
- package/cpp/src/llama-cparams.h +44 -0
- package/cpp/src/llama-grammar.cpp +1464 -0
- package/cpp/src/llama-grammar.h +194 -0
- package/cpp/src/llama-graph.cpp +2685 -0
- package/cpp/src/llama-graph.h +1026 -0
- package/cpp/src/llama-hparams.cpp +234 -0
- package/cpp/src/llama-hparams.h +339 -0
- package/cpp/src/llama-impl.cpp +171 -0
- package/cpp/src/llama-impl.h +73 -0
- package/cpp/src/llama-io.cpp +15 -0
- package/cpp/src/llama-io.h +35 -0
- package/cpp/src/llama-kv-cache-iswa.cpp +330 -0
- package/cpp/src/llama-kv-cache-iswa.h +137 -0
- package/cpp/src/llama-kv-cache.cpp +2271 -0
- package/cpp/src/llama-kv-cache.h +388 -0
- package/cpp/src/llama-kv-cells.h +533 -0
- package/cpp/src/llama-memory-hybrid-iswa.cpp +275 -0
- package/cpp/src/llama-memory-hybrid-iswa.h +140 -0
- package/cpp/src/llama-memory-hybrid.cpp +268 -0
- package/cpp/src/llama-memory-hybrid.h +139 -0
- package/cpp/src/llama-memory-recurrent.cpp +1165 -0
- package/cpp/src/llama-memory-recurrent.h +182 -0
- package/cpp/src/llama-memory.cpp +59 -0
- package/cpp/src/llama-memory.h +122 -0
- package/cpp/src/llama-mmap.cpp +785 -0
- package/cpp/src/llama-mmap.h +92 -0
- package/cpp/src/llama-model-loader.cpp +1414 -0
- package/cpp/src/llama-model-loader.h +203 -0
- package/cpp/src/llama-model-saver.cpp +286 -0
- package/cpp/src/llama-model-saver.h +37 -0
- package/cpp/src/llama-model.cpp +9253 -0
- package/cpp/src/llama-model.h +576 -0
- package/cpp/src/llama-quant.cpp +1119 -0
- package/cpp/src/llama-quant.h +1 -0
- package/cpp/src/llama-sampler.cpp +3885 -0
- package/cpp/src/llama-sampler.h +42 -0
- package/cpp/src/llama-vocab.cpp +3970 -0
- package/cpp/src/llama-vocab.h +187 -0
- package/cpp/src/llama.cpp +1313 -0
- package/cpp/src/models/afmoe.cpp +191 -0
- package/cpp/src/models/apertus.cpp +125 -0
- package/cpp/src/models/arcee.cpp +135 -0
- package/cpp/src/models/arctic.cpp +138 -0
- package/cpp/src/models/arwkv7.cpp +86 -0
- package/cpp/src/models/baichuan.cpp +122 -0
- package/cpp/src/models/bailingmoe.cpp +144 -0
- package/cpp/src/models/bailingmoe2.cpp +135 -0
- package/cpp/src/models/bert.cpp +178 -0
- package/cpp/src/models/bitnet.cpp +160 -0
- package/cpp/src/models/bloom.cpp +101 -0
- package/cpp/src/models/chameleon.cpp +178 -0
- package/cpp/src/models/chatglm.cpp +132 -0
- package/cpp/src/models/codeshell.cpp +111 -0
- package/cpp/src/models/cogvlm.cpp +102 -0
- package/cpp/src/models/cohere2-iswa.cpp +134 -0
- package/cpp/src/models/command-r.cpp +122 -0
- package/cpp/src/models/dbrx.cpp +123 -0
- package/cpp/src/models/deci.cpp +135 -0
- package/cpp/src/models/deepseek.cpp +144 -0
- package/cpp/src/models/deepseek2.cpp +262 -0
- package/cpp/src/models/delta-net-base.cpp +376 -0
- package/cpp/src/models/dots1.cpp +134 -0
- package/cpp/src/models/dream.cpp +105 -0
- package/cpp/src/models/ernie4-5-moe.cpp +150 -0
- package/cpp/src/models/ernie4-5.cpp +110 -0
- package/cpp/src/models/eurobert.cpp +97 -0
- package/cpp/src/models/exaone-moe.cpp +146 -0
- package/cpp/src/models/exaone.cpp +114 -0
- package/cpp/src/models/exaone4.cpp +123 -0
- package/cpp/src/models/falcon-h1.cpp +111 -0
- package/cpp/src/models/falcon.cpp +120 -0
- package/cpp/src/models/gemma-embedding.cpp +116 -0
- package/cpp/src/models/gemma.cpp +112 -0
- package/cpp/src/models/gemma2-iswa.cpp +128 -0
- package/cpp/src/models/gemma3.cpp +155 -0
- package/cpp/src/models/gemma3n-iswa.cpp +384 -0
- package/cpp/src/models/glm4-moe.cpp +170 -0
- package/cpp/src/models/glm4.cpp +157 -0
- package/cpp/src/models/gpt2.cpp +105 -0
- package/cpp/src/models/gptneox.cpp +144 -0
- package/cpp/src/models/granite-hybrid.cpp +196 -0
- package/cpp/src/models/granite.cpp +211 -0
- package/cpp/src/models/grok.cpp +159 -0
- package/cpp/src/models/grovemoe.cpp +141 -0
- package/cpp/src/models/hunyuan-dense.cpp +132 -0
- package/cpp/src/models/hunyuan-moe.cpp +154 -0
- package/cpp/src/models/internlm2.cpp +120 -0
- package/cpp/src/models/jais.cpp +86 -0
- package/cpp/src/models/jais2.cpp +123 -0
- package/cpp/src/models/jamba.cpp +106 -0
- package/cpp/src/models/kimi-linear.cpp +392 -0
- package/cpp/src/models/lfm2.cpp +190 -0
- package/cpp/src/models/llada-moe.cpp +122 -0
- package/cpp/src/models/llada.cpp +99 -0
- package/cpp/src/models/llama-iswa.cpp +178 -0
- package/cpp/src/models/llama.cpp +168 -0
- package/cpp/src/models/maincoder.cpp +117 -0
- package/cpp/src/models/mamba-base.cpp +285 -0
- package/cpp/src/models/mamba.cpp +54 -0
- package/cpp/src/models/mimo2-iswa.cpp +123 -0
- package/cpp/src/models/minicpm3.cpp +200 -0
- package/cpp/src/models/minimax-m2.cpp +124 -0
- package/cpp/src/models/mistral3.cpp +160 -0
- package/cpp/src/models/models.h +684 -0
- package/cpp/src/models/modern-bert.cpp +109 -0
- package/cpp/src/models/mpt.cpp +126 -0
- package/cpp/src/models/nemotron-h.cpp +148 -0
- package/cpp/src/models/nemotron.cpp +122 -0
- package/cpp/src/models/neo-bert.cpp +104 -0
- package/cpp/src/models/olmo.cpp +121 -0
- package/cpp/src/models/olmo2.cpp +150 -0
- package/cpp/src/models/olmoe.cpp +124 -0
- package/cpp/src/models/openai-moe-iswa.cpp +127 -0
- package/cpp/src/models/openelm.cpp +124 -0
- package/cpp/src/models/orion.cpp +123 -0
- package/cpp/src/models/paddleocr.cpp +122 -0
- package/cpp/src/models/pangu-embedded.cpp +121 -0
- package/cpp/src/models/phi2.cpp +121 -0
- package/cpp/src/models/phi3.cpp +152 -0
- package/cpp/src/models/plamo.cpp +110 -0
- package/cpp/src/models/plamo2.cpp +318 -0
- package/cpp/src/models/plamo3.cpp +128 -0
- package/cpp/src/models/plm.cpp +169 -0
- package/cpp/src/models/qwen.cpp +108 -0
- package/cpp/src/models/qwen2.cpp +126 -0
- package/cpp/src/models/qwen2moe.cpp +151 -0
- package/cpp/src/models/qwen2vl.cpp +117 -0
- package/cpp/src/models/qwen3.cpp +117 -0
- package/cpp/src/models/qwen35.cpp +386 -0
- package/cpp/src/models/qwen35moe.cpp +420 -0
- package/cpp/src/models/qwen3moe.cpp +124 -0
- package/cpp/src/models/qwen3next.cpp +525 -0
- package/cpp/src/models/qwen3vl-moe.cpp +140 -0
- package/cpp/src/models/qwen3vl.cpp +132 -0
- package/cpp/src/models/refact.cpp +94 -0
- package/cpp/src/models/rnd1.cpp +126 -0
- package/cpp/src/models/rwkv6-base.cpp +164 -0
- package/cpp/src/models/rwkv6.cpp +94 -0
- package/cpp/src/models/rwkv6qwen2.cpp +86 -0
- package/cpp/src/models/rwkv7-base.cpp +137 -0
- package/cpp/src/models/rwkv7.cpp +90 -0
- package/cpp/src/models/seed-oss.cpp +124 -0
- package/cpp/src/models/smallthinker.cpp +126 -0
- package/cpp/src/models/smollm3.cpp +128 -0
- package/cpp/src/models/stablelm.cpp +146 -0
- package/cpp/src/models/starcoder.cpp +100 -0
- package/cpp/src/models/starcoder2.cpp +121 -0
- package/cpp/src/models/step35-iswa.cpp +168 -0
- package/cpp/src/models/t5-dec.cpp +166 -0
- package/cpp/src/models/t5-enc.cpp +96 -0
- package/cpp/src/models/wavtokenizer-dec.cpp +149 -0
- package/cpp/src/models/xverse.cpp +108 -0
- package/cpp/src/unicode-data.cpp +7034 -0
- package/cpp/src/unicode-data.h +20 -0
- package/cpp/src/unicode.cpp +1103 -0
- package/cpp/src/unicode.h +111 -0
- package/cpp/vendor/nlohmann/json.hpp +25526 -0
- package/cpp/vendor/nlohmann/json_fwd.hpp +187 -0
- package/cpp/vendor/stb/stb_image.h +7988 -0
- package/ios/LocalLLM-Bridging-Header.h +2 -0
- package/ios/LocalLLM.h +5 -0
- package/ios/LocalLLM.mm +1267 -0
- package/local-llm-rn.podspec +60 -0
- package/package.json +35 -0
- package/src/NativeLocalLLM.ts +73 -0
- package/src/device.ts +50 -0
- package/src/download-adapter.ts +17 -0
- package/src/index.ts +21 -0
- package/src/native-bridge.ts +142 -0
- package/src/rn-downloader.ts +37 -0
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "llama.h"
|
|
4
|
+
#include "llama-arch.h"
|
|
5
|
+
#include "llama-graph.h"
|
|
6
|
+
#include "llama-hparams.h"
|
|
7
|
+
#include "llama-memory.h"
|
|
8
|
+
#include "llama-vocab.h"
|
|
9
|
+
|
|
10
|
+
#include <map>
|
|
11
|
+
#include <memory>
|
|
12
|
+
#include <string>
|
|
13
|
+
#include <unordered_map>
|
|
14
|
+
#include <unordered_set>
|
|
15
|
+
#include <vector>
|
|
16
|
+
|
|
17
|
+
struct llama_cparams;
|
|
18
|
+
struct llama_ubatch;
|
|
19
|
+
struct llama_model_loader;
|
|
20
|
+
|
|
21
|
+
// available models
|
|
22
|
+
enum llm_type {
|
|
23
|
+
LLM_TYPE_UNKNOWN,
|
|
24
|
+
LLM_TYPE_14M,
|
|
25
|
+
LLM_TYPE_17M,
|
|
26
|
+
LLM_TYPE_22M,
|
|
27
|
+
LLM_TYPE_33M,
|
|
28
|
+
LLM_TYPE_47M,
|
|
29
|
+
LLM_TYPE_60M,
|
|
30
|
+
LLM_TYPE_70M,
|
|
31
|
+
LLM_TYPE_80M,
|
|
32
|
+
LLM_TYPE_109M,
|
|
33
|
+
LLM_TYPE_137M,
|
|
34
|
+
LLM_TYPE_140M,
|
|
35
|
+
LLM_TYPE_149M,
|
|
36
|
+
LLM_TYPE_160M,
|
|
37
|
+
LLM_TYPE_190M,
|
|
38
|
+
LLM_TYPE_220M,
|
|
39
|
+
LLM_TYPE_250M,
|
|
40
|
+
LLM_TYPE_256M,
|
|
41
|
+
LLM_TYPE_270M,
|
|
42
|
+
LLM_TYPE_335M,
|
|
43
|
+
LLM_TYPE_350M,
|
|
44
|
+
LLM_TYPE_360M,
|
|
45
|
+
LLM_TYPE_395M,
|
|
46
|
+
LLM_TYPE_410M,
|
|
47
|
+
LLM_TYPE_450M,
|
|
48
|
+
LLM_TYPE_475M,
|
|
49
|
+
LLM_TYPE_558M,
|
|
50
|
+
LLM_TYPE_700M,
|
|
51
|
+
LLM_TYPE_770M,
|
|
52
|
+
LLM_TYPE_780M,
|
|
53
|
+
LLM_TYPE_950M,
|
|
54
|
+
LLM_TYPE_0_3B,
|
|
55
|
+
LLM_TYPE_0_5B,
|
|
56
|
+
LLM_TYPE_0_6B,
|
|
57
|
+
LLM_TYPE_1B,
|
|
58
|
+
LLM_TYPE_1_2B,
|
|
59
|
+
LLM_TYPE_1_3B,
|
|
60
|
+
LLM_TYPE_1_4B,
|
|
61
|
+
LLM_TYPE_1_5B,
|
|
62
|
+
LLM_TYPE_1_6B,
|
|
63
|
+
LLM_TYPE_1_7B,
|
|
64
|
+
LLM_TYPE_1_8B,
|
|
65
|
+
LLM_TYPE_2B,
|
|
66
|
+
LLM_TYPE_2_6B,
|
|
67
|
+
LLM_TYPE_2_8B,
|
|
68
|
+
LLM_TYPE_2_9B,
|
|
69
|
+
LLM_TYPE_3B,
|
|
70
|
+
LLM_TYPE_4B,
|
|
71
|
+
LLM_TYPE_6B,
|
|
72
|
+
LLM_TYPE_6_9B,
|
|
73
|
+
LLM_TYPE_7B,
|
|
74
|
+
LLM_TYPE_8B,
|
|
75
|
+
LLM_TYPE_9B,
|
|
76
|
+
LLM_TYPE_11B,
|
|
77
|
+
LLM_TYPE_12B,
|
|
78
|
+
LLM_TYPE_13B,
|
|
79
|
+
LLM_TYPE_14B,
|
|
80
|
+
LLM_TYPE_15B,
|
|
81
|
+
LLM_TYPE_16B,
|
|
82
|
+
LLM_TYPE_20B,
|
|
83
|
+
LLM_TYPE_26B,
|
|
84
|
+
LLM_TYPE_27B,
|
|
85
|
+
LLM_TYPE_30B,
|
|
86
|
+
LLM_TYPE_32B,
|
|
87
|
+
LLM_TYPE_34B,
|
|
88
|
+
LLM_TYPE_35B,
|
|
89
|
+
LLM_TYPE_36B,
|
|
90
|
+
LLM_TYPE_40B,
|
|
91
|
+
LLM_TYPE_65B,
|
|
92
|
+
LLM_TYPE_70B,
|
|
93
|
+
LLM_TYPE_120B,
|
|
94
|
+
LLM_TYPE_142B,
|
|
95
|
+
LLM_TYPE_236B,
|
|
96
|
+
LLM_TYPE_290B,
|
|
97
|
+
LLM_TYPE_314B,
|
|
98
|
+
LLM_TYPE_405B,
|
|
99
|
+
LLM_TYPE_671B,
|
|
100
|
+
LLM_TYPE_SMALL,
|
|
101
|
+
LLM_TYPE_MEDIUM,
|
|
102
|
+
LLM_TYPE_LARGE,
|
|
103
|
+
LLM_TYPE_XL,
|
|
104
|
+
LLM_TYPE_A1_7B,
|
|
105
|
+
LLM_TYPE_A2_7B,
|
|
106
|
+
LLM_TYPE_8x7B,
|
|
107
|
+
LLM_TYPE_8x22B,
|
|
108
|
+
LLM_TYPE_16x12B,
|
|
109
|
+
LLM_TYPE_16x3_8B,
|
|
110
|
+
LLM_TYPE_10B_128x3_66B,
|
|
111
|
+
LLM_TYPE_57B_A14B,
|
|
112
|
+
LLM_TYPE_17B_16E, // llama4 Scout
|
|
113
|
+
LLM_TYPE_17B_128E, // llama4 Maverick
|
|
114
|
+
LLM_TYPE_A13B,
|
|
115
|
+
LLM_TYPE_7B_A1B,
|
|
116
|
+
LLM_TYPE_8B_A1B, // lfm2moe
|
|
117
|
+
LLM_TYPE_16B_A1B,
|
|
118
|
+
LLM_TYPE_21B_A3B, // Ernie MoE small
|
|
119
|
+
LLM_TYPE_24B_A2B, // lfm2moe
|
|
120
|
+
LLM_TYPE_30B_A3B,
|
|
121
|
+
LLM_TYPE_31B_A3_5B,
|
|
122
|
+
LLM_TYPE_35B_A3B, // Qwen3.5
|
|
123
|
+
LLM_TYPE_48B_A3B, // Kimi Linear
|
|
124
|
+
LLM_TYPE_80B_A3B, // Qwen3 Next
|
|
125
|
+
LLM_TYPE_100B_A6B,
|
|
126
|
+
LLM_TYPE_102B_A12B, // Solar-Open
|
|
127
|
+
LLM_TYPE_106B_A12B, // GLM-4.5-Air
|
|
128
|
+
LLM_TYPE_196B_A11B, // Step3.5-Flash
|
|
129
|
+
LLM_TYPE_230B_A10B, // Minimax M2
|
|
130
|
+
LLM_TYPE_235B_A22B,
|
|
131
|
+
LLM_TYPE_300B_A47B, // Ernie MoE big
|
|
132
|
+
LLM_TYPE_310B_A15B, // /MiMo-V2-Flash
|
|
133
|
+
LLM_TYPE_355B_A32B, // GLM-4.5
|
|
134
|
+
LLM_TYPE_744B_A40B, // GLM-5
|
|
135
|
+
LLM_TYPE_E2B,
|
|
136
|
+
LLM_TYPE_E4B,
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
std::string llama_rope_scaling_type_name(llama_rope_scaling_type rope_scaling_type);
|
|
140
|
+
|
|
141
|
+
struct llama_layer_posnet {
|
|
142
|
+
// resnet
|
|
143
|
+
struct ggml_tensor * norm1 = nullptr;
|
|
144
|
+
struct ggml_tensor * norm1_b = nullptr;
|
|
145
|
+
|
|
146
|
+
struct ggml_tensor * conv1 = nullptr;
|
|
147
|
+
struct ggml_tensor * conv1_b = nullptr;
|
|
148
|
+
|
|
149
|
+
struct ggml_tensor * norm2 = nullptr;
|
|
150
|
+
struct ggml_tensor * norm2_b = nullptr;
|
|
151
|
+
|
|
152
|
+
struct ggml_tensor * conv2 = nullptr;
|
|
153
|
+
struct ggml_tensor * conv2_b = nullptr;
|
|
154
|
+
|
|
155
|
+
// attention
|
|
156
|
+
struct ggml_tensor * attn_norm = nullptr;
|
|
157
|
+
struct ggml_tensor * attn_norm_b = nullptr;
|
|
158
|
+
|
|
159
|
+
struct ggml_tensor * attn_q = nullptr;
|
|
160
|
+
struct ggml_tensor * attn_q_b = nullptr;
|
|
161
|
+
|
|
162
|
+
struct ggml_tensor * attn_k = nullptr;
|
|
163
|
+
struct ggml_tensor * attn_k_b = nullptr;
|
|
164
|
+
|
|
165
|
+
struct ggml_tensor * attn_v = nullptr;
|
|
166
|
+
struct ggml_tensor * attn_v_b = nullptr;
|
|
167
|
+
|
|
168
|
+
struct ggml_tensor * attn_o = nullptr;
|
|
169
|
+
struct ggml_tensor * attn_o_b = nullptr;
|
|
170
|
+
|
|
171
|
+
// normalize
|
|
172
|
+
struct ggml_tensor * norm = nullptr;
|
|
173
|
+
struct ggml_tensor * norm_b = nullptr;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
struct llama_layer_convnext {
|
|
177
|
+
struct ggml_tensor * dw = nullptr;
|
|
178
|
+
struct ggml_tensor * dw_b = nullptr;
|
|
179
|
+
|
|
180
|
+
struct ggml_tensor * norm = nullptr;
|
|
181
|
+
struct ggml_tensor * norm_b = nullptr;
|
|
182
|
+
|
|
183
|
+
struct ggml_tensor * pw1 = nullptr;
|
|
184
|
+
struct ggml_tensor * pw1_b = nullptr;
|
|
185
|
+
|
|
186
|
+
struct ggml_tensor * pw2 = nullptr;
|
|
187
|
+
struct ggml_tensor * pw2_b = nullptr;
|
|
188
|
+
|
|
189
|
+
struct ggml_tensor * gamma = nullptr;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
struct llama_layer_shortconv {
|
|
193
|
+
struct ggml_tensor * in_proj = nullptr;
|
|
194
|
+
struct ggml_tensor * conv = nullptr;
|
|
195
|
+
struct ggml_tensor * out_proj = nullptr;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
struct llama_layer_nextn {
|
|
199
|
+
struct ggml_tensor * eh_proj = nullptr;
|
|
200
|
+
struct ggml_tensor * embed_tokens = nullptr;
|
|
201
|
+
struct ggml_tensor * enorm = nullptr;
|
|
202
|
+
struct ggml_tensor * hnorm = nullptr;
|
|
203
|
+
struct ggml_tensor * shared_head_head = nullptr;
|
|
204
|
+
struct ggml_tensor * shared_head_norm = nullptr;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
struct llama_layer {
|
|
208
|
+
// normalization
|
|
209
|
+
struct ggml_tensor * attn_norm = nullptr;
|
|
210
|
+
struct ggml_tensor * attn_norm_b = nullptr;
|
|
211
|
+
struct ggml_tensor * attn_norm_2 = nullptr;
|
|
212
|
+
struct ggml_tensor * attn_norm_2_b = nullptr;
|
|
213
|
+
struct ggml_tensor * attn_q_norm = nullptr;
|
|
214
|
+
struct ggml_tensor * attn_q_norm_b = nullptr;
|
|
215
|
+
struct ggml_tensor * attn_k_norm = nullptr;
|
|
216
|
+
struct ggml_tensor * attn_k_norm_b = nullptr;
|
|
217
|
+
struct ggml_tensor * attn_out_norm = nullptr;
|
|
218
|
+
struct ggml_tensor * attn_out_norm_b = nullptr;
|
|
219
|
+
struct ggml_tensor * attn_q_a_norm = nullptr;
|
|
220
|
+
struct ggml_tensor * attn_kv_a_norm = nullptr;
|
|
221
|
+
struct ggml_tensor * attn_sub_norm = nullptr;
|
|
222
|
+
struct ggml_tensor * attn_post_norm = nullptr;
|
|
223
|
+
struct ggml_tensor * ffn_sub_norm = nullptr;
|
|
224
|
+
struct ggml_tensor * attn_norm_cross = nullptr;
|
|
225
|
+
struct ggml_tensor * attn_norm_enc = nullptr;
|
|
226
|
+
struct ggml_tensor * ssm_norm = nullptr;
|
|
227
|
+
struct ggml_tensor * ssm_dt_norm = nullptr;
|
|
228
|
+
struct ggml_tensor * ssm_b_norm = nullptr;
|
|
229
|
+
struct ggml_tensor * ssm_c_norm = nullptr;
|
|
230
|
+
|
|
231
|
+
// attention
|
|
232
|
+
struct ggml_tensor * wq = nullptr;
|
|
233
|
+
struct ggml_tensor * wk = nullptr;
|
|
234
|
+
struct ggml_tensor * wv = nullptr;
|
|
235
|
+
struct ggml_tensor * wo = nullptr;
|
|
236
|
+
struct ggml_tensor * wqkv = nullptr;
|
|
237
|
+
struct ggml_tensor * wq_a = nullptr;
|
|
238
|
+
struct ggml_tensor * wq_b = nullptr;
|
|
239
|
+
struct ggml_tensor * wkv_a_mqa = nullptr;
|
|
240
|
+
struct ggml_tensor * wkv_b = nullptr;
|
|
241
|
+
struct ggml_tensor * wk_b = nullptr;
|
|
242
|
+
struct ggml_tensor * wv_b = nullptr;
|
|
243
|
+
struct ggml_tensor * wq_cross = nullptr;
|
|
244
|
+
struct ggml_tensor * wk_cross = nullptr;
|
|
245
|
+
struct ggml_tensor * wv_cross = nullptr;
|
|
246
|
+
struct ggml_tensor * wo_cross = nullptr;
|
|
247
|
+
struct ggml_tensor * wq_enc = nullptr;
|
|
248
|
+
struct ggml_tensor * wk_enc = nullptr;
|
|
249
|
+
struct ggml_tensor * wv_enc = nullptr;
|
|
250
|
+
struct ggml_tensor * wo_enc = nullptr;
|
|
251
|
+
struct ggml_tensor * wqkv_gate = nullptr;
|
|
252
|
+
|
|
253
|
+
// attention bias
|
|
254
|
+
struct ggml_tensor * bq = nullptr;
|
|
255
|
+
struct ggml_tensor * bk = nullptr;
|
|
256
|
+
struct ggml_tensor * bv = nullptr;
|
|
257
|
+
struct ggml_tensor * bo = nullptr;
|
|
258
|
+
struct ggml_tensor * bqkv = nullptr;
|
|
259
|
+
|
|
260
|
+
// relative position bias
|
|
261
|
+
struct ggml_tensor * attn_rel_b = nullptr;
|
|
262
|
+
struct ggml_tensor * attn_rel_b_enc = nullptr;
|
|
263
|
+
struct ggml_tensor * attn_rel_b_cross = nullptr;
|
|
264
|
+
|
|
265
|
+
// normalization
|
|
266
|
+
struct ggml_tensor * ffn_norm = nullptr;
|
|
267
|
+
struct ggml_tensor * ffn_norm_b = nullptr;
|
|
268
|
+
struct ggml_tensor * ffn_post_norm = nullptr;
|
|
269
|
+
struct ggml_tensor * layer_out_norm = nullptr;
|
|
270
|
+
struct ggml_tensor * layer_out_norm_b = nullptr;
|
|
271
|
+
struct ggml_tensor * ffn_norm_exps = nullptr;
|
|
272
|
+
struct ggml_tensor * ffn_norm_enc = nullptr;
|
|
273
|
+
|
|
274
|
+
// ff
|
|
275
|
+
struct ggml_tensor * ffn_gate = nullptr; // w1
|
|
276
|
+
struct ggml_tensor * ffn_down = nullptr; // w2
|
|
277
|
+
struct ggml_tensor * ffn_up = nullptr; // w3
|
|
278
|
+
struct ggml_tensor * ffn_gate_enc = nullptr;
|
|
279
|
+
struct ggml_tensor * ffn_down_enc = nullptr;
|
|
280
|
+
struct ggml_tensor * ffn_up_enc = nullptr;
|
|
281
|
+
|
|
282
|
+
// ff MoE
|
|
283
|
+
struct ggml_tensor * ffn_gate_inp = nullptr;
|
|
284
|
+
struct ggml_tensor * ffn_gate_exps = nullptr;
|
|
285
|
+
struct ggml_tensor * ffn_down_exps = nullptr;
|
|
286
|
+
struct ggml_tensor * ffn_up_exps = nullptr;
|
|
287
|
+
struct ggml_tensor * ffn_gate_up_exps = nullptr;
|
|
288
|
+
struct ggml_tensor * ffn_gate_inp_b = nullptr;
|
|
289
|
+
struct ggml_tensor * ffn_gate_exps_b = nullptr;
|
|
290
|
+
struct ggml_tensor * ffn_down_exps_b = nullptr;
|
|
291
|
+
struct ggml_tensor * ffn_up_exps_b = nullptr;
|
|
292
|
+
struct ggml_tensor * ffn_gate_up_exps_b = nullptr;
|
|
293
|
+
|
|
294
|
+
// ff shared expert (shexp)
|
|
295
|
+
struct ggml_tensor * ffn_gate_inp_shexp = nullptr;
|
|
296
|
+
struct ggml_tensor * ffn_gate_shexp = nullptr;
|
|
297
|
+
struct ggml_tensor * ffn_down_shexp = nullptr;
|
|
298
|
+
struct ggml_tensor * ffn_up_shexp = nullptr;
|
|
299
|
+
|
|
300
|
+
// ff adjugate experts (chexps)
|
|
301
|
+
struct ggml_tensor * ffn_gate_chexps = nullptr;
|
|
302
|
+
struct ggml_tensor * ffn_down_chexps = nullptr;
|
|
303
|
+
struct ggml_tensor * ffn_up_chexps = nullptr;
|
|
304
|
+
|
|
305
|
+
// ff bias
|
|
306
|
+
struct ggml_tensor * ffn_gate_b = nullptr;
|
|
307
|
+
struct ggml_tensor * ffn_down_b = nullptr; // b2
|
|
308
|
+
struct ggml_tensor * ffn_up_b = nullptr; // b3
|
|
309
|
+
struct ggml_tensor * ffn_act = nullptr;
|
|
310
|
+
struct ggml_tensor * ffn_exp_probs_b = nullptr;
|
|
311
|
+
|
|
312
|
+
// mamba proj
|
|
313
|
+
struct ggml_tensor * ssm_in = nullptr;
|
|
314
|
+
struct ggml_tensor * ssm_x = nullptr;
|
|
315
|
+
struct ggml_tensor * ssm_dt = nullptr;
|
|
316
|
+
struct ggml_tensor * ssm_out = nullptr;
|
|
317
|
+
|
|
318
|
+
// mamba
|
|
319
|
+
struct ggml_tensor * ssm_conv1d = nullptr;
|
|
320
|
+
struct ggml_tensor * ssm_a = nullptr;
|
|
321
|
+
struct ggml_tensor * ssm_d = nullptr;
|
|
322
|
+
|
|
323
|
+
// mamba bias
|
|
324
|
+
struct ggml_tensor * ssm_conv1d_b = nullptr;
|
|
325
|
+
struct ggml_tensor * ssm_dt_b = nullptr;
|
|
326
|
+
|
|
327
|
+
// qwen3next
|
|
328
|
+
struct ggml_tensor * ssm_beta_alpha = nullptr;
|
|
329
|
+
|
|
330
|
+
// qwen3.5
|
|
331
|
+
struct ggml_tensor * ssm_alpha = nullptr;
|
|
332
|
+
|
|
333
|
+
// rwkv
|
|
334
|
+
struct ggml_tensor * time_mix_w1 = nullptr;
|
|
335
|
+
struct ggml_tensor * time_mix_w2 = nullptr;
|
|
336
|
+
struct ggml_tensor * time_mix_lerp_x = nullptr;
|
|
337
|
+
struct ggml_tensor * time_mix_lerp_w = nullptr;
|
|
338
|
+
struct ggml_tensor * time_mix_lerp_k = nullptr;
|
|
339
|
+
struct ggml_tensor * time_mix_lerp_v = nullptr;
|
|
340
|
+
struct ggml_tensor * time_mix_lerp_r = nullptr;
|
|
341
|
+
struct ggml_tensor * time_mix_lerp_g = nullptr;
|
|
342
|
+
struct ggml_tensor * time_mix_lerp_fused = nullptr;
|
|
343
|
+
|
|
344
|
+
struct ggml_tensor * time_mix_first = nullptr;
|
|
345
|
+
struct ggml_tensor * time_mix_decay = nullptr;
|
|
346
|
+
struct ggml_tensor * time_mix_decay_w1 = nullptr;
|
|
347
|
+
struct ggml_tensor * time_mix_decay_w2 = nullptr;
|
|
348
|
+
struct ggml_tensor * time_mix_key = nullptr;
|
|
349
|
+
struct ggml_tensor * time_mix_key_b = nullptr;
|
|
350
|
+
struct ggml_tensor * time_mix_value = nullptr;
|
|
351
|
+
struct ggml_tensor * time_mix_value_b = nullptr;
|
|
352
|
+
struct ggml_tensor * time_mix_receptance = nullptr;
|
|
353
|
+
struct ggml_tensor * time_mix_receptance_b = nullptr;
|
|
354
|
+
struct ggml_tensor * time_mix_gate = nullptr;
|
|
355
|
+
|
|
356
|
+
// rwkv7
|
|
357
|
+
struct ggml_tensor * time_mix_w0 = nullptr;
|
|
358
|
+
struct ggml_tensor * time_mix_a0 = nullptr;
|
|
359
|
+
struct ggml_tensor * time_mix_a1 = nullptr;
|
|
360
|
+
struct ggml_tensor * time_mix_a2 = nullptr;
|
|
361
|
+
struct ggml_tensor * time_mix_v0 = nullptr;
|
|
362
|
+
struct ggml_tensor * time_mix_v1 = nullptr;
|
|
363
|
+
struct ggml_tensor * time_mix_v2 = nullptr;
|
|
364
|
+
struct ggml_tensor * time_mix_g1 = nullptr;
|
|
365
|
+
struct ggml_tensor * time_mix_g2 = nullptr;
|
|
366
|
+
struct ggml_tensor * time_mix_k_k = nullptr;
|
|
367
|
+
struct ggml_tensor * time_mix_k_a = nullptr;
|
|
368
|
+
struct ggml_tensor * time_mix_r_k = nullptr;
|
|
369
|
+
|
|
370
|
+
struct ggml_tensor * time_mix_ln = nullptr;
|
|
371
|
+
struct ggml_tensor * time_mix_ln_b = nullptr;
|
|
372
|
+
struct ggml_tensor * time_mix_output = nullptr;
|
|
373
|
+
|
|
374
|
+
struct ggml_tensor * channel_mix_lerp_k = nullptr;
|
|
375
|
+
struct ggml_tensor * channel_mix_lerp_r = nullptr;
|
|
376
|
+
|
|
377
|
+
struct ggml_tensor * channel_mix_key = nullptr;
|
|
378
|
+
struct ggml_tensor * channel_mix_receptance = nullptr;
|
|
379
|
+
struct ggml_tensor * channel_mix_value = nullptr;
|
|
380
|
+
|
|
381
|
+
// long rope factors
|
|
382
|
+
struct ggml_tensor * rope_long = nullptr;
|
|
383
|
+
struct ggml_tensor * rope_short = nullptr;
|
|
384
|
+
struct ggml_tensor * rope_freqs = nullptr;
|
|
385
|
+
|
|
386
|
+
// bitnet scale
|
|
387
|
+
struct ggml_tensor * wq_scale = nullptr;
|
|
388
|
+
struct ggml_tensor * wk_scale = nullptr;
|
|
389
|
+
struct ggml_tensor * wv_scale = nullptr;
|
|
390
|
+
struct ggml_tensor * wo_scale = nullptr;
|
|
391
|
+
struct ggml_tensor * ffn_gate_scale = nullptr;
|
|
392
|
+
struct ggml_tensor * ffn_up_scale = nullptr;
|
|
393
|
+
struct ggml_tensor * ffn_down_scale = nullptr;
|
|
394
|
+
|
|
395
|
+
// altup & laurel
|
|
396
|
+
struct ggml_tensor * per_layer_inp_gate = nullptr;
|
|
397
|
+
struct ggml_tensor * per_layer_proj = nullptr;
|
|
398
|
+
struct ggml_tensor * per_layer_post_norm = nullptr;
|
|
399
|
+
struct ggml_tensor * altup_correct_coef = nullptr;
|
|
400
|
+
struct ggml_tensor * altup_correct_scale = nullptr;
|
|
401
|
+
struct ggml_tensor * altup_predict_coef = nullptr;
|
|
402
|
+
struct ggml_tensor * altup_router = nullptr;
|
|
403
|
+
struct ggml_tensor * altup_router_norm = nullptr;
|
|
404
|
+
struct ggml_tensor * laurel_l = nullptr;
|
|
405
|
+
struct ggml_tensor * laurel_r = nullptr;
|
|
406
|
+
struct ggml_tensor * laurel_post_norm = nullptr;
|
|
407
|
+
|
|
408
|
+
// openai-moe
|
|
409
|
+
struct ggml_tensor * attn_sinks = nullptr;
|
|
410
|
+
|
|
411
|
+
// cogvlm
|
|
412
|
+
struct ggml_tensor * visexp_attn_wqkv = nullptr;
|
|
413
|
+
struct ggml_tensor * visexp_attn_wo = nullptr;
|
|
414
|
+
struct ggml_tensor * visexp_ffn_gate = nullptr;
|
|
415
|
+
struct ggml_tensor * visexp_ffn_down = nullptr;
|
|
416
|
+
struct ggml_tensor * visexp_ffn_up = nullptr;
|
|
417
|
+
|
|
418
|
+
// xIELU activation parameters for Apertus
|
|
419
|
+
struct ggml_tensor * ffn_act_alpha_n = nullptr;
|
|
420
|
+
struct ggml_tensor * ffn_act_alpha_p = nullptr;
|
|
421
|
+
struct ggml_tensor * ffn_act_beta = nullptr;
|
|
422
|
+
struct ggml_tensor * ffn_act_eps = nullptr;
|
|
423
|
+
|
|
424
|
+
// Kimi Linear KDA (using ssm_ prefix for consistency)
|
|
425
|
+
// Note: ssm_dt_b already exists above (mamba bias), reused for Kimi dt_bias
|
|
426
|
+
struct ggml_tensor * ssm_q_conv = nullptr;
|
|
427
|
+
struct ggml_tensor * ssm_k_conv = nullptr;
|
|
428
|
+
struct ggml_tensor * ssm_v_conv = nullptr;
|
|
429
|
+
struct ggml_tensor * ssm_f_a = nullptr;
|
|
430
|
+
struct ggml_tensor * ssm_f_b = nullptr;
|
|
431
|
+
struct ggml_tensor * ssm_beta = nullptr;
|
|
432
|
+
struct ggml_tensor * ssm_g_a = nullptr;
|
|
433
|
+
struct ggml_tensor * ssm_g_b = nullptr;
|
|
434
|
+
struct ggml_tensor * ssm_o_norm = nullptr;
|
|
435
|
+
|
|
436
|
+
// DSA (deepseek sparse attention)
|
|
437
|
+
struct ggml_tensor * indexer_k_norm = nullptr;
|
|
438
|
+
struct ggml_tensor * indexer_k_norm_b = nullptr;
|
|
439
|
+
struct ggml_tensor * indexer_proj = nullptr;
|
|
440
|
+
struct ggml_tensor * indexer_attn_k = nullptr;
|
|
441
|
+
struct ggml_tensor * indexer_attn_q_b = nullptr; // note: for lora a/b, not bias
|
|
442
|
+
|
|
443
|
+
struct llama_layer_posnet posnet;
|
|
444
|
+
|
|
445
|
+
struct llama_layer_convnext convnext;
|
|
446
|
+
|
|
447
|
+
struct llama_layer_shortconv shortconv;
|
|
448
|
+
|
|
449
|
+
struct llama_layer_nextn nextn;
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
struct llama_model {
|
|
453
|
+
llm_type type = LLM_TYPE_UNKNOWN;
|
|
454
|
+
llm_arch arch = LLM_ARCH_UNKNOWN;
|
|
455
|
+
|
|
456
|
+
std::string name = "n/a";
|
|
457
|
+
|
|
458
|
+
llama_hparams hparams = {};
|
|
459
|
+
llama_vocab vocab;
|
|
460
|
+
|
|
461
|
+
// for classifier models
|
|
462
|
+
std::vector<std::string> classifier_labels;
|
|
463
|
+
|
|
464
|
+
struct ggml_tensor * tok_embd = nullptr;
|
|
465
|
+
struct ggml_tensor * type_embd = nullptr;
|
|
466
|
+
struct ggml_tensor * pos_embd = nullptr;
|
|
467
|
+
struct ggml_tensor * tok_norm = nullptr;
|
|
468
|
+
struct ggml_tensor * tok_norm_b = nullptr;
|
|
469
|
+
|
|
470
|
+
struct ggml_tensor * output_norm = nullptr;
|
|
471
|
+
struct ggml_tensor * output_norm_b = nullptr;
|
|
472
|
+
struct ggml_tensor * output = nullptr;
|
|
473
|
+
struct ggml_tensor * output_b = nullptr;
|
|
474
|
+
struct ggml_tensor * output_norm_enc = nullptr;
|
|
475
|
+
|
|
476
|
+
// classifier
|
|
477
|
+
struct ggml_tensor * cls = nullptr;
|
|
478
|
+
struct ggml_tensor * cls_b = nullptr;
|
|
479
|
+
struct ggml_tensor * cls_out = nullptr;
|
|
480
|
+
struct ggml_tensor * cls_out_b = nullptr;
|
|
481
|
+
struct ggml_tensor * cls_norm = nullptr;
|
|
482
|
+
|
|
483
|
+
struct ggml_tensor * conv1d = nullptr;
|
|
484
|
+
struct ggml_tensor * conv1d_b = nullptr;
|
|
485
|
+
|
|
486
|
+
// gemma3n altup
|
|
487
|
+
struct ggml_tensor * tok_embd_per_layer = nullptr;
|
|
488
|
+
struct ggml_tensor * altup_proj = nullptr;
|
|
489
|
+
struct ggml_tensor * altup_unembd_proj = nullptr;
|
|
490
|
+
struct ggml_tensor * per_layer_model_proj = nullptr;
|
|
491
|
+
struct ggml_tensor * per_layer_proj_norm = nullptr;
|
|
492
|
+
|
|
493
|
+
std::vector<llama_layer> layers;
|
|
494
|
+
|
|
495
|
+
//Dense linear projections for SentenceTransformers models like embeddinggemma
|
|
496
|
+
// For Sentence Transformers models structure see
|
|
497
|
+
// https://sbert.net/docs/sentence_transformer/usage/custom_models.html#structure-of-sentence-transformer-models
|
|
498
|
+
struct ggml_tensor * dense_2_out_layers = nullptr;
|
|
499
|
+
struct ggml_tensor * dense_2_out_layers_b = nullptr;
|
|
500
|
+
struct ggml_tensor * dense_3_out_layers = nullptr;
|
|
501
|
+
|
|
502
|
+
// gguf metadata
|
|
503
|
+
std::unordered_map<std::string, std::string> gguf_kv;
|
|
504
|
+
|
|
505
|
+
// list of devices used in this model
|
|
506
|
+
std::vector<ggml_backend_dev_t> devices;
|
|
507
|
+
|
|
508
|
+
// for quantize-stats only
|
|
509
|
+
std::vector<std::pair<std::string, struct ggml_tensor *>> tensors_by_name;
|
|
510
|
+
|
|
511
|
+
// for keeping track of associated LoRA adapters
|
|
512
|
+
std::unordered_set<llama_adapter_lora *> loras;
|
|
513
|
+
|
|
514
|
+
int64_t t_load_us = 0;
|
|
515
|
+
int64_t t_start_us = 0;
|
|
516
|
+
|
|
517
|
+
explicit llama_model(const struct llama_model_params & params);
|
|
518
|
+
~llama_model();
|
|
519
|
+
|
|
520
|
+
void load_stats (llama_model_loader & ml);
|
|
521
|
+
void load_arch (llama_model_loader & ml);
|
|
522
|
+
void load_hparams(llama_model_loader & ml);
|
|
523
|
+
void load_vocab (llama_model_loader & ml);
|
|
524
|
+
bool load_tensors(llama_model_loader & ml); // returns false if cancelled by progress_callback
|
|
525
|
+
|
|
526
|
+
std::string arch_name() const;
|
|
527
|
+
std::string type_name() const;
|
|
528
|
+
|
|
529
|
+
std::string desc() const;
|
|
530
|
+
|
|
531
|
+
size_t size() const; // file size
|
|
532
|
+
size_t n_tensors() const;
|
|
533
|
+
size_t n_devices() const;
|
|
534
|
+
|
|
535
|
+
uint32_t n_gpu_layers() const;
|
|
536
|
+
llama_split_mode split_mode() const;
|
|
537
|
+
|
|
538
|
+
std::map<ggml_backend_buffer_type_t, size_t> memory_breakdown() const;
|
|
539
|
+
|
|
540
|
+
// total number of parameters in the model
|
|
541
|
+
uint64_t n_elements() const;
|
|
542
|
+
|
|
543
|
+
void print_info() const;
|
|
544
|
+
|
|
545
|
+
ggml_backend_dev_t dev_layer(int il) const;
|
|
546
|
+
ggml_backend_dev_t dev_output() const;
|
|
547
|
+
|
|
548
|
+
ggml_backend_buffer_type_t select_buft(int il) const;
|
|
549
|
+
|
|
550
|
+
bool has_tensor_overrides() const;
|
|
551
|
+
|
|
552
|
+
const struct ggml_tensor * get_tensor(const char * name) const;
|
|
553
|
+
|
|
554
|
+
float get_rope_freq_base (const llama_cparams & cparams, int il) const;
|
|
555
|
+
float get_rope_freq_scale(const llama_cparams & cparams, int il) const;
|
|
556
|
+
|
|
557
|
+
ggml_tensor * get_rope_factors(const llama_cparams & cparams, int il) const;
|
|
558
|
+
|
|
559
|
+
// TODO: move this to new llm_arch_model_i interface
|
|
560
|
+
llama_memory_i * create_memory(const llama_memory_params & params, const llama_cparams & cparams) const;
|
|
561
|
+
|
|
562
|
+
// TODO: move this to new llm_arch_model_i interface
|
|
563
|
+
ggml_cgraph * build_graph(const llm_graph_params & params) const;
|
|
564
|
+
|
|
565
|
+
private:
|
|
566
|
+
llama_model_params params;
|
|
567
|
+
|
|
568
|
+
struct impl;
|
|
569
|
+
std::unique_ptr<impl> pimpl;
|
|
570
|
+
};
|
|
571
|
+
|
|
572
|
+
const char * llm_type_name(llm_type type);
|
|
573
|
+
|
|
574
|
+
// For internal test use
|
|
575
|
+
// TODO: remove
|
|
576
|
+
const std::vector<std::pair<std::string, ggml_tensor *>> & llama_internal_get_tensor_map(const llama_model * model);
|