From 8fb203c5bb17855114d9db5d30141ebf90d13ead Mon Sep 17 00:00:00 2001 From: Seungbaek Hong Date: Fri, 7 Jun 2024 17:44:10 +0900 Subject: [PATCH] [Application] Bug fix about meson setting Now, PICO GPT and LLAMA are adding extra_defines meson option in the application side. However, even if this code is executed during build, this definition is not reflected when actually running the app. Because the application area is built after the process of reflecting extra_defines to add_project_arguments has already been completed, so adding extra_defines during application build is meaningless. In addition, it is impossible to call add_project_arguments after build, so the structure to add extra_defines during build process is wrong. The reason why PICO GPT and LLAMA add extra_defines is that the encoder-related script created now does not run on tizen, so encoder-related option was added to the root meson and the options on the application side were removed. **Self evaluation:** 1. Build test: [X]Passed [ ]Failed [ ]Skipped 2. Run test: [X]Passed [ ]Failed [ ]Skipped Signed-off-by: Seungbaek Hong --- Applications/LLaMA/jni/main.cpp | 12 ++++++------ Applications/LLaMA/jni/meson.build | 1 - Applications/PicoGPT/jni/main.cpp | 8 ++++---- Applications/PicoGPT/jni/meson.build | 1 - meson.build | 2 ++ 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Applications/LLaMA/jni/main.cpp b/Applications/LLaMA/jni/main.cpp index 985d82a79e..06864f1646 100644 --- a/Applications/LLaMA/jni/main.cpp +++ b/Applications/LLaMA/jni/main.cpp @@ -30,7 +30,7 @@ #include #include -#if defined(ENABLE_ENCODER2) +#if defined(DENABLE_ENCODER) #include "json.hpp" #include #include @@ -572,7 +572,7 @@ void run(std::string text, bool apply_temperature) { unsigned int init_len; -#if defined(ENABLE_ENCODER2) +#if defined(DENABLE_ENCODER) std::string vocab_file_name = "../Applications/LLaMA/jni/vocab.json"; std::string merge_file_name = "../Applications/LLaMA/jni/merges.txt"; @@ -619,7 +619,7 @@ void run(std::string text, bool apply_temperature) { std::cout << " Progress Reading: 100 % " << std::endl; std::cout << std::endl << "### Output : " << std::endl; if (init_len < INIT_SEQ_LEN) { -#if defined(ENABLE_ENCODER2) +#if defined(DENABLE_ENCODER) auto decoded_str = tokenizer.decode({static_cast(ids)}); std::cout << decoded_str << " "; std::cout.flush(); @@ -635,7 +635,7 @@ void run(std::string text, bool apply_temperature) { input_sample[0] = static_cast(init_input[i]); } else { input_sample[0] = static_cast(ids); -#if defined(ENABLE_ENCODER2) +#if defined(DENABLE_ENCODER) auto decoded_str = tokenizer.decode({static_cast(ids)}); std::cout << decoded_str << " "; std::cout.flush(); @@ -684,7 +684,7 @@ void createAndRun(unsigned int epochs, unsigned int batch_size) { g_model->load(weight_path); } -#if defined(ENABLE_ENCODER2) +#if defined(DENABLE_ENCODER) std::wstring decodeUnicodeEscape(const std::wstring &input) { std::wstringstream result; @@ -712,7 +712,7 @@ int main(int argc, char *argv[]) { // Setting locale std::locale::global(std::locale("ko_KR.UTF-8")); -#if defined(ENABLE_ENCODER2) +#if defined(DENABLE_ENCODER) // Getting arguments From terminal std::wstring input; std::getline(std::wcin, input); diff --git a/Applications/LLaMA/jni/meson.build b/Applications/LLaMA/jni/meson.build index 24ebf6593f..7ace39e094 100644 --- a/Applications/LLaMA/jni/meson.build +++ b/Applications/LLaMA/jni/meson.build @@ -13,7 +13,6 @@ transpose_dep = declare_dependency( ) if get_option('platform') != 'tizen' - extra_defines += '-DENABLE_ENCODER2=1' run_command(meson.source_root() / 'jni' / 'prepare_encoder.sh', meson.build_root(), '0.2' ,check: true) endif diff --git a/Applications/PicoGPT/jni/main.cpp b/Applications/PicoGPT/jni/main.cpp index 30eace3946..32a1d4889e 100644 --- a/Applications/PicoGPT/jni/main.cpp +++ b/Applications/PicoGPT/jni/main.cpp @@ -17,7 +17,7 @@ #include #include -#if defined(ENABLE_ENCODER) +#if defined(DENABLE_ENCODER) #include "encoder.hpp" #endif @@ -43,7 +43,7 @@ bool optimize = false; // bool optimize = true; bool optimize_attention = false; -#if defined(ENABLE_ENCODER) +#if defined(DENABLE_ENCODER) template T unwrap(std::optional &&value, const std::string &error_msg) { if (value.has_value()) { @@ -318,7 +318,7 @@ int main(int argc, char *argv[]) { std::vector init_input; -#if defined(ENABLE_ENCODER) +#if defined(DENABLE_ENCODER) std::string vocab_file_name = "../Applications/PicoGPT/jni/vocab.json"; std::string merge_file_name = "../Applications/PicoGPT/jni/merges.txt"; @@ -372,7 +372,7 @@ int main(int argc, char *argv[]) { ((uint *)(wpe_input))[0] = i; -#if defined(ENABLE_ENCODER) +#if defined(DENABLE_ENCODER) std::vector token_ids; for (auto element : ids) { token_ids.push_back(static_cast(element)); diff --git a/Applications/PicoGPT/jni/meson.build b/Applications/PicoGPT/jni/meson.build index e542d05b36..b16cd9e8d9 100644 --- a/Applications/PicoGPT/jni/meson.build +++ b/Applications/PicoGPT/jni/meson.build @@ -3,7 +3,6 @@ nntr_pico_gpt_resdir = nntr_app_resdir / 'PicoGPT' run_command('cp', '-lr', res_path, nntr_pico_gpt_resdir) if get_option('platform') != 'tizen' - extra_defines += '-DENABLE_ENCODER=1' run_command(meson.source_root() / 'jni' / 'prepare_encoder.sh', meson.build_root(), '0.1' , check: true) endif diff --git a/meson.build b/meson.build index d4aea330a4..d08e0bc4cb 100644 --- a/meson.build +++ b/meson.build @@ -34,6 +34,8 @@ if get_option('platform') == 'tizen' if get_option('enable-tizen-feature-check') add_project_arguments('-D__FEATURE_CHECK_SUPPORT__', language: ['c', 'cpp']) endif +else + add_project_arguments('-DENABLE_ENCODER=1', language: ['c', 'cpp']) endif warning_flags = [