cui-llama.rn 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +345 -319
- package/android/build.gradle +116 -116
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifest.xml +4 -4
- package/android/src/main/CMakeLists.txt +129 -124
- package/android/src/main/java/com/rnllama/LlamaContext.java +648 -645
- package/android/src/main/java/com/rnllama/RNLlama.java +695 -695
- package/android/src/main/java/com/rnllama/RNLlamaPackage.java +48 -48
- package/android/src/main/jni-utils.h +100 -100
- package/android/src/main/jni.cpp +1279 -1263
- package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
- package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
- package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
- package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +135 -135
- package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +136 -136
- package/cpp/LICENSE +21 -0
- package/cpp/README.md +4 -4
- package/cpp/chat.cpp +1 -1
- package/cpp/common.cpp +17 -2
- package/cpp/common.h +7 -3
- package/cpp/ggml-alloc.c +4 -1
- package/cpp/ggml-cpp.h +1 -1
- package/cpp/ggml-cpu/amx/amx.cpp +221 -0
- package/cpp/ggml-cpu/amx/amx.h +8 -0
- package/cpp/ggml-cpu/amx/common.h +91 -0
- package/cpp/ggml-cpu/amx/mmq.cpp +2511 -0
- package/cpp/ggml-cpu/amx/mmq.h +10 -0
- package/cpp/{binary-ops.h → ggml-cpu/binary-ops.h} +1 -1
- package/cpp/ggml-cpu/common.h +72 -0
- package/cpp/{ggml-cpu-aarch64.cpp → ggml-cpu/ggml-cpu-aarch64.cpp} +809 -101
- package/cpp/{ggml-cpu.c → ggml-cpu/ggml-cpu.c} +109 -42
- package/cpp/{ggml-cpu.cpp → ggml-cpu/ggml-cpu.cpp} +3 -0
- package/cpp/{ops.cpp → ggml-cpu/ops.cpp} +246 -160
- package/cpp/{ops.h → ggml-cpu/ops.h} +2 -20
- package/cpp/{sgemm.cpp → ggml-cpu/sgemm.cpp} +501 -0
- package/cpp/{simd-mappings.h → ggml-cpu/simd-mappings.h} +7 -3
- package/cpp/{unary-ops.h → ggml-cpu/unary-ops.h} +1 -1
- package/cpp/ggml-cpu.h +5 -0
- package/cpp/ggml-impl.h +16 -9
- package/cpp/ggml-llama-sim.metallib +0 -0
- package/cpp/ggml-llama.metallib +0 -0
- package/cpp/ggml-metal-impl.h +597 -597
- package/cpp/ggml-metal.m +496 -47
- package/cpp/ggml.c +134 -244
- package/cpp/ggml.h +62 -95
- package/cpp/json-schema-to-grammar.cpp +3 -0
- package/cpp/llama-arch.cpp +46 -17
- package/cpp/llama-arch.h +9 -0
- package/cpp/llama-batch.cpp +5 -1
- package/cpp/llama-batch.h +2 -1
- package/cpp/llama-chat.cpp +31 -10
- package/cpp/llama-chat.h +3 -2
- package/cpp/llama-context.cpp +104 -489
- package/cpp/llama-context.h +14 -30
- package/cpp/llama-graph.cpp +69 -62
- package/cpp/llama-graph.h +21 -18
- package/cpp/llama-hparams.h +5 -0
- package/cpp/llama-kv-cache.cpp +1497 -391
- package/cpp/llama-kv-cache.h +272 -80
- package/cpp/llama-memory.h +11 -1
- package/cpp/llama-model.cpp +502 -176
- package/cpp/llama-model.h +13 -3
- package/cpp/llama-sampling.cpp +2 -1
- package/cpp/llama-vocab.cpp +8 -1
- package/cpp/llama.h +14 -11
- package/cpp/rn-llama.cpp +721 -873
- package/cpp/rn-llama.h +134 -138
- package/cpp/sampling.h +107 -107
- package/cpp/unicode-data.cpp +7034 -7034
- package/cpp/unicode-data.h +20 -20
- package/cpp/unicode.cpp +849 -849
- package/cpp/unicode.h +66 -66
- package/ios/CMakeLists.txt +119 -108
- package/ios/RNLlama.h +13 -7
- package/ios/RNLlama.mm +423 -405
- package/ios/RNLlamaContext.h +57 -57
- package/ios/RNLlamaContext.mm +833 -835
- package/ios/rnllama.xcframework/Info.plist +74 -74
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/chat.h +143 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/common.h +681 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/cpu-common.h +72 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-alloc.h +76 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-backend.h +354 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-common.h +1857 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpp.h +39 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-cpu.h +143 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-impl.h +601 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-metal.h +66 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-opt.h +216 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-quants.h +100 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml-threading.h +14 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/ggml.h +2189 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/gguf.h +202 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/json.hpp +24766 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-adapter.h +76 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-arch.h +437 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-batch.h +89 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-chat.h +57 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-context.h +249 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cparams.h +38 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-cpp.h +30 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-grammar.h +173 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-graph.h +595 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-hparams.h +161 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-impl.h +61 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-io.h +35 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-kv-cache.h +405 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-memory.h +31 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-mmap.h +68 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model-loader.h +169 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-model.h +419 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-sampling.h +32 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama-vocab.h +125 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/llama.h +1437 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/log.h +132 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/minja/minja.hpp +2941 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/rn-llama.h +134 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/sampling.h +107 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/speculative.h +28 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/unicode-data.h +20 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Headers/unicode.h +66 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/ggml-llama.metallib +0 -0
- package/ios/rnllama.xcframework/ios-arm64/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +143 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +681 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/cpu-common.h +72 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-alloc.h +76 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +354 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-common.h +1857 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +39 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +143 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +601 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal.h +66 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +216 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-quants.h +100 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-threading.h +14 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +2189 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/gguf.h +202 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/json.hpp +24766 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-adapter.h +76 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +437 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +89 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +57 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +249 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +38 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cpp.h +30 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-grammar.h +173 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +595 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +161 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-impl.h +61 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-io.h +35 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +405 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +31 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-mmap.h +68 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-loader.h +169 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +419 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-sampling.h +32 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +125 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +1437 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/log.h +132 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +2941 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +134 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/sampling.h +107 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/speculative.h +28 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unicode-data.h +20 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Headers/unicode.h +66 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +101 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
- package/ios/rnllama.xcframework/ios-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/chat.h +143 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/common.h +681 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/cpu-common.h +72 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-alloc.h +76 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-backend.h +354 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-common.h +1857 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpp.h +39 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-cpu.h +143 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-impl.h +601 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-metal.h +66 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-opt.h +216 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-quants.h +100 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml-threading.h +14 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/ggml.h +2189 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/gguf.h +202 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/json.hpp +24766 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-adapter.h +76 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-arch.h +437 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-batch.h +89 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-chat.h +57 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-context.h +249 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cparams.h +38 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-cpp.h +30 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-grammar.h +173 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-graph.h +595 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-hparams.h +161 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-impl.h +61 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-io.h +35 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-kv-cache.h +405 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-memory.h +31 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-mmap.h +68 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model-loader.h +169 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-model.h +419 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-sampling.h +32 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama-vocab.h +125 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/llama.h +1437 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/log.h +132 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/minja/minja.hpp +2941 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/rn-llama.h +134 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/sampling.h +107 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/speculative.h +28 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unicode-data.h +20 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Headers/unicode.h +66 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/ggml-llama.metallib +0 -0
- package/ios/rnllama.xcframework/tvos-arm64/rnllama.framework/rnllama +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/chat.h +143 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/common.h +681 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/cpu-common.h +72 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-alloc.h +76 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend-impl.h +255 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-backend.h +354 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-common.h +1857 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpp.h +39 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-cpu.h +143 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-impl.h +601 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal-impl.h +597 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-metal.h +66 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-opt.h +216 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-quants.h +100 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml-threading.h +14 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/ggml.h +2189 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/gguf.h +202 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json-schema-to-grammar.h +21 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/json.hpp +24766 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-adapter.h +76 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-arch.h +437 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-batch.h +89 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-chat.h +57 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-context.h +249 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cparams.h +38 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-cpp.h +30 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-grammar.h +173 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-graph.h +595 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-hparams.h +161 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-impl.h +61 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-io.h +35 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-kv-cache.h +405 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-memory.h +31 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-mmap.h +68 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model-loader.h +169 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-model.h +419 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-sampling.h +32 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama-vocab.h +125 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/llama.h +1437 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/log.h +132 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/chat-template.hpp +537 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/minja/minja.hpp +2941 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/rn-llama.h +134 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/sampling.h +107 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/speculative.h +28 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unicode-data.h +20 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Headers/unicode.h +66 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/Info.plist +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/_CodeSignature/CodeResources +101 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/ggml-llama-sim.metallib +0 -0
- package/ios/rnllama.xcframework/tvos-arm64_x86_64-simulator/rnllama.framework/rnllama +0 -0
- package/jest/mock.js +203 -203
- package/lib/commonjs/NativeRNLlama.js +1 -2
- package/lib/commonjs/NativeRNLlama.js.map +1 -1
- package/lib/commonjs/chat.js.map +1 -1
- package/lib/commonjs/grammar.js +12 -31
- package/lib/commonjs/grammar.js.map +1 -1
- package/lib/commonjs/index.js +47 -47
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/module/NativeRNLlama.js +2 -0
- package/lib/module/NativeRNLlama.js.map +1 -1
- package/lib/module/chat.js +2 -0
- package/lib/module/chat.js.map +1 -1
- package/lib/module/grammar.js +14 -31
- package/lib/module/grammar.js.map +1 -1
- package/lib/module/index.js +47 -45
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/typescript/NativeRNLlama.d.ts +10 -4
- package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/llama-rn.podspec +48 -48
- package/package.json +233 -233
- package/src/NativeRNLlama.ts +431 -426
- package/src/chat.ts +44 -44
- package/src/grammar.ts +854 -854
- package/src/index.ts +495 -487
- /package/cpp/{binary-ops.cpp → ggml-cpu/binary-ops.cpp} +0 -0
- /package/cpp/{ggml-cpu-aarch64.h → ggml-cpu/ggml-cpu-aarch64.h} +0 -0
- /package/cpp/{ggml-cpu-impl.h → ggml-cpu/ggml-cpu-impl.h} +0 -0
- /package/cpp/{ggml-cpu-quants.c → ggml-cpu/ggml-cpu-quants.c} +0 -0
- /package/cpp/{ggml-cpu-quants.h → ggml-cpu/ggml-cpu-quants.h} +0 -0
- /package/cpp/{ggml-cpu-traits.cpp → ggml-cpu/ggml-cpu-traits.cpp} +0 -0
- /package/cpp/{ggml-cpu-traits.h → ggml-cpu/ggml-cpu-traits.h} +0 -0
- /package/cpp/{sgemm.h → ggml-cpu/sgemm.h} +0 -0
- /package/cpp/{unary-ops.cpp → ggml-cpu/unary-ops.cpp} +0 -0
- /package/cpp/{vec.cpp → ggml-cpu/vec.cpp} +0 -0
- /package/cpp/{vec.h → ggml-cpu/vec.h} +0 -0
package/android/build.gradle
CHANGED
@@ -1,116 +1,116 @@
|
|
1
|
-
buildscript {
|
2
|
-
repositories {
|
3
|
-
google()
|
4
|
-
mavenCentral()
|
5
|
-
}
|
6
|
-
|
7
|
-
dependencies {
|
8
|
-
classpath "com.android.tools.build:gradle:7.2.1"
|
9
|
-
}
|
10
|
-
}
|
11
|
-
|
12
|
-
def isNewArchitectureEnabled() {
|
13
|
-
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
14
|
-
}
|
15
|
-
|
16
|
-
apply plugin: "com.android.library"
|
17
|
-
|
18
|
-
|
19
|
-
def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
|
20
|
-
|
21
|
-
if (isNewArchitectureEnabled()) {
|
22
|
-
apply plugin: "com.facebook.react"
|
23
|
-
}
|
24
|
-
|
25
|
-
def getExtOrDefault(name) {
|
26
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["RNLlama_" + name]
|
27
|
-
}
|
28
|
-
|
29
|
-
def getExtOrIntegerDefault(name) {
|
30
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNLlama_" + name]).toInteger()
|
31
|
-
}
|
32
|
-
|
33
|
-
def reactNativeArchitectures() {
|
34
|
-
def value = project.getProperties().get("reactNativeArchitectures")
|
35
|
-
def archs = value ? value.split(",") : ["x86_64", "arm64-v8a"]
|
36
|
-
return archs.findAll { it != "armeabi-v7a" && it != "x86" } // Not building for 32-bit architectures
|
37
|
-
}
|
38
|
-
|
39
|
-
android {
|
40
|
-
ndkVersion getExtOrDefault("ndkVersion")
|
41
|
-
def ndkVersionMajor = ndkVersion.split("\\.")[0].toInteger()
|
42
|
-
if (ndkVersionMajor < 24) {
|
43
|
-
ndkVersion = project.properties["RNLlama_ndkversion"]
|
44
|
-
}
|
45
|
-
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
46
|
-
|
47
|
-
defaultConfig {
|
48
|
-
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
49
|
-
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
50
|
-
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
51
|
-
externalNativeBuild {
|
52
|
-
cmake {
|
53
|
-
abiFilters (*reactNativeArchitectures())
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
def rnllamaBuildFromSource = project.properties["rnllamaBuildFromSource"]
|
58
|
-
if (rnllamaBuildFromSource == "true") {
|
59
|
-
externalNativeBuild {
|
60
|
-
cmake {
|
61
|
-
path = file('src/main/CMakeLists.txt')
|
62
|
-
}
|
63
|
-
}
|
64
|
-
// Exclude jniLibs
|
65
|
-
sourceSets {
|
66
|
-
main {
|
67
|
-
jniLibs.srcDirs = []
|
68
|
-
}
|
69
|
-
}
|
70
|
-
}
|
71
|
-
buildTypes {
|
72
|
-
release {
|
73
|
-
minifyEnabled false
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
lintOptions {
|
78
|
-
disable "GradleCompatible"
|
79
|
-
}
|
80
|
-
|
81
|
-
compileOptions {
|
82
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
83
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
84
|
-
}
|
85
|
-
|
86
|
-
sourceSets {
|
87
|
-
main {
|
88
|
-
if (isNewArchitectureEnabled()) {
|
89
|
-
java.srcDirs += ['src/newarch']
|
90
|
-
} else {
|
91
|
-
java.srcDirs += ['src/oldarch']
|
92
|
-
}
|
93
|
-
}
|
94
|
-
}
|
95
|
-
}
|
96
|
-
|
97
|
-
repositories {
|
98
|
-
mavenCentral()
|
99
|
-
google()
|
100
|
-
}
|
101
|
-
|
102
|
-
|
103
|
-
dependencies {
|
104
|
-
// For < 0.71, this will be from the local maven repo
|
105
|
-
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
106
|
-
//noinspection GradleDynamicVersion
|
107
|
-
implementation "com.facebook.react:react-native:+"
|
108
|
-
}
|
109
|
-
|
110
|
-
if (isNewArchitectureEnabled()) {
|
111
|
-
react {
|
112
|
-
jsRootDir = file("../src/")
|
113
|
-
libraryName = "RNLlama"
|
114
|
-
codegenJavaPackageName = "com.rnllama"
|
115
|
-
}
|
116
|
-
}
|
1
|
+
buildscript {
|
2
|
+
repositories {
|
3
|
+
google()
|
4
|
+
mavenCentral()
|
5
|
+
}
|
6
|
+
|
7
|
+
dependencies {
|
8
|
+
classpath "com.android.tools.build:gradle:7.2.1"
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
def isNewArchitectureEnabled() {
|
13
|
+
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
14
|
+
}
|
15
|
+
|
16
|
+
apply plugin: "com.android.library"
|
17
|
+
|
18
|
+
|
19
|
+
def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
|
20
|
+
|
21
|
+
if (isNewArchitectureEnabled()) {
|
22
|
+
apply plugin: "com.facebook.react"
|
23
|
+
}
|
24
|
+
|
25
|
+
def getExtOrDefault(name) {
|
26
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["RNLlama_" + name]
|
27
|
+
}
|
28
|
+
|
29
|
+
def getExtOrIntegerDefault(name) {
|
30
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNLlama_" + name]).toInteger()
|
31
|
+
}
|
32
|
+
|
33
|
+
def reactNativeArchitectures() {
|
34
|
+
def value = project.getProperties().get("reactNativeArchitectures")
|
35
|
+
def archs = value ? value.split(",") : ["x86_64", "arm64-v8a"]
|
36
|
+
return archs.findAll { it != "armeabi-v7a" && it != "x86" } // Not building for 32-bit architectures
|
37
|
+
}
|
38
|
+
|
39
|
+
android {
|
40
|
+
ndkVersion getExtOrDefault("ndkVersion")
|
41
|
+
def ndkVersionMajor = ndkVersion.split("\\.")[0].toInteger()
|
42
|
+
if (ndkVersionMajor < 24) {
|
43
|
+
ndkVersion = project.properties["RNLlama_ndkversion"]
|
44
|
+
}
|
45
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
46
|
+
|
47
|
+
defaultConfig {
|
48
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
49
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
50
|
+
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
51
|
+
externalNativeBuild {
|
52
|
+
cmake {
|
53
|
+
abiFilters (*reactNativeArchitectures())
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
def rnllamaBuildFromSource = project.properties["rnllamaBuildFromSource"]
|
58
|
+
if (rnllamaBuildFromSource == "true") {
|
59
|
+
externalNativeBuild {
|
60
|
+
cmake {
|
61
|
+
path = file('src/main/CMakeLists.txt')
|
62
|
+
}
|
63
|
+
}
|
64
|
+
// Exclude jniLibs
|
65
|
+
sourceSets {
|
66
|
+
main {
|
67
|
+
jniLibs.srcDirs = []
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
buildTypes {
|
72
|
+
release {
|
73
|
+
minifyEnabled false
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
lintOptions {
|
78
|
+
disable "GradleCompatible"
|
79
|
+
}
|
80
|
+
|
81
|
+
compileOptions {
|
82
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
83
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
84
|
+
}
|
85
|
+
|
86
|
+
sourceSets {
|
87
|
+
main {
|
88
|
+
if (isNewArchitectureEnabled()) {
|
89
|
+
java.srcDirs += ['src/newarch']
|
90
|
+
} else {
|
91
|
+
java.srcDirs += ['src/oldarch']
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
repositories {
|
98
|
+
mavenCentral()
|
99
|
+
google()
|
100
|
+
}
|
101
|
+
|
102
|
+
|
103
|
+
dependencies {
|
104
|
+
// For < 0.71, this will be from the local maven repo
|
105
|
+
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
106
|
+
//noinspection GradleDynamicVersion
|
107
|
+
implementation "com.facebook.react:react-native:+"
|
108
|
+
}
|
109
|
+
|
110
|
+
if (isNewArchitectureEnabled()) {
|
111
|
+
react {
|
112
|
+
jsRootDir = file("../src/")
|
113
|
+
libraryName = "RNLlama"
|
114
|
+
codegenJavaPackageName = "com.rnllama"
|
115
|
+
}
|
116
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
RNLlama_kotlinVersion=1.7.0
|
2
|
-
RNLlama_minSdkVersion=23
|
3
|
-
RNLlama_targetSdkVersion=31
|
4
|
-
RNLlama_compileSdkVersion=31
|
5
|
-
RNLlama_ndkversion=25.1.8937393
|
1
|
+
RNLlama_kotlinVersion=1.7.0
|
2
|
+
RNLlama_minSdkVersion=23
|
3
|
+
RNLlama_targetSdkVersion=31
|
4
|
+
RNLlama_compileSdkVersion=31
|
5
|
+
RNLlama_ndkversion=25.1.8937393
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
2
|
-
package="com.rnllama">
|
3
|
-
|
4
|
-
</manifest>
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
2
|
+
package="com.rnllama">
|
3
|
+
|
4
|
+
</manifest>
|
@@ -1,124 +1,129 @@
|
|
1
|
-
cmake_minimum_required(VERSION 3.10)
|
2
|
-
|
3
|
-
project(llama.rn)
|
4
|
-
|
5
|
-
find_program(CCACHE_FOUND ccache)
|
6
|
-
if(CCACHE_FOUND)
|
7
|
-
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
8
|
-
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
9
|
-
endif(CCACHE_FOUND)
|
10
|
-
|
11
|
-
set(CMAKE_CXX_STANDARD 17)
|
12
|
-
set(RNLLAMA_LIB_DIR ${CMAKE_SOURCE_DIR}/../../../cpp)
|
13
|
-
|
14
|
-
include_directories(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
${RNLLAMA_LIB_DIR}/ggml
|
22
|
-
${RNLLAMA_LIB_DIR}/
|
23
|
-
${RNLLAMA_LIB_DIR}/
|
24
|
-
${RNLLAMA_LIB_DIR}/
|
25
|
-
${RNLLAMA_LIB_DIR}/
|
26
|
-
${RNLLAMA_LIB_DIR}/ggml-cpu.
|
27
|
-
${RNLLAMA_LIB_DIR}/ggml-cpu.
|
28
|
-
${RNLLAMA_LIB_DIR}/ggml-cpu-
|
29
|
-
${RNLLAMA_LIB_DIR}/ggml-cpu-
|
30
|
-
${RNLLAMA_LIB_DIR}/ggml-cpu-
|
31
|
-
${RNLLAMA_LIB_DIR}/ggml-
|
32
|
-
${RNLLAMA_LIB_DIR}/ggml-
|
33
|
-
${RNLLAMA_LIB_DIR}/ggml-
|
34
|
-
${RNLLAMA_LIB_DIR}/
|
35
|
-
${RNLLAMA_LIB_DIR}/
|
36
|
-
${RNLLAMA_LIB_DIR}/
|
37
|
-
${RNLLAMA_LIB_DIR}/
|
38
|
-
${RNLLAMA_LIB_DIR}/
|
39
|
-
${RNLLAMA_LIB_DIR}/
|
40
|
-
${RNLLAMA_LIB_DIR}/
|
41
|
-
${RNLLAMA_LIB_DIR}/
|
42
|
-
${RNLLAMA_LIB_DIR}/llama-
|
43
|
-
${RNLLAMA_LIB_DIR}/llama-
|
44
|
-
${RNLLAMA_LIB_DIR}/llama-
|
45
|
-
${RNLLAMA_LIB_DIR}/llama-
|
46
|
-
${RNLLAMA_LIB_DIR}/llama-
|
47
|
-
${RNLLAMA_LIB_DIR}/llama-
|
48
|
-
${RNLLAMA_LIB_DIR}/llama.cpp
|
49
|
-
${RNLLAMA_LIB_DIR}/llama-
|
50
|
-
${RNLLAMA_LIB_DIR}/llama-
|
51
|
-
${RNLLAMA_LIB_DIR}/llama-
|
52
|
-
${RNLLAMA_LIB_DIR}/llama-
|
53
|
-
${RNLLAMA_LIB_DIR}/llama-
|
54
|
-
${RNLLAMA_LIB_DIR}/llama
|
55
|
-
${RNLLAMA_LIB_DIR}/llama-
|
56
|
-
${RNLLAMA_LIB_DIR}/
|
57
|
-
${RNLLAMA_LIB_DIR}/
|
58
|
-
${RNLLAMA_LIB_DIR}/
|
59
|
-
${RNLLAMA_LIB_DIR}/
|
60
|
-
${RNLLAMA_LIB_DIR}/
|
61
|
-
${RNLLAMA_LIB_DIR}/
|
62
|
-
${RNLLAMA_LIB_DIR}/
|
63
|
-
${RNLLAMA_LIB_DIR}/
|
64
|
-
${RNLLAMA_LIB_DIR}/
|
65
|
-
${RNLLAMA_LIB_DIR}/
|
66
|
-
${RNLLAMA_LIB_DIR}/
|
67
|
-
${
|
68
|
-
${
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
#
|
123
|
-
|
124
|
-
|
1
|
+
cmake_minimum_required(VERSION 3.10)
|
2
|
+
|
3
|
+
project(llama.rn)
|
4
|
+
|
5
|
+
find_program(CCACHE_FOUND ccache)
|
6
|
+
if(CCACHE_FOUND)
|
7
|
+
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
8
|
+
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
9
|
+
endif(CCACHE_FOUND)
|
10
|
+
|
11
|
+
set(CMAKE_CXX_STANDARD 17)
|
12
|
+
set(RNLLAMA_LIB_DIR ${CMAKE_SOURCE_DIR}/../../../cpp)
|
13
|
+
|
14
|
+
include_directories(
|
15
|
+
${RNLLAMA_LIB_DIR}
|
16
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu
|
17
|
+
)
|
18
|
+
|
19
|
+
set(
|
20
|
+
SOURCE_FILES
|
21
|
+
${RNLLAMA_LIB_DIR}/ggml.c
|
22
|
+
${RNLLAMA_LIB_DIR}/ggml-alloc.c
|
23
|
+
${RNLLAMA_LIB_DIR}/ggml-backend.cpp
|
24
|
+
${RNLLAMA_LIB_DIR}/ggml-backend-reg.cpp
|
25
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/amx/amx.cpp
|
26
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/amx/mmq.cpp
|
27
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/ggml-cpu.c
|
28
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/ggml-cpu.cpp
|
29
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/ggml-cpu-aarch64.cpp
|
30
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/ggml-cpu-quants.c
|
31
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/ggml-cpu-traits.cpp
|
32
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/unary-ops.cpp
|
33
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/binary-ops.cpp
|
34
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/sgemm.cpp
|
35
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/vec.cpp
|
36
|
+
${RNLLAMA_LIB_DIR}/ggml-cpu/ops.cpp
|
37
|
+
${RNLLAMA_LIB_DIR}/ggml-opt.cpp
|
38
|
+
${RNLLAMA_LIB_DIR}/ggml-threading.cpp
|
39
|
+
${RNLLAMA_LIB_DIR}/ggml-quants.c
|
40
|
+
${RNLLAMA_LIB_DIR}/gguf.cpp
|
41
|
+
${RNLLAMA_LIB_DIR}/log.cpp
|
42
|
+
${RNLLAMA_LIB_DIR}/llama-impl.cpp
|
43
|
+
${RNLLAMA_LIB_DIR}/llama-grammar.cpp
|
44
|
+
${RNLLAMA_LIB_DIR}/llama-sampling.cpp
|
45
|
+
${RNLLAMA_LIB_DIR}/llama-vocab.cpp
|
46
|
+
${RNLLAMA_LIB_DIR}/llama-adapter.cpp
|
47
|
+
${RNLLAMA_LIB_DIR}/llama-chat.cpp
|
48
|
+
${RNLLAMA_LIB_DIR}/llama-context.cpp
|
49
|
+
${RNLLAMA_LIB_DIR}/llama-kv-cache.cpp
|
50
|
+
${RNLLAMA_LIB_DIR}/llama-arch.cpp
|
51
|
+
${RNLLAMA_LIB_DIR}/llama-batch.cpp
|
52
|
+
${RNLLAMA_LIB_DIR}/llama-cparams.cpp
|
53
|
+
${RNLLAMA_LIB_DIR}/llama-hparams.cpp
|
54
|
+
${RNLLAMA_LIB_DIR}/llama.cpp
|
55
|
+
${RNLLAMA_LIB_DIR}/llama-model.cpp
|
56
|
+
${RNLLAMA_LIB_DIR}/llama-model-loader.cpp
|
57
|
+
${RNLLAMA_LIB_DIR}/llama-mmap.cpp
|
58
|
+
${RNLLAMA_LIB_DIR}/llama-vocab.cpp
|
59
|
+
${RNLLAMA_LIB_DIR}/llama-memory.cpp
|
60
|
+
${RNLLAMA_LIB_DIR}/llama-io.cpp
|
61
|
+
${RNLLAMA_LIB_DIR}/llama-graph.cpp
|
62
|
+
${RNLLAMA_LIB_DIR}/sampling.cpp
|
63
|
+
${RNLLAMA_LIB_DIR}/unicode-data.cpp
|
64
|
+
${RNLLAMA_LIB_DIR}/unicode.cpp
|
65
|
+
${RNLLAMA_LIB_DIR}/common.cpp
|
66
|
+
${RNLLAMA_LIB_DIR}/chat.cpp
|
67
|
+
${RNLLAMA_LIB_DIR}/json-schema-to-grammar.cpp
|
68
|
+
${RNLLAMA_LIB_DIR}/json.hpp
|
69
|
+
${RNLLAMA_LIB_DIR}/minja/minja.hpp
|
70
|
+
${RNLLAMA_LIB_DIR}/minja/chat-template.hpp
|
71
|
+
${RNLLAMA_LIB_DIR}/rn-llama.cpp
|
72
|
+
${CMAKE_SOURCE_DIR}/jni-utils.h
|
73
|
+
${CMAKE_SOURCE_DIR}/jni.cpp
|
74
|
+
)
|
75
|
+
|
76
|
+
find_library(LOG_LIB log)
|
77
|
+
|
78
|
+
function(build_library target_name cpu_flags)
|
79
|
+
add_library(
|
80
|
+
${target_name}
|
81
|
+
SHARED
|
82
|
+
${SOURCE_FILES}
|
83
|
+
)
|
84
|
+
|
85
|
+
target_link_libraries(${target_name} ${LOG_LIB} android)
|
86
|
+
|
87
|
+
target_compile_options(${target_name} PRIVATE -DLM_GGML_USE_CPU -DLM_GGML_USE_CPU_AARCH64 -pthread ${cpu_flags})
|
88
|
+
|
89
|
+
if (${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
90
|
+
target_compile_options(${target_name} PRIVATE -DRNLLAMA_ANDROID_ENABLE_LOGGING)
|
91
|
+
endif ()
|
92
|
+
|
93
|
+
# NOTE: If you want to debug the native code, you can uncomment if and endif
|
94
|
+
# Note that it will be extremely slow
|
95
|
+
# if (NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
96
|
+
target_compile_options(${target_name} PRIVATE -O3 -DNDEBUG -DRNLLAMA_USE_FD_FILE)
|
97
|
+
target_compile_options(${target_name} PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden)
|
98
|
+
target_compile_options(${target_name} PRIVATE -ffunction-sections -fdata-sections)
|
99
|
+
|
100
|
+
target_link_options(${target_name} PRIVATE -Wl,--gc-sections)
|
101
|
+
target_link_options(${target_name} PRIVATE -Wl,--exclude-libs,ALL)
|
102
|
+
target_link_options(${target_name} PRIVATE -flto)
|
103
|
+
# endif ()
|
104
|
+
endfunction()
|
105
|
+
|
106
|
+
|
107
|
+
# Default target (no specific CPU features)
|
108
|
+
build_library("rnllama" "")
|
109
|
+
|
110
|
+
if (${ANDROID_ABI} STREQUAL "arm64-v8a")
|
111
|
+
# ARM64 targets
|
112
|
+
# Removing fp16 for now as it leads to issues with some models like deepseek r1 distills
|
113
|
+
# https://github.com/mybigday/llama.rn/pull/110#issuecomment-2609918310
|
114
|
+
build_library("rnllama_v8" "-march=armv8-a")
|
115
|
+
build_library("rnllama_v8_2" "-march=armv8.2-a")
|
116
|
+
build_library("rnllama_v8_2_dotprod" "-march=armv8.2-a+dotprod")
|
117
|
+
build_library("rnllama_v8_2_i8mm" "-march=armv8.2-a+i8mm")
|
118
|
+
build_library("rnllama_v8_2_dotprod_i8mm" "-march=armv8.2-a+dotprod+i8mm")
|
119
|
+
|
120
|
+
# https://github.com/ggerganov/llama.cpp/blob/master/docs/android.md#cross-compile-using-android-ndk
|
121
|
+
# llama.cpp will deal with the cpu features
|
122
|
+
# build_library("rnllama_v8_7" "-march=armv8.7-a")
|
123
|
+
# TODO: Add support runtime check for cpu features
|
124
|
+
# At the moment runtime check is failing.
|
125
|
+
|
126
|
+
elseif (${ANDROID_ABI} STREQUAL "x86_64")
|
127
|
+
# x86_64 target
|
128
|
+
build_library("rnllama_x86_64" "-march=x86-64" "-mtune=intel" "-msse4.2" "-mpopcnt")
|
129
|
+
endif ()
|