summaryrefslogtreecommitdiff
path: root/llama.cpp/src/llama-impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/src/llama-impl.h')
-rw-r--r--llama.cpp/src/llama-impl.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/llama.cpp/src/llama-impl.h b/llama.cpp/src/llama-impl.h
new file mode 100644
index 0000000..dfd9fee
--- /dev/null
+++ b/llama.cpp/src/llama-impl.h
@@ -0,0 +1,73 @@
+#pragma once
+
+#include "ggml.h" // for ggml_log_level
+
+#include <string>
+#include <vector>
+
+#ifdef __GNUC__
+# if defined(__MINGW32__) && !defined(__clang__)
+# define LLAMA_ATTRIBUTE_FORMAT(...) __attribute__((format(gnu_printf, __VA_ARGS__)))
+# else
+# define LLAMA_ATTRIBUTE_FORMAT(...) __attribute__((format(printf, __VA_ARGS__)))
+# endif
+#else
+# define LLAMA_ATTRIBUTE_FORMAT(...)
+#endif
+
+//
+// logging
+//
+
+LLAMA_ATTRIBUTE_FORMAT(2, 3)
+void llama_log_internal (ggml_log_level level, const char * format, ...);
+void llama_log_callback_default(ggml_log_level level, const char * text, void * user_data);
+
+#define LLAMA_LOG(...) llama_log_internal(GGML_LOG_LEVEL_NONE , __VA_ARGS__)
+#define LLAMA_LOG_INFO(...) llama_log_internal(GGML_LOG_LEVEL_INFO , __VA_ARGS__)
+#define LLAMA_LOG_WARN(...) llama_log_internal(GGML_LOG_LEVEL_WARN , __VA_ARGS__)
+#define LLAMA_LOG_ERROR(...) llama_log_internal(GGML_LOG_LEVEL_ERROR, __VA_ARGS__)
+#define LLAMA_LOG_DEBUG(...) llama_log_internal(GGML_LOG_LEVEL_DEBUG, __VA_ARGS__)
+#define LLAMA_LOG_CONT(...) llama_log_internal(GGML_LOG_LEVEL_CONT , __VA_ARGS__)
+
+//
+// helpers
+//
+
+template <typename T>
+struct no_init {
+ T value;
+ no_init() = default;
+};
+
+struct time_meas {
+ time_meas(int64_t & t_acc, bool disable = false);
+ ~time_meas();
+
+ const int64_t t_start_us;
+
+ int64_t & t_acc;
+};
+
+template <typename T>
+struct buffer_view {
+ T * data;
+ size_t size = 0;
+
+ bool has_data() const {
+ return data && size > 0;
+ }
+};
+
+void replace_all(std::string & s, const std::string & search, const std::string & replace);
+
+// TODO: rename to llama_format ?
+LLAMA_ATTRIBUTE_FORMAT(1, 2)
+std::string format(const char * fmt, ...);
+
+std::string llama_format_tensor_shape(const std::vector<int64_t> & ne);
+std::string llama_format_tensor_shape(const struct ggml_tensor * t);
+
+std::string gguf_kv_to_str(const struct gguf_context * ctx_gguf, int i);
+
+#define LLAMA_TENSOR_NAME_FATTN "__fattn__"