diff --git a/examples/models/llava/main.cpp b/examples/models/llava/main.cpp index 431f86c906e..171eb77077f 100644 --- a/examples/models/llava/main.cpp +++ b/examples/models/llava/main.cpp @@ -103,6 +103,6 @@ int32_t main(int32_t argc, char** argv) { .width = static_cast(image_tensor.size(2)), .height = static_cast(image_tensor.size(1))}}; // generate - runner.generate(images, prompt, seq_len); + runner.generate(std::move(images), prompt, seq_len); return 0; } diff --git a/examples/models/llava/runner/llava_runner.cpp b/examples/models/llava/runner/llava_runner.cpp index b186af892f1..cb968ca88d8 100644 --- a/examples/models/llava/runner/llava_runner.cpp +++ b/examples/models/llava/runner/llava_runner.cpp @@ -74,7 +74,7 @@ Error LlavaRunner::load() { } Error LlavaRunner::generate( - std::vector& images, + std::vector images, const std::string& prompt, int32_t seq_len, std::function token_callback, diff --git a/examples/models/llava/runner/llava_runner.h b/examples/models/llava/runner/llava_runner.h index 13d842e30fe..9b14bc9283a 100644 --- a/examples/models/llava/runner/llava_runner.h +++ b/examples/models/llava/runner/llava_runner.h @@ -31,7 +31,7 @@ class LlavaRunner : public MultimodalRunner { bool is_loaded(); Error load(); Error generate( - std::vector& images, + std::vector images, const std::string& prompt, int32_t seq_len = 1024, std::function token_callback = {}, diff --git a/examples/models/llava/runner/targets.bzl b/examples/models/llava/runner/targets.bzl index 435ab2a8c70..72942acf16f 100644 --- a/examples/models/llava/runner/targets.bzl +++ b/examples/models/llava/runner/targets.bzl @@ -8,6 +8,9 @@ def define_common_targets(): visibility = [ "@EXECUTORCH_CLIENTS", ], + compiler_flags = [ + "-Wno-global-constructors", + ], exported_deps = [ "//executorch/backends/xnnpack:xnnpack_backend", "//executorch/extension/llm/runner:runner_lib", diff --git a/extension/android/jni/jni_layer_llama.cpp b/extension/android/jni/jni_layer_llama.cpp index 4f67d04396c..dda9ece589d 100644 --- a/extension/android/jni/jni_layer_llama.cpp +++ b/extension/android/jni/jni_layer_llama.cpp @@ -165,7 +165,7 @@ class ExecuTorchLlamaJni images.push_back(image_runner); } multi_modal_runner_->generate( - images, + std::move(images), prompt->toStdString(), seq_len, [callback](std::string result) { callback->onResult(result); }, diff --git a/extension/llm/runner/multimodal_runner.h b/extension/llm/runner/multimodal_runner.h index 745f086f803..dbffac46fce 100644 --- a/extension/llm/runner/multimodal_runner.h +++ b/extension/llm/runner/multimodal_runner.h @@ -56,7 +56,7 @@ class MultimodalRunner { virtual bool is_loaded() = 0; virtual ::executorch::runtime::Error load() = 0; virtual ::executorch::runtime::Error generate( - std::vector& images, + std::vector images, const std::string& prompt, int32_t seq_len = 1024, std::function token_callback = {},