diff --git a/gpt4all-backend/CMakeLists.txt b/gpt4all-backend/CMakeLists.txt index 45745fc4..d8993eb9 100644 --- a/gpt4all-backend/CMakeLists.txt +++ b/gpt4all-backend/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.21) # for PROJECT_IS_TOP_LEVEL set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) @@ -141,7 +141,7 @@ foreach(BUILD_VARIANT IN LISTS BUILD_VARIANTS) prepare_target(gptj llama-mainline) endif() - if (BUILD_VARIANT STREQUAL cuda) + if (NOT PROJECT_IS_TOP_LEVEL AND BUILD_VARIANT STREQUAL cuda) set(CUDAToolkit_BIN_DIR ${CUDAToolkit_BIN_DIR} PARENT_SCOPE) endif() endforeach() diff --git a/gpt4all-backend/gptj.cpp b/gpt4all-backend/gptj.cpp index 0c4764b1..90ec829a 100644 --- a/gpt4all-backend/gptj.cpp +++ b/gpt4all-backend/gptj.cpp @@ -1,33 +1,28 @@ #define GPTJ_H_I_KNOW_WHAT_I_AM_DOING_WHEN_INCLUDING_THIS_FILE #include "gptj_impl.h" -#include "utils.h" +#include "llmodel.h" #include "llmodel_shared.h" +#include "utils.h" +#include + +#include #include #include #include #include #include -#include -#include -#include +#include #include -#if defined(_WIN32) && defined(_MSC_VER) - #define WIN32_LEAN_AND_MEAN - #ifndef NOMINMAX - #define NOMINMAX - #endif - #include - #include - #include -#else - #include -#endif +#include +#include +#include #include -#include -#include - +#include +#include +#include +#include namespace { const char *modelType_ = "GPT-J"; diff --git a/gpt4all-backend/gptj_impl.h b/gpt4all-backend/gptj_impl.h index 5d940af3..16c8837e 100644 --- a/gpt4all-backend/gptj_impl.h +++ b/gpt4all-backend/gptj_impl.h @@ -4,11 +4,12 @@ #ifndef GPTJ_H #define GPTJ_H -#include -#include -#include #include "llmodel.h" +#include +#include +#include + struct GPTJPrivate; class GPTJ : public LLModel { public: diff --git a/gpt4all-backend/llamamodel.cpp b/gpt4all-backend/llamamodel.cpp index e32aa582..685e8aa5 100644 --- a/gpt4all-backend/llamamodel.cpp +++ b/gpt4all-backend/llamamodel.cpp @@ -1,26 +1,33 @@ #define LLAMAMODEL_H_I_KNOW_WHAT_I_AM_DOING_WHEN_INCLUDING_THIS_FILE #include "llamamodel_impl.h" +#include "llmodel.h" + +#include +#include + +#include #include #include +#include #include +#include #include #include +#include #include #include #include -#include +#include +#include #include -#include +#include #include #include #include #include -#include #include -#include -#include #ifdef GGML_USE_KOMPUTE # include #elif GGML_USE_VULKAN @@ -31,6 +38,7 @@ using namespace std::string_literals; + // Maximum supported GGUF version static constexpr int GGUF_VER_MAX = 3; diff --git a/gpt4all-backend/llamamodel_impl.h b/gpt4all-backend/llamamodel_impl.h index 2051fd3b..9ab386bc 100644 --- a/gpt4all-backend/llamamodel_impl.h +++ b/gpt4all-backend/llamamodel_impl.h @@ -4,11 +4,12 @@ #ifndef LLAMAMODEL_H #define LLAMAMODEL_H +#include "llmodel.h" + #include #include #include #include -#include "llmodel.h" struct LLamaPrivate; struct EmbModelSpec; diff --git a/gpt4all-backend/llmodel.cpp b/gpt4all-backend/llmodel.cpp index afcb79e3..402553ba 100644 --- a/gpt4all-backend/llmodel.cpp +++ b/gpt4all-backend/llmodel.cpp @@ -1,10 +1,13 @@ #include "llmodel.h" +#include "dlhandle.h" + #include #include #include #include #include +#include #include #include #include @@ -13,9 +16,6 @@ #include #include -#include "dlhandle.h" -#include "sysinfo.h" - #ifdef _WIN32 # define WIN32_LEAN_AND_MEAN # ifndef NOMINMAX @@ -28,6 +28,10 @@ # include #endif +#if defined(__APPLE__) && defined(__aarch64__) +# include "sysinfo.h" // for getSystemTotalRAMInBytes +#endif + namespace fs = std::filesystem; #ifndef __APPLE__ diff --git a/gpt4all-backend/llmodel.h b/gpt4all-backend/llmodel.h index 51bf4a23..de5d4b5c 100644 --- a/gpt4all-backend/llmodel.h +++ b/gpt4all-backend/llmodel.h @@ -2,14 +2,15 @@ #define LLMODEL_H #include +#include #include -#include #include -#include #include +#include #include #include #include +#include #include using namespace std::string_literals; diff --git a/gpt4all-backend/llmodel_c.cpp b/gpt4all-backend/llmodel_c.cpp index 139bd9eb..439bf05a 100644 --- a/gpt4all-backend/llmodel_c.cpp +++ b/gpt4all-backend/llmodel_c.cpp @@ -1,12 +1,18 @@ #include "llmodel_c.h" + #include "llmodel.h" -#include +#include +#include +#include #include +#include +#include #include #include #include -#include +#include +#include struct LLModelWrapper { LLModel *llModel = nullptr; diff --git a/gpt4all-backend/llmodel_c.h b/gpt4all-backend/llmodel_c.h index 5e7bea7f..3955260a 100644 --- a/gpt4all-backend/llmodel_c.h +++ b/gpt4all-backend/llmodel_c.h @@ -1,9 +1,9 @@ #ifndef LLMODEL_C_H #define LLMODEL_C_H -#include -#include #include +#include +#include #ifdef __GNUC__ #define DEPRECATED __attribute__ ((deprecated)) diff --git a/gpt4all-backend/llmodel_shared.cpp b/gpt4all-backend/llmodel_shared.cpp index 257f8730..1296dc4e 100644 --- a/gpt4all-backend/llmodel_shared.cpp +++ b/gpt4all-backend/llmodel_shared.cpp @@ -1,10 +1,17 @@ #include "llmodel.h" +#include #include +#include +#include +#include #include +#include #include +#include #include #include +#include // TODO(cebtenzzre): replace this with llama_kv_cache_seq_shift for llamamodel (GPT-J needs this as-is) void LLModel::recalculateContext(PromptContext &promptCtx, std::function recalculate) { diff --git a/gpt4all-backend/llmodel_shared.h b/gpt4all-backend/llmodel_shared.h index aa132849..b19db356 100644 --- a/gpt4all-backend/llmodel_shared.h +++ b/gpt4all-backend/llmodel_shared.h @@ -1,9 +1,11 @@ #pragma once -#include -#include -#include + #include +#include +#include +#include + struct llm_buffer { uint8_t * addr = NULL; size_t size = 0; diff --git a/gpt4all-backend/sysinfo.h b/gpt4all-backend/sysinfo.h index 03145003..49ac2d3a 100644 --- a/gpt4all-backend/sysinfo.h +++ b/gpt4all-backend/sysinfo.h @@ -2,17 +2,21 @@ #define SYSINFO_H #include -#include -#include #include +#include +#include #if defined(__linux__) -#include +# include #elif defined(__APPLE__) -#include -#include +# include +# include #elif defined(_WIN32) -#include +# define WIN32_LEAN_AND_MEAN +# ifndef NOMINMAX +# define NOMINMAX +# endif +# include #endif static long long getSystemTotalRAMInBytes() diff --git a/gpt4all-backend/utils.cpp b/gpt4all-backend/utils.cpp index 5dc44fad..2d25686e 100644 --- a/gpt4all-backend/utils.cpp +++ b/gpt4all-backend/utils.cpp @@ -1,7 +1,12 @@ #include "utils.h" +#include +#include +#include #include +#include #include +#include void replace(std::string & str, const std::string & needle, const std::string & replacement) { size_t pos = 0; @@ -325,4 +330,4 @@ gpt_vocab::id gpt_sample_top_k_top_p( int idx = dist(rng); return logits_id[idx].second; -} \ No newline at end of file +} diff --git a/gpt4all-backend/utils.h b/gpt4all-backend/utils.h index b190643d..ea99f7a0 100644 --- a/gpt4all-backend/utils.h +++ b/gpt4all-backend/utils.h @@ -2,11 +2,14 @@ #pragma once -#include +#include +#include +#include #include -#include #include +#include #include +#include // // General purpose inline functions