From 56d2fed2b3970ae55eebd0e5426d402304b1358a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Wed, 7 Jan 2026 16:18:26 +0100 Subject: [PATCH 001/100] tools : remove llama-run (#18661) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tools : remove llama-run * Remove licenses/LICENSE-linenoise Signed-off-by: Adrien Gallouët --- README.md | 16 - common/arg.cpp | 1 - licenses/LICENSE-linenoise | 26 - tools/CMakeLists.txt | 1 - tools/run/CMakeLists.txt | 23 - tools/run/README.md | 52 - tools/run/linenoise.cpp/linenoise.cpp | 1995 ------------------------- tools/run/linenoise.cpp/linenoise.h | 137 -- tools/run/run.cpp | 1408 ----------------- 9 files changed, 3659 deletions(-) delete mode 100644 licenses/LICENSE-linenoise delete mode 100644 tools/run/CMakeLists.txt delete mode 100644 tools/run/README.md delete mode 100644 tools/run/linenoise.cpp/linenoise.cpp delete mode 100644 tools/run/linenoise.cpp/linenoise.h delete mode 100644 tools/run/run.cpp diff --git a/README.md b/README.md index ed956bb02e..e59612f7ae 100644 --- a/README.md +++ b/README.md @@ -482,21 +482,6 @@ To learn more about model quantization, [read this documentation](tools/quantize -## [`llama-run`](tools/run) - -#### A comprehensive example for running `llama.cpp` models. Useful for inferencing. Used with RamaLama [^3]. - --
- Run a model with a specific prompt (by default it's pulled from Ollama registry) - - ```bash - llama-run granite-code - ``` - -
- -[^3]: [RamaLama](https://github.com/containers/ramalama) - ## [`llama-simple`](examples/simple) #### A minimal example for implementing apps with `llama.cpp`. Useful for developers. @@ -600,7 +585,6 @@ $ echo "source ~/.llama-completion.bash" >> ~/.bashrc - [stb-image](https://github.com/nothings/stb) - Single-header image format decoder, used by multimodal subsystem - Public domain - [nlohmann/json](https://github.com/nlohmann/json) - Single-header JSON library, used by various tools/examples - MIT License - [minja](https://github.com/google/minja) - Minimal Jinja parser in C++, used by various tools/examples - MIT License -- [linenoise.cpp](./tools/run/linenoise.cpp/linenoise.cpp) - C++ library that provides readline-like line editing capabilities, used by `llama-run` - BSD 2-Clause License - [curl](https://curl.se/) - Client-side URL transfer library, used by various tools/examples - [CURL License](https://curl.se/docs/copyright.html) - [miniaudio.h](https://github.com/mackron/miniaudio) - Single-header audio format decoder, used by multimodal subsystem - Public domain - [subprocess.h](https://github.com/sheredom/subprocess.h) - Single-header process launching solution for C and C++ - Public domain diff --git a/common/arg.cpp b/common/arg.cpp index a67a26e2dc..e7966d9d5c 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -679,7 +679,6 @@ static void common_params_print_completion(common_params_context & ctx_arg) { "llama-quantize", "llama-qwen2vl-cli", "llama-retrieval", - "llama-run", "llama-save-load-state", "llama-server", "llama-simple", diff --git a/licenses/LICENSE-linenoise b/licenses/LICENSE-linenoise deleted file mode 100644 index b006b3b24d..0000000000 --- a/licenses/LICENSE-linenoise +++ /dev/null @@ -1,26 +0,0 @@ -Copyright (c) 2010-2014, Salvatore Sanfilippo -Copyright (c) 2010-2013, Pieter Noordhuis -Copyright (c) 2025, Eric Curtin - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 8df3f41003..48959fefb5 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -25,7 +25,6 @@ else() if (LLAMA_BUILD_SERVER) add_subdirectory(server) endif() - add_subdirectory(run) add_subdirectory(tokenize) add_subdirectory(tts) add_subdirectory(mtmd) diff --git a/tools/run/CMakeLists.txt b/tools/run/CMakeLists.txt deleted file mode 100644 index 6ad7534e29..0000000000 --- a/tools/run/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -set(TARGET llama-run) -add_executable(${TARGET} run.cpp linenoise.cpp/linenoise.cpp) - -# TODO: avoid copying this code block from common/CMakeLists.txt -set(LLAMA_RUN_EXTRA_LIBS "") -if (LLAMA_CURL) - find_package(CURL REQUIRED) - target_compile_definitions(${TARGET} PUBLIC LLAMA_USE_CURL) - include_directories(${CURL_INCLUDE_DIRS}) - set(LLAMA_RUN_EXTRA_LIBS ${LLAMA_RUN_EXTRA_LIBS} ${CURL_LIBRARIES}) -endif () - -if(LLAMA_TOOLS_INSTALL) - install(TARGETS ${TARGET} RUNTIME) -endif() - -if (CMAKE_SYSTEM_NAME MATCHES "AIX") - # AIX's flock() function comes from libbsd.a - target_link_libraries(${TARGET} PRIVATE -lbsd) -endif() - -target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT} ${LLAMA_RUN_EXTRA_LIBS}) -target_compile_features(${TARGET} PRIVATE cxx_std_17) diff --git a/tools/run/README.md b/tools/run/README.md deleted file mode 100644 index 5fd769b44c..0000000000 --- a/tools/run/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# llama.cpp/example/run - -The purpose of this example is to demonstrate a minimal usage of llama.cpp for running models. - -```bash -llama-run granite3-moe -``` - -```bash -Description: - Runs a llm - -Usage: - llama-run [options] model [prompt] - -Options: - -c, --context-size - Context size (default: 2048) - -n, -ngl, --ngl - Number of GPU layers (default: 0) - --temp - Temperature (default: 0.8) - -v, --verbose, --log-verbose - Set verbosity level to infinity (i.e. log all messages, useful for debugging) - -h, --help - Show help message - -Commands: - model - Model is a string with an optional prefix of - huggingface:// (hf://), ollama://, https:// or file://. - If no protocol is specified and a file exists in the specified - path, file:// is assumed, otherwise if a file does not exist in - the specified path, ollama:// is assumed. Models that are being - pulled are downloaded with .partial extension while being - downloaded and then renamed as the file without the .partial - extension when complete. - -Examples: - llama-run llama3 - llama-run ollama://granite-code - llama-run ollama://smollm:135m - llama-run hf://QuantFactory/SmolLM-135M-GGUF/SmolLM-135M.Q2_K.gguf - llama-run huggingface://bartowski/SmolLM-1.7B-Instruct-v0.2-GGUF/SmolLM-1.7B-Instruct-v0.2-IQ3_M.gguf - llama-run ms://QuantFactory/SmolLM-135M-GGUF/SmolLM-135M.Q2_K.gguf - llama-run modelscope://bartowski/SmolLM-1.7B-Instruct-v0.2-GGUF/SmolLM-1.7B-Instruct-v0.2-IQ3_M.gguf - llama-run https://example.com/some-file1.gguf - llama-run some-file2.gguf - llama-run file://some-file3.gguf - llama-run --ngl 999 some-file4.gguf - llama-run --ngl 999 some-file5.gguf Hello World -``` diff --git a/tools/run/linenoise.cpp/linenoise.cpp b/tools/run/linenoise.cpp/linenoise.cpp deleted file mode 100644 index 9cb9399003..0000000000 --- a/tools/run/linenoise.cpp/linenoise.cpp +++ /dev/null @@ -1,1995 +0,0 @@ -#ifndef _WIN32 -/* - * You can find the latest source code at: - * - * http://github.com/ericcurtin/linenoise.cpp - * - * Does a number of crazy assumptions that happen to be true in 99.9999% of - * the 2010 UNIX computers around. - * - * ------------------------------------------------------------------------ - * - * Copyright (c) 2010-2023, Salvatore Sanfilippo - * Copyright (c) 2010-2013, Pieter Noordhuis - * Copyright (c) 2025, Eric Curtin - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * ------------------------------------------------------------------------ - * - * References: - * - http://invisible-island.net/xterm/ctlseqs/ctlseqs.html - * - http://www.3waylabs.com/nw/WWW/products/wizcon/vt220.html - * - * Todo list: - * - Filter bogus Ctrl+ combinations. - * - Win32 support - * - * Bloat: - * - History search like Ctrl+r in readline? - * - * List of escape sequences used by this program, we do everything just - * with three sequences. In order to be so cheap we may have some - * flickering effect with some slow terminal, but the lesser sequences - * the more compatible. - * - * EL (Erase Line) - * Sequence: ESC [ n K - * Effect: if n is 0 or missing, clear from cursor to end of line - * Effect: if n is 1, clear from beginning of line to cursor - * Effect: if n is 2, clear entire line - * - * CUF (CUrsor Forward) - * Sequence: ESC [ n C - * Effect: moves cursor forward n chars - * - * CUB (CUrsor Backward) - * Sequence: ESC [ n D - * Effect: moves cursor backward n chars - * - * The following is used to get the terminal width if getting - * the width with the TIOCGWINSZ ioctl fails - * - * DSR (Device Status Report) - * Sequence: ESC [ 6 n - * Effect: reports the current cursor position as ESC [ n ; m R - * where n is the row and m is the column - * - * When multi line mode is enabled, we also use an additional escape - * sequence. However multi line editing is disabled by default. - * - * CUU (Cursor Up) - * Sequence: ESC [ n A - * Effect: moves cursor up of n chars. - * - * CUD (Cursor Down) - * Sequence: ESC [ n B - * Effect: moves cursor down of n chars. - * - * When linenoiseClearScreen() is called, two additional escape sequences - * are used in order to clear the screen and position the cursor at home - * position. - * - * CUP (Cursor position) - * Sequence: ESC [ H - * Effect: moves the cursor to upper left corner - * - * ED (Erase display) - * Sequence: ESC [ 2 J - * Effect: clear the whole screen - * - */ - -# include "linenoise.h" - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# include -# include -# include - -# define LINENOISE_DEFAULT_HISTORY_MAX_LEN 100 -# define LINENOISE_MAX_LINE 4096 -static std::vector unsupported_term = { "dumb", "cons25", "emacs" }; -static linenoiseCompletionCallback *completionCallback = NULL; -static linenoiseHintsCallback *hintsCallback = NULL; -static linenoiseFreeHintsCallback *freeHintsCallback = NULL; -static char *linenoiseNoTTY(void); -static void refreshLineWithCompletion(struct linenoiseState *ls, linenoiseCompletions *lc, int flags); -static void refreshLineWithFlags(struct linenoiseState *l, int flags); - -static struct termios orig_termios; /* In order to restore at exit.*/ -static int maskmode = 0; /* Show "***" instead of input. For passwords. */ -static int rawmode = 0; /* For atexit() function to check if restore is needed*/ -static int mlmode = 0; /* Multi line mode. Default is single line. */ -static int atexit_registered = 0; /* Register atexit just 1 time. */ -static int history_max_len = LINENOISE_DEFAULT_HISTORY_MAX_LEN; -static int history_len = 0; -static char **history = NULL; - -enum KEY_ACTION{ - KEY_NULL = 0, /* NULL */ - CTRL_A = 1, /* Ctrl+a */ - CTRL_B = 2, /* Ctrl-b */ - CTRL_C = 3, /* Ctrl-c */ - CTRL_D = 4, /* Ctrl-d */ - CTRL_E = 5, /* Ctrl-e */ - CTRL_F = 6, /* Ctrl-f */ - CTRL_H = 8, /* Ctrl-h */ - TAB = 9, /* Tab */ - CTRL_K = 11, /* Ctrl+k */ - CTRL_L = 12, /* Ctrl+l */ - ENTER = 13, /* Enter */ - CTRL_N = 14, /* Ctrl-n */ - CTRL_P = 16, /* Ctrl-p */ - CTRL_T = 20, /* Ctrl-t */ - CTRL_U = 21, /* Ctrl+u */ - CTRL_W = 23, /* Ctrl+w */ - ESC = 27, /* Escape */ - BACKSPACE = 127 /* Backspace */ -}; - -static void linenoiseAtExit(void); -int linenoiseHistoryAdd(const char *line); -#define REFRESH_CLEAN (1<<0) // Clean the old prompt from the screen -#define REFRESH_WRITE (1<<1) // Rewrite the prompt on the screen. -#define REFRESH_ALL (REFRESH_CLEAN|REFRESH_WRITE) // Do both. -static void refreshLine(struct linenoiseState *l); - -class File { - public: - FILE * file = nullptr; - - FILE * open(const std::string & filename, const char * mode) { - file = fopen(filename.c_str(), mode); - - return file; - } - - int lock() { - if (file) { - fd = fileno(file); - if (flock(fd, LOCK_EX | LOCK_NB) != 0) { - fd = -1; - - return 1; - } - } - - return 0; - } - - ~File() { - if (fd >= 0) { - flock(fd, LOCK_UN); - } - - if (file) { - fclose(file); - } - } - - private: - int fd = -1; -}; - -#if 0 -/* Debugging function. */ -__attribute__((format(printf, 1, 2))) -static void lndebug(const char *fmt, ...) { - static File file; - if (file.file == nullptr) { - file.open("/tmp/lndebug.txt", "a"); - } - - if (file.file != nullptr) { - va_list args; - va_start(args, fmt); - vfprintf(file.file, fmt, args); - va_end(args); - fflush(file.file); - } -} -#endif - -/* ========================== Encoding functions ============================= */ - -/* Get length of previous UTF8 codepoint */ -static size_t prevUtf8CodePointLen(const char * buf, int pos) { - int end = pos--; - while (pos >= 0 && ((unsigned char) buf[pos] & 0xC0) == 0x80) { - pos--; - } - return end - pos; -} - -/* Convert UTF8 to Unicode code point */ -static size_t utf8BytesToCodePoint(const char * buf, size_t len, int * cp) { - if (len) { - unsigned char byte = buf[0]; - if ((byte & 0x80) == 0) { - *cp = byte; - return 1; - } else if ((byte & 0xE0) == 0xC0) { - if (len >= 2) { - *cp = (((unsigned long) (buf[0] & 0x1F)) << 6) | ((unsigned long) (buf[1] & 0x3F)); - return 2; - } - } else if ((byte & 0xF0) == 0xE0) { - if (len >= 3) { - *cp = (((unsigned long) (buf[0] & 0x0F)) << 12) | (((unsigned long) (buf[1] & 0x3F)) << 6) | - ((unsigned long) (buf[2] & 0x3F)); - return 3; - } - } else if ((byte & 0xF8) == 0xF0) { - if (len >= 4) { - *cp = (((unsigned long) (buf[0] & 0x07)) << 18) | (((unsigned long) (buf[1] & 0x3F)) << 12) | - (((unsigned long) (buf[2] & 0x3F)) << 6) | ((unsigned long) (buf[3] & 0x3F)); - return 4; - } - } - } - return 0; -} - -/* Check if the code is a wide character */ -static const unsigned long wideCharTable[][2] = { - /* BEGIN: WIDE CHAR TABLE */ - { 0x1100, 0x115F }, - { 0x231A, 0x231B }, - { 0x2329, 0x232A }, - { 0x23E9, 0x23EC }, - { 0x23F0, 0x23F0 }, - { 0x23F3, 0x23F3 }, - { 0x25FD, 0x25FE }, - { 0x2614, 0x2615 }, - { 0x2630, 0x2637 }, - { 0x2648, 0x2653 }, - { 0x267F, 0x267F }, - { 0x268A, 0x268F }, - { 0x2693, 0x2693 }, - { 0x26A1, 0x26A1 }, - { 0x26AA, 0x26AB }, - { 0x26BD, 0x26BE }, - { 0x26C4, 0x26C5 }, - { 0x26CE, 0x26CE }, - { 0x26D4, 0x26D4 }, - { 0x26EA, 0x26EA }, - { 0x26F2, 0x26F3 }, - { 0x26F5, 0x26F5 }, - { 0x26FA, 0x26FA }, - { 0x26FD, 0x26FD }, - { 0x2705, 0x2705 }, - { 0x270A, 0x270B }, - { 0x2728, 0x2728 }, - { 0x274C, 0x274C }, - { 0x274E, 0x274E }, - { 0x2753, 0x2755 }, - { 0x2757, 0x2757 }, - { 0x2795, 0x2797 }, - { 0x27B0, 0x27B0 }, - { 0x27BF, 0x27BF }, - { 0x2B1B, 0x2B1C }, - { 0x2B50, 0x2B50 }, - { 0x2B55, 0x2B55 }, - { 0x2E80, 0x2E99 }, - { 0x2E9B, 0x2EF3 }, - { 0x2F00, 0x2FD5 }, - { 0x2FF0, 0x303E }, - { 0x3041, 0x3096 }, - { 0x3099, 0x30FF }, - { 0x3105, 0x312F }, - { 0x3131, 0x318E }, - { 0x3190, 0x31E5 }, - { 0x31EF, 0x321E }, - { 0x3220, 0x3247 }, - { 0x3250, 0xA48C }, - { 0xA490, 0xA4C6 }, - { 0xA960, 0xA97C }, - { 0xAC00, 0xD7A3 }, - { 0xF900, 0xFAFF }, - { 0xFE10, 0xFE19 }, - { 0xFE30, 0xFE52 }, - { 0xFE54, 0xFE66 }, - { 0xFE68, 0xFE6B }, - { 0xFF01, 0xFF60 }, - { 0xFFE0, 0xFFE6 }, - { 0x16FE0, 0x16FE4 }, - { 0x16FF0, 0x16FF1 }, - { 0x17000, 0x187F7 }, - { 0x18800, 0x18CD5 }, - { 0x18CFF, 0x18D08 }, - { 0x1AFF0, 0x1AFF3 }, - { 0x1AFF5, 0x1AFFB }, - { 0x1AFFD, 0x1AFFE }, - { 0x1B000, 0x1B122 }, - { 0x1B132, 0x1B132 }, - { 0x1B150, 0x1B152 }, - { 0x1B155, 0x1B155 }, - { 0x1B164, 0x1B167 }, - { 0x1B170, 0x1B2FB }, - { 0x1D300, 0x1D356 }, - { 0x1D360, 0x1D376 }, - { 0x1F004, 0x1F004 }, - { 0x1F0CF, 0x1F0CF }, - { 0x1F18E, 0x1F18E }, - { 0x1F191, 0x1F19A }, - { 0x1F200, 0x1F202 }, - { 0x1F210, 0x1F23B }, - { 0x1F240, 0x1F248 }, - { 0x1F250, 0x1F251 }, - { 0x1F260, 0x1F265 }, - { 0x1F300, 0x1F320 }, - { 0x1F32D, 0x1F335 }, - { 0x1F337, 0x1F37C }, - { 0x1F37E, 0x1F393 }, - { 0x1F3A0, 0x1F3CA }, - { 0x1F3CF, 0x1F3D3 }, - { 0x1F3E0, 0x1F3F0 }, - { 0x1F3F4, 0x1F3F4 }, - { 0x1F3F8, 0x1F43E }, - { 0x1F440, 0x1F440 }, - { 0x1F442, 0x1F4FC }, - { 0x1F4FF, 0x1F53D }, - { 0x1F54B, 0x1F54E }, - { 0x1F550, 0x1F567 }, - { 0x1F57A, 0x1F57A }, - { 0x1F595, 0x1F596 }, - { 0x1F5A4, 0x1F5A4 }, - { 0x1F5FB, 0x1F64F }, - { 0x1F680, 0x1F6C5 }, - { 0x1F6CC, 0x1F6CC }, - { 0x1F6D0, 0x1F6D2 }, - { 0x1F6D5, 0x1F6D7 }, - { 0x1F6DC, 0x1F6DF }, - { 0x1F6EB, 0x1F6EC }, - { 0x1F6F4, 0x1F6FC }, - { 0x1F7E0, 0x1F7EB }, - { 0x1F7F0, 0x1F7F0 }, - { 0x1F90C, 0x1F93A }, - { 0x1F93C, 0x1F945 }, - { 0x1F947, 0x1F9FF }, - { 0x1FA70, 0x1FA7C }, - { 0x1FA80, 0x1FA89 }, - { 0x1FA8F, 0x1FAC6 }, - { 0x1FACE, 0x1FADC }, - { 0x1FADF, 0x1FAE9 }, - { 0x1FAF0, 0x1FAF8 }, - { 0x20000, 0x2FFFD }, - { 0x30000, 0x3FFFD } - /* END: WIDE CHAR TABLE */ -}; - -static const size_t wideCharTableSize = sizeof(wideCharTable) / sizeof(wideCharTable[0]); - -static bool isWideChar(unsigned long cp) { - for (size_t i = 0; i < wideCharTableSize; i++) { - auto first_code = wideCharTable[i][0]; - auto last_code = wideCharTable[i][1]; - if (first_code > cp) { - return false; - } - if (first_code <= cp && cp <= last_code) { - return true; - } - } - return false; -} - -/* Check if the code is a combining character */ -static const unsigned long combiningCharTable[] = { - /* BEGIN: COMBINING CHAR TABLE */ - 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306, 0x0307, 0x0308, 0x0309, 0x030A, 0x030B, 0x030C, - 0x030D, 0x030E, 0x030F, 0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317, 0x0318, 0x0319, - 0x031A, 0x031B, 0x031C, 0x031D, 0x031E, 0x031F, 0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326, - 0x0327, 0x0328, 0x0329, 0x032A, 0x032B, 0x032C, 0x032D, 0x032E, 0x032F, 0x0330, 0x0331, 0x0332, 0x0333, - 0x0334, 0x0335, 0x0336, 0x0337, 0x0338, 0x0339, 0x033A, 0x033B, 0x033C, 0x033D, 0x033E, 0x033F, 0x0340, - 0x0341, 0x0342, 0x0343, 0x0344, 0x0345, 0x0346, 0x0347, 0x0348, 0x0349, 0x034A, 0x034B, 0x034C, 0x034D, - 0x034E, 0x034F, 0x0350, 0x0351, 0x0352, 0x0353, 0x0354, 0x0355, 0x0356, 0x0357, 0x0358, 0x0359, 0x035A, - 0x035B, 0x035C, 0x035D, 0x035E, 0x035F, 0x0360, 0x0361, 0x0362, 0x0363, 0x0364, 0x0365, 0x0366, 0x0367, - 0x0368, 0x0369, 0x036A, 0x036B, 0x036C, 0x036D, 0x036E, 0x036F, 0x0483, 0x0484, 0x0485, 0x0486, 0x0487, - 0x0591, 0x0592, 0x0593, 0x0594, 0x0595, 0x0596, 0x0597, 0x0598, 0x0599, 0x059A, 0x059B, 0x059C, 0x059D, - 0x059E, 0x059F, 0x05A0, 0x05A1, 0x05A2, 0x05A3, 0x05A4, 0x05A5, 0x05A6, 0x05A7, 0x05A8, 0x05A9, 0x05AA, - 0x05AB, 0x05AC, 0x05AD, 0x05AE, 0x05AF, 0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, - 0x05B8, 0x05B9, 0x05BA, 0x05BB, 0x05BC, 0x05BD, 0x05BF, 0x05C1, 0x05C2, 0x05C4, 0x05C5, 0x05C7, 0x0610, - 0x0611, 0x0612, 0x0613, 0x0614, 0x0615, 0x0616, 0x0617, 0x0618, 0x0619, 0x061A, 0x064B, 0x064C, 0x064D, - 0x064E, 0x064F, 0x0650, 0x0651, 0x0652, 0x0653, 0x0654, 0x0655, 0x0656, 0x0657, 0x0658, 0x0659, 0x065A, - 0x065B, 0x065C, 0x065D, 0x065E, 0x065F, 0x0670, 0x06D6, 0x06D7, 0x06D8, 0x06D9, 0x06DA, 0x06DB, 0x06DC, - 0x06DF, 0x06E0, 0x06E1, 0x06E2, 0x06E3, 0x06E4, 0x06E7, 0x06E8, 0x06EA, 0x06EB, 0x06EC, 0x06ED, 0x0711, - 0x0730, 0x0731, 0x0732, 0x0733, 0x0734, 0x0735, 0x0736, 0x0737, 0x0738, 0x0739, 0x073A, 0x073B, 0x073C, - 0x073D, 0x073E, 0x073F, 0x0740, 0x0741, 0x0742, 0x0743, 0x0744, 0x0745, 0x0746, 0x0747, 0x0748, 0x0749, - 0x074A, 0x07A6, 0x07A7, 0x07A8, 0x07A9, 0x07AA, 0x07AB, 0x07AC, 0x07AD, 0x07AE, 0x07AF, 0x07B0, 0x07EB, - 0x07EC, 0x07ED, 0x07EE, 0x07EF, 0x07F0, 0x07F1, 0x07F2, 0x07F3, 0x07FD, 0x0816, 0x0817, 0x0818, 0x0819, - 0x081B, 0x081C, 0x081D, 0x081E, 0x081F, 0x0820, 0x0821, 0x0822, 0x0823, 0x0825, 0x0826, 0x0827, 0x0829, - 0x082A, 0x082B, 0x082C, 0x082D, 0x0859, 0x085A, 0x085B, 0x0897, 0x0898, 0x0899, 0x089A, 0x089B, 0x089C, - 0x089D, 0x089E, 0x089F, 0x08CA, 0x08CB, 0x08CC, 0x08CD, 0x08CE, 0x08CF, 0x08D0, 0x08D1, 0x08D2, 0x08D3, - 0x08D4, 0x08D5, 0x08D6, 0x08D7, 0x08D8, 0x08D9, 0x08DA, 0x08DB, 0x08DC, 0x08DD, 0x08DE, 0x08DF, 0x08E0, - 0x08E1, 0x08E3, 0x08E4, 0x08E5, 0x08E6, 0x08E7, 0x08E8, 0x08E9, 0x08EA, 0x08EB, 0x08EC, 0x08ED, 0x08EE, - 0x08EF, 0x08F0, 0x08F1, 0x08F2, 0x08F3, 0x08F4, 0x08F5, 0x08F6, 0x08F7, 0x08F8, 0x08F9, 0x08FA, 0x08FB, - 0x08FC, 0x08FD, 0x08FE, 0x08FF, 0x0900, 0x0901, 0x0902, 0x093A, 0x093C, 0x0941, 0x0942, 0x0943, 0x0944, - 0x0945, 0x0946, 0x0947, 0x0948, 0x094D, 0x0951, 0x0952, 0x0953, 0x0954, 0x0955, 0x0956, 0x0957, 0x0962, - 0x0963, 0x0981, 0x09BC, 0x09C1, 0x09C2, 0x09C3, 0x09C4, 0x09CD, 0x09E2, 0x09E3, 0x09FE, 0x0A01, 0x0A02, - 0x0A3C, 0x0A41, 0x0A42, 0x0A47, 0x0A48, 0x0A4B, 0x0A4C, 0x0A4D, 0x0A51, 0x0A70, 0x0A71, 0x0A75, 0x0A81, - 0x0A82, 0x0ABC, 0x0AC1, 0x0AC2, 0x0AC3, 0x0AC4, 0x0AC5, 0x0AC7, 0x0AC8, 0x0ACD, 0x0AE2, 0x0AE3, 0x0AFA, - 0x0AFB, 0x0AFC, 0x0AFD, 0x0AFE, 0x0AFF, 0x0B01, 0x0B3C, 0x0B3F, 0x0B41, 0x0B42, 0x0B43, 0x0B44, 0x0B4D, - 0x0B55, 0x0B56, 0x0B62, 0x0B63, 0x0B82, 0x0BC0, 0x0BCD, 0x0C00, 0x0C04, 0x0C3C, 0x0C3E, 0x0C3F, 0x0C40, - 0x0C46, 0x0C47, 0x0C48, 0x0C4A, 0x0C4B, 0x0C4C, 0x0C4D, 0x0C55, 0x0C56, 0x0C62, 0x0C63, 0x0C81, 0x0CBC, - 0x0CBF, 0x0CC6, 0x0CCC, 0x0CCD, 0x0CE2, 0x0CE3, 0x0D00, 0x0D01, 0x0D3B, 0x0D3C, 0x0D41, 0x0D42, 0x0D43, - 0x0D44, 0x0D4D, 0x0D62, 0x0D63, 0x0D81, 0x0DCA, 0x0DD2, 0x0DD3, 0x0DD4, 0x0DD6, 0x0E31, 0x0E34, 0x0E35, - 0x0E36, 0x0E37, 0x0E38, 0x0E39, 0x0E3A, 0x0E47, 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, - 0x0EB1, 0x0EB4, 0x0EB5, 0x0EB6, 0x0EB7, 0x0EB8, 0x0EB9, 0x0EBA, 0x0EBB, 0x0EBC, 0x0EC8, 0x0EC9, 0x0ECA, - 0x0ECB, 0x0ECC, 0x0ECD, 0x0ECE, 0x0F18, 0x0F19, 0x0F35, 0x0F37, 0x0F39, 0x0F71, 0x0F72, 0x0F73, 0x0F74, - 0x0F75, 0x0F76, 0x0F77, 0x0F78, 0x0F79, 0x0F7A, 0x0F7B, 0x0F7C, 0x0F7D, 0x0F7E, 0x0F80, 0x0F81, 0x0F82, - 0x0F83, 0x0F84, 0x0F86, 0x0F87, 0x0F8D, 0x0F8E, 0x0F8F, 0x0F90, 0x0F91, 0x0F92, 0x0F93, 0x0F94, 0x0F95, - 0x0F96, 0x0F97, 0x0F99, 0x0F9A, 0x0F9B, 0x0F9C, 0x0F9D, 0x0F9E, 0x0F9F, 0x0FA0, 0x0FA1, 0x0FA2, 0x0FA3, - 0x0FA4, 0x0FA5, 0x0FA6, 0x0FA7, 0x0FA8, 0x0FA9, 0x0FAA, 0x0FAB, 0x0FAC, 0x0FAD, 0x0FAE, 0x0FAF, 0x0FB0, - 0x0FB1, 0x0FB2, 0x0FB3, 0x0FB4, 0x0FB5, 0x0FB6, 0x0FB7, 0x0FB8, 0x0FB9, 0x0FBA, 0x0FBB, 0x0FBC, 0x0FC6, - 0x102D, 0x102E, 0x102F, 0x1030, 0x1032, 0x1033, 0x1034, 0x1035, 0x1036, 0x1037, 0x1039, 0x103A, 0x103D, - 0x103E, 0x1058, 0x1059, 0x105E, 0x105F, 0x1060, 0x1071, 0x1072, 0x1073, 0x1074, 0x1082, 0x1085, 0x1086, - 0x108D, 0x109D, 0x135D, 0x135E, 0x135F, 0x1712, 0x1713, 0x1714, 0x1732, 0x1733, 0x1752, 0x1753, 0x1772, - 0x1773, 0x17B4, 0x17B5, 0x17B7, 0x17B8, 0x17B9, 0x17BA, 0x17BB, 0x17BC, 0x17BD, 0x17C6, 0x17C9, 0x17CA, - 0x17CB, 0x17CC, 0x17CD, 0x17CE, 0x17CF, 0x17D0, 0x17D1, 0x17D2, 0x17D3, 0x17DD, 0x180B, 0x180C, 0x180D, - 0x180F, 0x1885, 0x1886, 0x18A9, 0x1920, 0x1921, 0x1922, 0x1927, 0x1928, 0x1932, 0x1939, 0x193A, 0x193B, - 0x1A17, 0x1A18, 0x1A1B, 0x1A56, 0x1A58, 0x1A59, 0x1A5A, 0x1A5B, 0x1A5C, 0x1A5D, 0x1A5E, 0x1A60, 0x1A62, - 0x1A65, 0x1A66, 0x1A67, 0x1A68, 0x1A69, 0x1A6A, 0x1A6B, 0x1A6C, 0x1A73, 0x1A74, 0x1A75, 0x1A76, 0x1A77, - 0x1A78, 0x1A79, 0x1A7A, 0x1A7B, 0x1A7C, 0x1A7F, 0x1AB0, 0x1AB1, 0x1AB2, 0x1AB3, 0x1AB4, 0x1AB5, 0x1AB6, - 0x1AB7, 0x1AB8, 0x1AB9, 0x1ABA, 0x1ABB, 0x1ABC, 0x1ABD, 0x1ABF, 0x1AC0, 0x1AC1, 0x1AC2, 0x1AC3, 0x1AC4, - 0x1AC5, 0x1AC6, 0x1AC7, 0x1AC8, 0x1AC9, 0x1ACA, 0x1ACB, 0x1ACC, 0x1ACD, 0x1ACE, 0x1B00, 0x1B01, 0x1B02, - 0x1B03, 0x1B34, 0x1B36, 0x1B37, 0x1B38, 0x1B39, 0x1B3A, 0x1B3C, 0x1B42, 0x1B6B, 0x1B6C, 0x1B6D, 0x1B6E, - 0x1B6F, 0x1B70, 0x1B71, 0x1B72, 0x1B73, 0x1B80, 0x1B81, 0x1BA2, 0x1BA3, 0x1BA4, 0x1BA5, 0x1BA8, 0x1BA9, - 0x1BAB, 0x1BAC, 0x1BAD, 0x1BE6, 0x1BE8, 0x1BE9, 0x1BED, 0x1BEF, 0x1BF0, 0x1BF1, 0x1C2C, 0x1C2D, 0x1C2E, - 0x1C2F, 0x1C30, 0x1C31, 0x1C32, 0x1C33, 0x1C36, 0x1C37, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD4, 0x1CD5, 0x1CD6, - 0x1CD7, 0x1CD8, 0x1CD9, 0x1CDA, 0x1CDB, 0x1CDC, 0x1CDD, 0x1CDE, 0x1CDF, 0x1CE0, 0x1CE2, 0x1CE3, 0x1CE4, - 0x1CE5, 0x1CE6, 0x1CE7, 0x1CE8, 0x1CED, 0x1CF4, 0x1CF8, 0x1CF9, 0x1DC0, 0x1DC1, 0x1DC2, 0x1DC3, 0x1DC4, - 0x1DC5, 0x1DC6, 0x1DC7, 0x1DC8, 0x1DC9, 0x1DCA, 0x1DCB, 0x1DCC, 0x1DCD, 0x1DCE, 0x1DCF, 0x1DD0, 0x1DD1, - 0x1DD2, 0x1DD3, 0x1DD4, 0x1DD5, 0x1DD6, 0x1DD7, 0x1DD8, 0x1DD9, 0x1DDA, 0x1DDB, 0x1DDC, 0x1DDD, 0x1DDE, - 0x1DDF, 0x1DE0, 0x1DE1, 0x1DE2, 0x1DE3, 0x1DE4, 0x1DE5, 0x1DE6, 0x1DE7, 0x1DE8, 0x1DE9, 0x1DEA, 0x1DEB, - 0x1DEC, 0x1DED, 0x1DEE, 0x1DEF, 0x1DF0, 0x1DF1, 0x1DF2, 0x1DF3, 0x1DF4, 0x1DF5, 0x1DF6, 0x1DF7, 0x1DF8, - 0x1DF9, 0x1DFA, 0x1DFB, 0x1DFC, 0x1DFD, 0x1DFE, 0x1DFF, 0x20D0, 0x20D1, 0x20D2, 0x20D3, 0x20D4, 0x20D5, - 0x20D6, 0x20D7, 0x20D8, 0x20D9, 0x20DA, 0x20DB, 0x20DC, 0x20E1, 0x20E5, 0x20E6, 0x20E7, 0x20E8, 0x20E9, - 0x20EA, 0x20EB, 0x20EC, 0x20ED, 0x20EE, 0x20EF, 0x20F0, 0x2CEF, 0x2CF0, 0x2CF1, 0x2D7F, 0x2DE0, 0x2DE1, - 0x2DE2, 0x2DE3, 0x2DE4, 0x2DE5, 0x2DE6, 0x2DE7, 0x2DE8, 0x2DE9, 0x2DEA, 0x2DEB, 0x2DEC, 0x2DED, 0x2DEE, - 0x2DEF, 0x2DF0, 0x2DF1, 0x2DF2, 0x2DF3, 0x2DF4, 0x2DF5, 0x2DF6, 0x2DF7, 0x2DF8, 0x2DF9, 0x2DFA, 0x2DFB, - 0x2DFC, 0x2DFD, 0x2DFE, 0x2DFF, 0x302A, 0x302B, 0x302C, 0x302D, 0x3099, 0x309A, 0xA66F, 0xA674, 0xA675, - 0xA676, 0xA677, 0xA678, 0xA679, 0xA67A, 0xA67B, 0xA67C, 0xA67D, 0xA69E, 0xA69F, 0xA6F0, 0xA6F1, 0xA802, - 0xA806, 0xA80B, 0xA825, 0xA826, 0xA82C, 0xA8C4, 0xA8C5, 0xA8E0, 0xA8E1, 0xA8E2, 0xA8E3, 0xA8E4, 0xA8E5, - 0xA8E6, 0xA8E7, 0xA8E8, 0xA8E9, 0xA8EA, 0xA8EB, 0xA8EC, 0xA8ED, 0xA8EE, 0xA8EF, 0xA8F0, 0xA8F1, 0xA8FF, - 0xA926, 0xA927, 0xA928, 0xA929, 0xA92A, 0xA92B, 0xA92C, 0xA92D, 0xA947, 0xA948, 0xA949, 0xA94A, 0xA94B, - 0xA94C, 0xA94D, 0xA94E, 0xA94F, 0xA950, 0xA951, 0xA980, 0xA981, 0xA982, 0xA9B3, 0xA9B6, 0xA9B7, 0xA9B8, - 0xA9B9, 0xA9BC, 0xA9BD, 0xA9E5, 0xAA29, 0xAA2A, 0xAA2B, 0xAA2C, 0xAA2D, 0xAA2E, 0xAA31, 0xAA32, 0xAA35, - 0xAA36, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAB2, 0xAAB3, 0xAAB4, 0xAAB7, 0xAAB8, 0xAABE, 0xAABF, 0xAAC1, - 0xAAEC, 0xAAED, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, - 0xFE06, 0xFE07, 0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, 0xFE20, 0xFE21, 0xFE22, - 0xFE23, 0xFE24, 0xFE25, 0xFE26, 0xFE27, 0xFE28, 0xFE29, 0xFE2A, 0xFE2B, 0xFE2C, 0xFE2D, 0xFE2E, 0xFE2F, - 0x101FD, 0x102E0, 0x10376, 0x10377, 0x10378, 0x10379, 0x1037A, 0x10A01, 0x10A02, 0x10A03, 0x10A05, 0x10A06, 0x10A0C, - 0x10A0D, 0x10A0E, 0x10A0F, 0x10A38, 0x10A39, 0x10A3A, 0x10A3F, 0x10AE5, 0x10AE6, 0x10D24, 0x10D25, 0x10D26, 0x10D27, - 0x10D69, 0x10D6A, 0x10D6B, 0x10D6C, 0x10D6D, 0x10EAB, 0x10EAC, 0x10EFC, 0x10EFD, 0x10EFE, 0x10EFF, 0x10F46, 0x10F47, - 0x10F48, 0x10F49, 0x10F4A, 0x10F4B, 0x10F4C, 0x10F4D, 0x10F4E, 0x10F4F, 0x10F50, 0x10F82, 0x10F83, 0x10F84, 0x10F85, - 0x11001, 0x11038, 0x11039, 0x1103A, 0x1103B, 0x1103C, 0x1103D, 0x1103E, 0x1103F, 0x11040, 0x11041, 0x11042, 0x11043, - 0x11044, 0x11045, 0x11046, 0x11070, 0x11073, 0x11074, 0x1107F, 0x11080, 0x11081, 0x110B3, 0x110B4, 0x110B5, 0x110B6, - 0x110B9, 0x110BA, 0x110C2, 0x11100, 0x11101, 0x11102, 0x11127, 0x11128, 0x11129, 0x1112A, 0x1112B, 0x1112D, 0x1112E, - 0x1112F, 0x11130, 0x11131, 0x11132, 0x11133, 0x11134, 0x11173, 0x11180, 0x11181, 0x111B6, 0x111B7, 0x111B8, 0x111B9, - 0x111BA, 0x111BB, 0x111BC, 0x111BD, 0x111BE, 0x111C9, 0x111CA, 0x111CB, 0x111CC, 0x111CF, 0x1122F, 0x11230, 0x11231, - 0x11234, 0x11236, 0x11237, 0x1123E, 0x11241, 0x112DF, 0x112E3, 0x112E4, 0x112E5, 0x112E6, 0x112E7, 0x112E8, 0x112E9, - 0x112EA, 0x11300, 0x11301, 0x1133B, 0x1133C, 0x11340, 0x11366, 0x11367, 0x11368, 0x11369, 0x1136A, 0x1136B, 0x1136C, - 0x11370, 0x11371, 0x11372, 0x11373, 0x11374, 0x113BB, 0x113BC, 0x113BD, 0x113BE, 0x113BF, 0x113C0, 0x113CE, 0x113D0, - 0x113D2, 0x113E1, 0x113E2, 0x11438, 0x11439, 0x1143A, 0x1143B, 0x1143C, 0x1143D, 0x1143E, 0x1143F, 0x11442, 0x11443, - 0x11444, 0x11446, 0x1145E, 0x114B3, 0x114B4, 0x114B5, 0x114B6, 0x114B7, 0x114B8, 0x114BA, 0x114BF, 0x114C0, 0x114C2, - 0x114C3, 0x115B2, 0x115B3, 0x115B4, 0x115B5, 0x115BC, 0x115BD, 0x115BF, 0x115C0, 0x115DC, 0x115DD, 0x11633, 0x11634, - 0x11635, 0x11636, 0x11637, 0x11638, 0x11639, 0x1163A, 0x1163D, 0x1163F, 0x11640, 0x116AB, 0x116AD, 0x116B0, 0x116B1, - 0x116B2, 0x116B3, 0x116B4, 0x116B5, 0x116B7, 0x1171D, 0x1171F, 0x11722, 0x11723, 0x11724, 0x11725, 0x11727, 0x11728, - 0x11729, 0x1172A, 0x1172B, 0x1182F, 0x11830, 0x11831, 0x11832, 0x11833, 0x11834, 0x11835, 0x11836, 0x11837, 0x11839, - 0x1183A, 0x1193B, 0x1193C, 0x1193E, 0x11943, 0x119D4, 0x119D5, 0x119D6, 0x119D7, 0x119DA, 0x119DB, 0x119E0, 0x11A01, - 0x11A02, 0x11A03, 0x11A04, 0x11A05, 0x11A06, 0x11A07, 0x11A08, 0x11A09, 0x11A0A, 0x11A33, 0x11A34, 0x11A35, 0x11A36, - 0x11A37, 0x11A38, 0x11A3B, 0x11A3C, 0x11A3D, 0x11A3E, 0x11A47, 0x11A51, 0x11A52, 0x11A53, 0x11A54, 0x11A55, 0x11A56, - 0x11A59, 0x11A5A, 0x11A5B, 0x11A8A, 0x11A8B, 0x11A8C, 0x11A8D, 0x11A8E, 0x11A8F, 0x11A90, 0x11A91, 0x11A92, 0x11A93, - 0x11A94, 0x11A95, 0x11A96, 0x11A98, 0x11A99, 0x11C30, 0x11C31, 0x11C32, 0x11C33, 0x11C34, 0x11C35, 0x11C36, 0x11C38, - 0x11C39, 0x11C3A, 0x11C3B, 0x11C3C, 0x11C3D, 0x11C3F, 0x11C92, 0x11C93, 0x11C94, 0x11C95, 0x11C96, 0x11C97, 0x11C98, - 0x11C99, 0x11C9A, 0x11C9B, 0x11C9C, 0x11C9D, 0x11C9E, 0x11C9F, 0x11CA0, 0x11CA1, 0x11CA2, 0x11CA3, 0x11CA4, 0x11CA5, - 0x11CA6, 0x11CA7, 0x11CAA, 0x11CAB, 0x11CAC, 0x11CAD, 0x11CAE, 0x11CAF, 0x11CB0, 0x11CB2, 0x11CB3, 0x11CB5, 0x11CB6, - 0x11D31, 0x11D32, 0x11D33, 0x11D34, 0x11D35, 0x11D36, 0x11D3A, 0x11D3C, 0x11D3D, 0x11D3F, 0x11D40, 0x11D41, 0x11D42, - 0x11D43, 0x11D44, 0x11D45, 0x11D47, 0x11D90, 0x11D91, 0x11D95, 0x11D97, 0x11EF3, 0x11EF4, 0x11F00, 0x11F01, 0x11F36, - 0x11F37, 0x11F38, 0x11F39, 0x11F3A, 0x11F40, 0x11F42, 0x11F5A, 0x13440, 0x13447, 0x13448, 0x13449, 0x1344A, 0x1344B, - 0x1344C, 0x1344D, 0x1344E, 0x1344F, 0x13450, 0x13451, 0x13452, 0x13453, 0x13454, 0x13455, 0x1611E, 0x1611F, 0x16120, - 0x16121, 0x16122, 0x16123, 0x16124, 0x16125, 0x16126, 0x16127, 0x16128, 0x16129, 0x1612D, 0x1612E, 0x1612F, 0x16AF0, - 0x16AF1, 0x16AF2, 0x16AF3, 0x16AF4, 0x16B30, 0x16B31, 0x16B32, 0x16B33, 0x16B34, 0x16B35, 0x16B36, 0x16F4F, 0x16F8F, - 0x16F90, 0x16F91, 0x16F92, 0x16FE4, 0x1BC9D, 0x1BC9E, 0x1CF00, 0x1CF01, 0x1CF02, 0x1CF03, 0x1CF04, 0x1CF05, 0x1CF06, - 0x1CF07, 0x1CF08, 0x1CF09, 0x1CF0A, 0x1CF0B, 0x1CF0C, 0x1CF0D, 0x1CF0E, 0x1CF0F, 0x1CF10, 0x1CF11, 0x1CF12, 0x1CF13, - 0x1CF14, 0x1CF15, 0x1CF16, 0x1CF17, 0x1CF18, 0x1CF19, 0x1CF1A, 0x1CF1B, 0x1CF1C, 0x1CF1D, 0x1CF1E, 0x1CF1F, 0x1CF20, - 0x1CF21, 0x1CF22, 0x1CF23, 0x1CF24, 0x1CF25, 0x1CF26, 0x1CF27, 0x1CF28, 0x1CF29, 0x1CF2A, 0x1CF2B, 0x1CF2C, 0x1CF2D, - 0x1CF30, 0x1CF31, 0x1CF32, 0x1CF33, 0x1CF34, 0x1CF35, 0x1CF36, 0x1CF37, 0x1CF38, 0x1CF39, 0x1CF3A, 0x1CF3B, 0x1CF3C, - 0x1CF3D, 0x1CF3E, 0x1CF3F, 0x1CF40, 0x1CF41, 0x1CF42, 0x1CF43, 0x1CF44, 0x1CF45, 0x1CF46, 0x1D167, 0x1D168, 0x1D169, - 0x1D17B, 0x1D17C, 0x1D17D, 0x1D17E, 0x1D17F, 0x1D180, 0x1D181, 0x1D182, 0x1D185, 0x1D186, 0x1D187, 0x1D188, 0x1D189, - 0x1D18A, 0x1D18B, 0x1D1AA, 0x1D1AB, 0x1D1AC, 0x1D1AD, 0x1D242, 0x1D243, 0x1D244, 0x1DA00, 0x1DA01, 0x1DA02, 0x1DA03, - 0x1DA04, 0x1DA05, 0x1DA06, 0x1DA07, 0x1DA08, 0x1DA09, 0x1DA0A, 0x1DA0B, 0x1DA0C, 0x1DA0D, 0x1DA0E, 0x1DA0F, 0x1DA10, - 0x1DA11, 0x1DA12, 0x1DA13, 0x1DA14, 0x1DA15, 0x1DA16, 0x1DA17, 0x1DA18, 0x1DA19, 0x1DA1A, 0x1DA1B, 0x1DA1C, 0x1DA1D, - 0x1DA1E, 0x1DA1F, 0x1DA20, 0x1DA21, 0x1DA22, 0x1DA23, 0x1DA24, 0x1DA25, 0x1DA26, 0x1DA27, 0x1DA28, 0x1DA29, 0x1DA2A, - 0x1DA2B, 0x1DA2C, 0x1DA2D, 0x1DA2E, 0x1DA2F, 0x1DA30, 0x1DA31, 0x1DA32, 0x1DA33, 0x1DA34, 0x1DA35, 0x1DA36, 0x1DA3B, - 0x1DA3C, 0x1DA3D, 0x1DA3E, 0x1DA3F, 0x1DA40, 0x1DA41, 0x1DA42, 0x1DA43, 0x1DA44, 0x1DA45, 0x1DA46, 0x1DA47, 0x1DA48, - 0x1DA49, 0x1DA4A, 0x1DA4B, 0x1DA4C, 0x1DA4D, 0x1DA4E, 0x1DA4F, 0x1DA50, 0x1DA51, 0x1DA52, 0x1DA53, 0x1DA54, 0x1DA55, - 0x1DA56, 0x1DA57, 0x1DA58, 0x1DA59, 0x1DA5A, 0x1DA5B, 0x1DA5C, 0x1DA5D, 0x1DA5E, 0x1DA5F, 0x1DA60, 0x1DA61, 0x1DA62, - 0x1DA63, 0x1DA64, 0x1DA65, 0x1DA66, 0x1DA67, 0x1DA68, 0x1DA69, 0x1DA6A, 0x1DA6B, 0x1DA6C, 0x1DA75, 0x1DA84, 0x1DA9B, - 0x1DA9C, 0x1DA9D, 0x1DA9E, 0x1DA9F, 0x1DAA1, 0x1DAA2, 0x1DAA3, 0x1DAA4, 0x1DAA5, 0x1DAA6, 0x1DAA7, 0x1DAA8, 0x1DAA9, - 0x1DAAA, 0x1DAAB, 0x1DAAC, 0x1DAAD, 0x1DAAE, 0x1DAAF, 0x1E000, 0x1E001, 0x1E002, 0x1E003, 0x1E004, 0x1E005, 0x1E006, - 0x1E008, 0x1E009, 0x1E00A, 0x1E00B, 0x1E00C, 0x1E00D, 0x1E00E, 0x1E00F, 0x1E010, 0x1E011, 0x1E012, 0x1E013, 0x1E014, - 0x1E015, 0x1E016, 0x1E017, 0x1E018, 0x1E01B, 0x1E01C, 0x1E01D, 0x1E01E, 0x1E01F, 0x1E020, 0x1E021, 0x1E023, 0x1E024, - 0x1E026, 0x1E027, 0x1E028, 0x1E029, 0x1E02A, 0x1E08F, 0x1E130, 0x1E131, 0x1E132, 0x1E133, 0x1E134, 0x1E135, 0x1E136, - 0x1E2AE, 0x1E2EC, 0x1E2ED, 0x1E2EE, 0x1E2EF, 0x1E4EC, 0x1E4ED, 0x1E4EE, 0x1E4EF, 0x1E5EE, 0x1E5EF, 0x1E8D0, 0x1E8D1, - 0x1E8D2, 0x1E8D3, 0x1E8D4, 0x1E8D5, 0x1E8D6, 0x1E944, 0x1E945, 0x1E946, 0x1E947, 0x1E948, 0x1E949, 0x1E94A, 0xE0100, - 0xE0101, 0xE0102, 0xE0103, 0xE0104, 0xE0105, 0xE0106, 0xE0107, 0xE0108, 0xE0109, 0xE010A, 0xE010B, 0xE010C, 0xE010D, - 0xE010E, 0xE010F, 0xE0110, 0xE0111, 0xE0112, 0xE0113, 0xE0114, 0xE0115, 0xE0116, 0xE0117, 0xE0118, 0xE0119, 0xE011A, - 0xE011B, 0xE011C, 0xE011D, 0xE011E, 0xE011F, 0xE0120, 0xE0121, 0xE0122, 0xE0123, 0xE0124, 0xE0125, 0xE0126, 0xE0127, - 0xE0128, 0xE0129, 0xE012A, 0xE012B, 0xE012C, 0xE012D, 0xE012E, 0xE012F, 0xE0130, 0xE0131, 0xE0132, 0xE0133, 0xE0134, - 0xE0135, 0xE0136, 0xE0137, 0xE0138, 0xE0139, 0xE013A, 0xE013B, 0xE013C, 0xE013D, 0xE013E, 0xE013F, 0xE0140, 0xE0141, - 0xE0142, 0xE0143, 0xE0144, 0xE0145, 0xE0146, 0xE0147, 0xE0148, 0xE0149, 0xE014A, 0xE014B, 0xE014C, 0xE014D, 0xE014E, - 0xE014F, 0xE0150, 0xE0151, 0xE0152, 0xE0153, 0xE0154, 0xE0155, 0xE0156, 0xE0157, 0xE0158, 0xE0159, 0xE015A, 0xE015B, - 0xE015C, 0xE015D, 0xE015E, 0xE015F, 0xE0160, 0xE0161, 0xE0162, 0xE0163, 0xE0164, 0xE0165, 0xE0166, 0xE0167, 0xE0168, - 0xE0169, 0xE016A, 0xE016B, 0xE016C, 0xE016D, 0xE016E, 0xE016F, 0xE0170, 0xE0171, 0xE0172, 0xE0173, 0xE0174, 0xE0175, - 0xE0176, 0xE0177, 0xE0178, 0xE0179, 0xE017A, 0xE017B, 0xE017C, 0xE017D, 0xE017E, 0xE017F, 0xE0180, 0xE0181, 0xE0182, - 0xE0183, 0xE0184, 0xE0185, 0xE0186, 0xE0187, 0xE0188, 0xE0189, 0xE018A, 0xE018B, 0xE018C, 0xE018D, 0xE018E, 0xE018F, - 0xE0190, 0xE0191, 0xE0192, 0xE0193, 0xE0194, 0xE0195, 0xE0196, 0xE0197, 0xE0198, 0xE0199, 0xE019A, 0xE019B, 0xE019C, - 0xE019D, 0xE019E, 0xE019F, 0xE01A0, 0xE01A1, 0xE01A2, 0xE01A3, 0xE01A4, 0xE01A5, 0xE01A6, 0xE01A7, 0xE01A8, 0xE01A9, - 0xE01AA, 0xE01AB, 0xE01AC, 0xE01AD, 0xE01AE, 0xE01AF, 0xE01B0, 0xE01B1, 0xE01B2, 0xE01B3, 0xE01B4, 0xE01B5, 0xE01B6, - 0xE01B7, 0xE01B8, 0xE01B9, 0xE01BA, 0xE01BB, 0xE01BC, 0xE01BD, 0xE01BE, 0xE01BF, 0xE01C0, 0xE01C1, 0xE01C2, 0xE01C3, - 0xE01C4, 0xE01C5, 0xE01C6, 0xE01C7, 0xE01C8, 0xE01C9, 0xE01CA, 0xE01CB, 0xE01CC, 0xE01CD, 0xE01CE, 0xE01CF, 0xE01D0, - 0xE01D1, 0xE01D2, 0xE01D3, 0xE01D4, 0xE01D5, 0xE01D6, 0xE01D7, 0xE01D8, 0xE01D9, 0xE01DA, 0xE01DB, 0xE01DC, 0xE01DD, - 0xE01DE, 0xE01DF, 0xE01E0, 0xE01E1, 0xE01E2, 0xE01E3, 0xE01E4, 0xE01E5, 0xE01E6, 0xE01E7, 0xE01E8, 0xE01E9, 0xE01EA, - 0xE01EB, 0xE01EC, 0xE01ED, 0xE01EE, 0xE01EF - /* END: COMBINING CHAR TABLE */ -}; - -static const unsigned long combiningCharTableSize = sizeof(combiningCharTable) / sizeof(combiningCharTable[0]); - -static bool isCombiningChar(unsigned long cp) { - for (size_t i = 0; i < combiningCharTableSize; i++) { - auto code = combiningCharTable[i]; - if (code > cp) { - return false; - } - if (code == cp) { - return true; - } - } - return false; -} - -/* Get length of previous grapheme */ -static size_t defaultPrevCharLen(const char * buf, size_t /*buf_len*/, size_t pos, size_t * col_len) { - size_t end = pos; - while (pos > 0) { - size_t len = prevUtf8CodePointLen(buf, pos); - pos -= len; - int cp; - utf8BytesToCodePoint(buf + pos, len, &cp); - if (!isCombiningChar(cp)) { - if (col_len != NULL) { - *col_len = isWideChar(cp) ? 2 : 1; - } - return end - pos; - } - } - /* NOTREACHED */ - return 0; -} - -/* Get length of next grapheme */ -static size_t defaultNextCharLen(const char * buf, size_t buf_len, size_t pos, size_t * col_len) { - size_t beg = pos; - int cp; - size_t len = utf8BytesToCodePoint(buf + pos, buf_len - pos, &cp); - if (isCombiningChar(cp)) { - /* NOTREACHED */ - return 0; - } - if (col_len != NULL) { - *col_len = isWideChar(cp) ? 2 : 1; - } - pos += len; - while (pos < buf_len) { - int cp; - len = utf8BytesToCodePoint(buf + pos, buf_len - pos, &cp); - if (!isCombiningChar(cp)) { - return pos - beg; - } - pos += len; - } - return pos - beg; -} - -/* Read a Unicode from file. */ -static size_t defaultReadCode(int fd, char * buf, size_t buf_len, int * cp) { - if (buf_len < 1) { - return -1; - } - size_t nread = read(fd, &buf[0], 1); - if (nread <= 0) { - return nread; - } - - unsigned char byte = buf[0]; - if ((byte & 0x80) == 0) { - ; - } else if ((byte & 0xE0) == 0xC0) { - if (buf_len < 2) { - return -1; - } - nread = read(fd, &buf[1], 1); - if (nread <= 0) { - return nread; - } - } else if ((byte & 0xF0) == 0xE0) { - if (buf_len < 3) { - return -1; - } - nread = read(fd, &buf[1], 2); - if (nread <= 0) { - return nread; - } - } else if ((byte & 0xF8) == 0xF0) { - if (buf_len < 3) { - return -1; - } - nread = read(fd, &buf[1], 3); - if (nread <= 0) { - return nread; - } - } else { - return -1; - } - - return utf8BytesToCodePoint(buf, buf_len, cp); -} - -/* Set default encoding functions */ -static linenoisePrevCharLen * prevCharLen = defaultPrevCharLen; -static linenoiseNextCharLen * nextCharLen = defaultNextCharLen; -static linenoiseReadCode * readCode = defaultReadCode; - -/* Set used defined encoding functions */ -void linenoiseSetEncodingFunctions(linenoisePrevCharLen * prevCharLenFunc, linenoiseNextCharLen * nextCharLenFunc, - linenoiseReadCode * readCodeFunc) { - prevCharLen = prevCharLenFunc; - nextCharLen = nextCharLenFunc; - readCode = readCodeFunc; -} - -/* ======================= Low level terminal handling ====================== */ - -/* Enable "mask mode". When it is enabled, instead of the input that - * the user is typing, the terminal will just display a corresponding - * number of asterisks, like "****". This is useful for passwords and other - * secrets that should not be displayed. */ -void linenoiseMaskModeEnable(void) { - maskmode = 1; -} - -/* Disable mask mode. */ -void linenoiseMaskModeDisable(void) { - maskmode = 0; -} - -/* Set if to use or not the multi line mode. */ -void linenoiseSetMultiLine(int ml) { - mlmode = ml; -} - -/* Return true if the terminal name is in the list of terminals we know are - * not able to understand basic escape sequences. */ -static int isUnsupportedTerm(void) { - char *term = getenv("TERM"); - if (term == NULL) return 0; - for (size_t j = 0; j < unsupported_term.size(); ++j) { - if (!strcasecmp(term, unsupported_term[j])) { - return 1; - } - } - return 0; -} - -/* Raw mode: 1960 magic shit. */ -static int enableRawMode(int fd) { - struct termios raw; - - if (!isatty(STDIN_FILENO)) goto fatal; - if (!atexit_registered) { - atexit(linenoiseAtExit); - atexit_registered = 1; - } - if (tcgetattr(fd,&orig_termios) == -1) goto fatal; - - raw = orig_termios; /* modify the original mode */ - /* input modes: no break, no CR to NL, no parity check, no strip char, - * no start/stop output control. */ - raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON); - /* output modes - disable post processing */ - raw.c_oflag &= ~(OPOST); - /* control modes - set 8 bit chars */ - raw.c_cflag |= (CS8); - /* local modes - choing off, canonical off, no extended functions, - * no signal chars (^Z,^C) */ - raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG); - /* control chars - set return condition: min number of bytes and timer. - * We want read to return every single byte, without timeout. */ - raw.c_cc[VMIN] = 1; raw.c_cc[VTIME] = 0; /* 1 byte, no timer */ - - /* put terminal in raw mode after flushing */ - if (tcsetattr(fd,TCSAFLUSH,&raw) < 0) goto fatal; - rawmode = 1; - return 0; - -fatal: - errno = ENOTTY; - return -1; -} - -static void disableRawMode(int fd) { - /* Don't even check the return value as it's too late. */ - if (rawmode && tcsetattr(fd,TCSAFLUSH,&orig_termios) != -1) - rawmode = 0; -} - -/* Use the ESC [6n escape sequence to query the horizontal cursor position - * and return it. On error -1 is returned, on success the position of the - * cursor. */ -static int getCursorPosition(int ifd, int ofd) { - char buf[32]; - int cols, rows; - unsigned int i = 0; - - /* Report cursor location */ - if (write(ofd, "\x1b[6n", 4) != 4) return -1; - - /* Read the response: ESC [ rows ; cols R */ - while (i < sizeof(buf)-1) { - if (read(ifd,buf+i,1) != 1) break; - if (buf[i] == 'R') break; - i++; - } - buf[i] = '\0'; - - /* Parse it. */ - if (buf[0] != ESC || buf[1] != '[') return -1; - if (sscanf(buf+2,"%d;%d",&rows,&cols) != 2) return -1; - return cols; -} - -/* Try to get the number of columns in the current terminal, or assume 80 - * if it fails. */ -static int getColumns(int ifd, int ofd) { - struct winsize ws; - - if (ioctl(1, TIOCGWINSZ, &ws) == -1 || ws.ws_col == 0) { - /* ioctl() failed. Try to query the terminal itself. */ - int start, cols; - - /* Get the initial position so we can restore it later. */ - start = getCursorPosition(ifd,ofd); - if (start == -1) goto failed; - - /* Go to right margin and get position. */ - if (write(ofd,"\x1b[999C",6) != 6) goto failed; - cols = getCursorPosition(ifd,ofd); - if (cols == -1) goto failed; - - /* Restore position. */ - if (cols > start) { - char seq[32]; - snprintf(seq,32,"\x1b[%dD",cols-start); - if (write(ofd,seq,strlen(seq)) == -1) { - /* Can't recover... */ - } - } - return cols; - } else { - return ws.ws_col; - } - -failed: - return 80; -} - -/* Clear the screen. Used to handle ctrl+l */ -void linenoiseClearScreen(void) { - if (write(STDOUT_FILENO,"\x1b[H\x1b[2J",7) <= 0) { - /* nothing to do, just to avoid warning. */ - } -} - -/* Beep, used for completion when there is nothing to complete or when all - * the choices were already shown. */ -static void linenoiseBeep(void) { - fprintf(stderr, "\x7"); - fflush(stderr); -} - -/* Called by completeLine() and linenoiseShow() to render the current - * edited line with the proposed completion. If the current completion table - * is already available, it is passed as second argument, otherwise the - * function will use the callback to obtain it. - * - * Flags are the same as refreshLine*(), that is REFRESH_* macros. */ -static void refreshLineWithCompletion(struct linenoiseState *ls, linenoiseCompletions *lc, int flags) { - /* Obtain the table of completions if the caller didn't provide one. */ - linenoiseCompletions ctable; - if (lc == NULL) { - completionCallback(ls->buf, &ctable); - lc = &ctable; - } - - /* Show the edited line with completion if possible, or just refresh. */ - if (ls->completion_idx < lc->len) { - struct linenoiseState saved = *ls; - ls->len = ls->pos = strlen(lc->cvec[ls->completion_idx]); - ls->buf = lc->cvec[ls->completion_idx]; - refreshLineWithFlags(ls, flags); - ls->len = saved.len; - ls->pos = saved.pos; - ls->buf = saved.buf; - } else { - refreshLineWithFlags(ls, flags); - } - - if (lc == &ctable) { - ctable.to_free = false; - } -} - -enum ESC_TYPE { ESC_NULL = 0, ESC_DELETE, ESC_UP, ESC_DOWN, ESC_RIGHT, ESC_LEFT, ESC_HOME, ESC_END }; - -static ESC_TYPE readEscapeSequence(struct linenoiseState * l) { - /* Check if the file input has additional data. */ - struct pollfd pfd; - pfd.fd = l->ifd; - pfd.events = POLLIN; - - auto ret = poll(&pfd, 1, 1); // 1 millisecond timeout - if (ret <= 0) { // -1: error, 0: timeout - return ESC_NULL; - } - - /* Read the next two bytes representing the escape sequence. - * Use two calls to handle slow terminals returning the two - * chars at different times. */ - char seq[3]; - if (read(l->ifd, seq, 1) == -1) { - return ESC_NULL; - } - if (read(l->ifd, seq + 1, 1) == -1) { - return ESC_NULL; - } - - /* ESC [ sequences. */ - if (seq[0] == '[') { - if (seq[1] >= '0' && seq[1] <= '9') { - /* Extended escape, read additional byte. */ - if (read(l->ifd, seq + 2, 1) == -1) { - return ESC_NULL; - } - if (seq[2] == '~') { - switch (seq[1]) { - case '3': - return ESC_DELETE; - } - } - } else { - switch (seq[1]) { - case 'A': - return ESC_UP; - case 'B': - return ESC_DOWN; - case 'C': - return ESC_RIGHT; - case 'D': - return ESC_LEFT; - case 'H': - return ESC_HOME; - case 'F': - return ESC_END; - } - } - } - - /* ESC O sequences. */ - else if (seq[0] == 'O') { - switch (seq[1]) { - case 'H': - return ESC_HOME; - case 'F': - return ESC_END; - } - } - return ESC_NULL; -} - -/* This is an helper function for linenoiseEdit*() and is called when the - * user types the key in order to complete the string currently in the - * input. - * - * The state of the editing is encapsulated into the pointed linenoiseState - * structure as described in the structure definition. - * - * If the function returns non-zero, the caller should handle the - * returned value as a byte read from the standard input, and process - * it as usually: this basically means that the function may return a byte - * read from the terminal but not processed. Otherwise, if zero is returned, - * the input was consumed by the completeLine() function to navigate the - * possible completions, and the caller should read for the next characters - * from stdin. */ -static int completeLine(struct linenoiseState * ls, int keypressed, ESC_TYPE esc_type) { - linenoiseCompletions lc; - int nwritten; - char c = keypressed; - - completionCallback(ls->buf, &lc); - if (lc.len == 0) { - linenoiseBeep(); - ls->in_completion = 0; - } else { - if (c == TAB) { - if (ls->in_completion == 0) { - ls->in_completion = 1; - ls->completion_idx = 0; - } else { - ls->completion_idx = (ls->completion_idx + 1) % (lc.len + 1); - if (ls->completion_idx == lc.len) { - linenoiseBeep(); - } - } - c = 0; - } else if (c == ESC && esc_type == ESC_NULL) { - /* Re-show original buffer */ - if (ls->completion_idx < lc.len) { - refreshLine(ls); - } - ls->in_completion = 0; - c = 0; - } else { - /* Update buffer and return */ - if (ls->completion_idx < lc.len) { - nwritten = snprintf(ls->buf, ls->buflen, "%s", lc.cvec[ls->completion_idx]); - ls->len = ls->pos = nwritten; - } - ls->in_completion = 0; - } - - /* Show completion or original buffer */ - if (ls->in_completion && ls->completion_idx < lc.len) { - refreshLineWithCompletion(ls, &lc, REFRESH_ALL); - } else { - refreshLine(ls); - } - } - - return c; /* Return last read character */ -} - -/* Register a callback function to be called for tab-completion. */ -void linenoiseSetCompletionCallback(linenoiseCompletionCallback *fn) { - completionCallback = fn; -} - -/* Register a hits function to be called to show hits to the user at the - * right of the prompt. */ -void linenoiseSetHintsCallback(linenoiseHintsCallback *fn) { - hintsCallback = fn; -} - -/* Register a function to free the hints returned by the hints callback - * registered with linenoiseSetHintsCallback(). */ -void linenoiseSetFreeHintsCallback(linenoiseFreeHintsCallback *fn) { - freeHintsCallback = fn; -} - -/* This function is used by the callback function registered by the user - * in order to add completion options given the input string when the - * user typed . See the example.c source code for a very easy to - * understand example. */ -void linenoiseAddCompletion(linenoiseCompletions *lc, const char *str) { - const size_t len = strlen(str); - auto copy = std::make_unique(len + 1); - if (!copy) { - return; - } - - memcpy(copy.get(), str, len + 1); - char ** cvec = static_cast(std::realloc(lc->cvec, sizeof(char *) * (lc->len + 1))); - if (cvec == nullptr) { - return; - } - - lc->cvec = cvec; - lc->cvec[lc->len++] = copy.release(); -} - -/* Get column length from begining of buffer to current byte position */ -static size_t columnPos(const char * buf, size_t buf_len, size_t pos) { - size_t ret = 0; - size_t off = 0; - while (off < pos) { - size_t col_len; - size_t len = nextCharLen(buf, buf_len, off, &col_len); - off += len; - ret += col_len; - } - return ret; -} - -/* Helper of refreshSingleLine() and refreshMultiLine() to show hints - * to the right of the prompt. */ -static void refreshShowHints(std::string & ab, struct linenoiseState * l, int pcollen) { - char seq[64]; - size_t collen = pcollen + columnPos(l->buf, l->len, l->len); - if (hintsCallback && collen < l->cols) { - int color = -1, bold = 0; - const char *hint = hintsCallback(l->buf,&color,&bold); - if (hint) { - int hintlen = strlen(hint); - int hintmaxlen = l->cols - collen; - if (hintlen > hintmaxlen) hintlen = hintmaxlen; - if (bold == 1 && color == -1) color = 37; - if (color != -1 || bold != 0) - snprintf(seq,64,"\033[%d;%d;49m",bold,color); - else - seq[0] = '\0'; - ab.append(seq); - ab.append(hint, hintlen); - if (color != -1 || bold != 0) - ab.append("\033[0m"); - - /* Call the function to free the hint returned. */ - if (freeHintsCallback) freeHintsCallback(hint); - } - } -} - -/* Check if text is an ANSI escape sequence */ -static int isAnsiEscape(const char * buf, size_t buf_len, size_t * len) { - if (buf_len > 2 && !memcmp("\033[", buf, 2)) { - size_t off = 2; - while (off < buf_len) { - switch (buf[off++]) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'S': - case 'T': - case 'f': - case 'm': - *len = off; - return 1; - } - } - } - return 0; -} - -/* Get column length of prompt text */ -static size_t promptTextColumnLen(const char * prompt, size_t plen) { - char buf[LINENOISE_MAX_LINE]; - size_t buf_len = 0; - size_t off = 0; - while (off < plen) { - size_t len; - if (isAnsiEscape(prompt + off, plen - off, &len)) { - off += len; - continue; - } - buf[buf_len++] = prompt[off++]; - } - return columnPos(buf, buf_len, buf_len); -} - -/* Single line low level line refresh. - * - * Rewrite the currently edited line accordingly to the buffer content, - * cursor position, and number of columns of the terminal. - * - * Flags is REFRESH_* macros. The function can just remove the old - * prompt, just write it, or both. */ -static void refreshSingleLine(struct linenoiseState *l, int flags) { - char seq[64]; - size_t pcollen = promptTextColumnLen(l->prompt, strlen(l->prompt)); - int fd = l->ofd; - char *buf = l->buf; - size_t len = l->len; - size_t pos = l->pos; - std::string ab; - - while ((pcollen + columnPos(buf, len, pos)) >= l->cols) { - int chlen = nextCharLen(buf, len, 0, NULL); - buf += chlen; - len -= chlen; - pos -= chlen; - } - while (pcollen + columnPos(buf, len, len) > l->cols) { - len -= prevCharLen(buf, len, len, NULL); - } - - /* Cursor to left edge */ - snprintf(seq,sizeof(seq),"\r"); - ab.append(seq); - - if (flags & REFRESH_WRITE) { - /* Write the prompt and the current buffer content */ - ab.append(l->prompt); - if (maskmode == 1) { - while (len--) { - ab.append("*"); - } - } else { - ab.append(buf, len); - } - /* Show hits if any. */ - refreshShowHints(ab, l, pcollen); - } - - /* Erase to right */ - snprintf(seq,sizeof(seq),"\x1b[0K"); - ab.append(seq); - if (flags & REFRESH_WRITE) { - /* Move cursor to original position. */ - snprintf(seq, sizeof(seq), "\r\x1b[%dC", (int) (columnPos(buf, len, pos) + pcollen)); - ab.append(seq); - } - - (void) !write(fd, ab.c_str(), ab.size()); /* Can't recover from write error. */ -} - -/* Get column length from begining of buffer to current byte position for multiline mode*/ -static size_t columnPosForMultiLine(const char * buf, size_t buf_len, size_t pos, size_t cols, size_t ini_pos) { - size_t ret = 0; - size_t colwid = ini_pos; - - size_t off = 0; - while (off < buf_len) { - size_t col_len; - size_t len = nextCharLen(buf, buf_len, off, &col_len); - - int dif = (int) (colwid + col_len) - (int) cols; - if (dif > 0) { - ret += dif; - colwid = col_len; - } else if (dif == 0) { - colwid = 0; - } else { - colwid += col_len; - } - - if (off >= pos) { - break; - } - off += len; - ret += col_len; - } - - return ret; -} - -/* Multi line low level line refresh. - * - * Rewrite the currently edited line accordingly to the buffer content, - * cursor position, and number of columns of the terminal. - * - * Flags is REFRESH_* macros. The function can just remove the old - * prompt, just write it, or both. */ -static void refreshMultiLine(struct linenoiseState *l, int flags) { - char seq[64]; - size_t pcollen = promptTextColumnLen(l->prompt, strlen(l->prompt)); - int colpos = columnPosForMultiLine(l->buf, l->len, l->len, l->cols, pcollen); - int colpos2; /* cursor column position. */ - int rows = (pcollen + colpos + l->cols - 1) / l->cols; /* rows used by current buf. */ - int rpos = (pcollen + l->oldcolpos + l->cols) / l->cols; /* cursor relative row. */ - int rpos2; /* rpos after refresh. */ - int col; /* column position, zero-based. */ - int old_rows = l->oldrows; - int fd = l->ofd, j; - std::string ab; - l->oldrows = rows; - - /* First step: clear all the lines used before. To do so start by - * going to the last row. */ - if (flags & REFRESH_CLEAN) { - if (old_rows - rpos > 0) { - snprintf(seq,64,"\x1b[%dB", old_rows-rpos); - ab.append(seq); - } - - /* Now for every row clear it, go up. */ - for (j = 0; j < old_rows - 1; j++) { - snprintf(seq,64,"\r\x1b[0K\x1b[1A"); - ab.append(seq); - } - } - - if (flags & REFRESH_ALL) { - /* Clean the top line. */ - snprintf(seq,64,"\r\x1b[0K"); - ab.append(seq); - } - - /* Get column length to cursor position */ - colpos2 = columnPosForMultiLine(l->buf, l->len, l->pos, l->cols, pcollen); - - if (flags & REFRESH_WRITE) { - /* Write the prompt and the current buffer content */ - ab.append(l->prompt); - if (maskmode == 1) { - for (unsigned int i = 0; i < l->len; ++i) { - ab.append("*"); - } - } else { - ab.append(l->buf, l->len); - } - - /* Show hits if any. */ - refreshShowHints(ab, l, pcollen); - - /* If we are at the very end of the screen with our prompt, we need to - * emit a newline and move the prompt to the first column. */ - if (l->pos && l->pos == l->len && (colpos2 + pcollen) % l->cols == 0) { - ab.append("\n"); - snprintf(seq,64,"\r"); - ab.append(seq); - rows++; - if (rows > (int)l->oldrows) l->oldrows = rows; - } - - /* Move cursor to right position. */ - rpos2 = (pcollen + colpos2 + l->cols) / l->cols; /* Current cursor relative row */ - - /* Go up till we reach the expected position. */ - if (rows - rpos2 > 0) { - snprintf(seq,64,"\x1b[%dA", rows-rpos2); - ab.append(seq); - } - - /* Set column. */ - col = (pcollen + colpos2) % l->cols; - if (col) - snprintf(seq,64,"\r\x1b[%dC", col); - else - snprintf(seq,64,"\r"); - ab.append(seq); - } - - l->oldcolpos = colpos2; - - (void) !write(fd, ab.c_str(), ab.size()); /* Can't recover from write error. */ -} - -/* Calls the two low level functions refreshSingleLine() or - * refreshMultiLine() according to the selected mode. */ -static void refreshLineWithFlags(struct linenoiseState *l, int flags) { - if (mlmode) - refreshMultiLine(l,flags); - else - refreshSingleLine(l,flags); -} - -/* Utility function to avoid specifying REFRESH_ALL all the times. */ -static void refreshLine(struct linenoiseState *l) { - refreshLineWithFlags(l,REFRESH_ALL); -} - -/* Hide the current line, when using the multiplexing API. */ -void linenoiseHide(struct linenoiseState *l) { - if (mlmode) - refreshMultiLine(l,REFRESH_CLEAN); - else - refreshSingleLine(l,REFRESH_CLEAN); -} - -/* Show the current line, when using the multiplexing API. */ -void linenoiseShow(struct linenoiseState *l) { - if (l->in_completion) { - refreshLineWithCompletion(l,NULL,REFRESH_WRITE); - } else { - refreshLineWithFlags(l,REFRESH_WRITE); - } -} - -/* Insert the character 'c' at cursor current position. - * - * On error writing to the terminal -1 is returned, otherwise 0. */ -static int linenoiseEditInsert(struct linenoiseState * l, const char * cbuf, int clen) { - if (l->len + clen <= l->buflen) { - if (l->len == l->pos) { - memcpy(&l->buf[l->pos], cbuf, clen); - l->pos += clen; - l->len += clen; - ; - l->buf[l->len] = '\0'; - if ((!mlmode && promptTextColumnLen(l->prompt, l->plen) + columnPos(l->buf, l->len, l->len) < l->cols && - !hintsCallback)) { - /* Avoid a full update of the line in the - * trivial case. */ - if (maskmode == 1) { - static const char d = '*'; - if (write(l->ofd, &d, 1) == -1) { - return -1; - } - } else { - if (write(l->ofd, cbuf, clen) == -1) { - return -1; - } - } - } else { - refreshLine(l); - } - } else { - memmove(l->buf + l->pos + clen, l->buf + l->pos, l->len - l->pos); - memcpy(&l->buf[l->pos], cbuf, clen); - l->pos += clen; - l->len += clen; - l->buf[l->len] = '\0'; - refreshLine(l); - } - } - return 0; -} - -/* Move cursor on the left. */ -static void linenoiseEditMoveLeft(struct linenoiseState * l) { - if (l->pos > 0) { - l->pos -= prevCharLen(l->buf, l->len, l->pos, NULL); - refreshLine(l); - } -} - -/* Move cursor on the right. */ -static void linenoiseEditMoveRight(struct linenoiseState * l) { - if (l->pos != l->len) { - l->pos += nextCharLen(l->buf, l->len, l->pos, NULL); - refreshLine(l); - } -} - -/* Move cursor to the start of the line. */ -static void linenoiseEditMoveHome(struct linenoiseState * l) { - if (l->pos != 0) { - l->pos = 0; - refreshLine(l); - } -} - -/* Move cursor to the end of the line. */ -static void linenoiseEditMoveEnd(struct linenoiseState * l) { - if (l->pos != l->len) { - l->pos = l->len; - refreshLine(l); - } -} - -/* Substitute the currently edited line with the next or previous history - * entry as specified by 'dir'. */ -#define LINENOISE_HISTORY_NEXT 0 -#define LINENOISE_HISTORY_PREV 1 - -static void linenoiseEditHistoryNext(struct linenoiseState * l, int dir) { - if (history_len > 1) { - /* Update the current history entry before to - * overwrite it with the next one. */ - free(history[history_len - 1 - l->history_index]); - history[history_len - 1 - l->history_index] = strdup(l->buf); - /* Show the new entry */ - l->history_index += (dir == LINENOISE_HISTORY_PREV) ? 1 : -1; - if (l->history_index < 0) { - l->history_index = 0; - return; - } else if (l->history_index >= history_len) { - l->history_index = history_len-1; - return; - } - strncpy(l->buf,history[history_len - 1 - l->history_index],l->buflen); - l->buf[l->buflen-1] = '\0'; - l->len = l->pos = strlen(l->buf); - refreshLine(l); - } -} - -/* Delete the character at the right of the cursor without altering the cursor - * position. Basically this is what happens with the "Delete" keyboard key. */ -static void linenoiseEditDelete(struct linenoiseState * l) { - if (l->len > 0 && l->pos < l->len) { - int chlen = nextCharLen(l->buf, l->len, l->pos, NULL); - memmove(l->buf + l->pos, l->buf + l->pos + chlen, l->len - l->pos - chlen); - l->len -= chlen; - l->buf[l->len] = '\0'; - refreshLine(l); - } -} - -/* Backspace implementation. */ -static void linenoiseEditBackspace(struct linenoiseState * l) { - if (l->pos > 0 && l->len > 0) { - int chlen = prevCharLen(l->buf, l->len, l->pos, NULL); - memmove(l->buf + l->pos - chlen, l->buf + l->pos, l->len - l->pos); - l->pos -= chlen; - l->len -= chlen; - l->buf[l->len] = '\0'; - refreshLine(l); - } -} - -/* Delete the previous word, maintaining the cursor at the start of the - * current word. */ -static void linenoiseEditDeletePrevWord(struct linenoiseState * l) { - size_t old_pos = l->pos; - size_t diff; - - while (l->pos > 0 && l->buf[l->pos-1] == ' ') - l->pos--; - while (l->pos > 0 && l->buf[l->pos-1] != ' ') - l->pos--; - diff = old_pos - l->pos; - memmove(l->buf+l->pos,l->buf+old_pos,l->len-old_pos+1); - l->len -= diff; - refreshLine(l); -} - -/* This function is part of the multiplexed API of Linenoise, that is used - * in order to implement the blocking variant of the API but can also be - * called by the user directly in an event driven program. It will: - * - * 1. Initialize the linenoise state passed by the user. - * 2. Put the terminal in RAW mode. - * 3. Show the prompt. - * 4. Return control to the user, that will have to call linenoiseEditFeed() - * each time there is some data arriving in the standard input. - * - * The user can also call linenoiseEditHide() and linenoiseEditShow() if it - * is required to show some input arriving asynchronously, without mixing - * it with the currently edited line. - * - * When linenoiseEditFeed() returns non-NULL, the user finished with the - * line editing session (pressed enter CTRL-D/C): in this case the caller - * needs to call linenoiseEditStop() to put back the terminal in normal - * mode. This will not destroy the buffer, as long as the linenoiseState - * is still valid in the context of the caller. - * - * The function returns 0 on success, or -1 if writing to standard output - * fails. If stdin_fd or stdout_fd are set to -1, the default is to use - * STDIN_FILENO and STDOUT_FILENO. - */ -int linenoiseEditStart(struct linenoiseState *l, int stdin_fd, int stdout_fd, char *buf, size_t buflen, const char *prompt) { - /* Populate the linenoise state that we pass to functions implementing - * specific editing functionalities. */ - l->in_completion = 0; - l->ifd = stdin_fd != -1 ? stdin_fd : STDIN_FILENO; - l->ofd = stdout_fd != -1 ? stdout_fd : STDOUT_FILENO; - l->buf = buf; - l->buflen = buflen; - l->prompt = prompt; - l->plen = strlen(prompt); - l->oldcolpos = l->pos = 0; - l->len = 0; - - /* Enter raw mode. */ - if (enableRawMode(l->ifd) == -1) return -1; - - l->cols = getColumns(stdin_fd, stdout_fd); - l->oldrows = 0; - l->history_index = 0; - - /* Buffer starts empty. */ - l->buf[0] = '\0'; - l->buflen--; /* Make sure there is always space for the nullterm */ - - /* If stdin is not a tty, stop here with the initialization. We - * will actually just read a line from standard input in blocking - * mode later, in linenoiseEditFeed(). */ - if (!isatty(l->ifd)) return 0; - - /* The latest history entry is always our current buffer, that - * initially is just an empty string. */ - linenoiseHistoryAdd(""); - - if (write(l->ofd,prompt,l->plen) == -1) return -1; - return 0; -} - -const char* linenoiseEditMore = "If you see this, you are misusing the API: when linenoiseEditFeed() is called, if it returns linenoiseEditMore the user is yet editing the line. See the README file for more information."; - -static const char * handleEnterKey(struct linenoiseState * l) { - --history_len; - free(history[history_len]); - if (mlmode) { - linenoiseEditMoveEnd(l); - } - if (hintsCallback) { - /* Force a refresh without hints to leave the previous - * line as the user typed it after a newline. */ - linenoiseHintsCallback * hc = hintsCallback; - hintsCallback = NULL; - refreshLine(l); - hintsCallback = hc; - } - - return strdup(l->buf); -} - -static const char * handleCtrlCKey() { - errno = EAGAIN; - return NULL; -} - -static const char * handleCtrlDKey(struct linenoiseState * l) { - if (l->len > 0) { - linenoiseEditDelete(l); - return linenoiseEditMore; - } - - --history_len; - free(history[history_len]); - errno = ENOENT; - return NULL; -} - -static void handleCtrlTKey(struct linenoiseState * l) { - if (l->pos > 0 && l->pos < l->len) { - auto prev_chlen = prevCharLen(l->buf, l->len, l->pos, NULL); - auto curr_chlen = nextCharLen(l->buf, l->len, l->pos, NULL); - - std::string prev_char(prev_chlen, 0); - memcpy(prev_char.data(), l->buf + l->pos - prev_chlen, prev_chlen); - memmove(l->buf + l->pos - prev_chlen, l->buf + l->pos, curr_chlen); - memmove(l->buf + l->pos - prev_chlen + curr_chlen, prev_char.data(), prev_chlen); - - l->pos = l->pos - prev_chlen + curr_chlen; - if (l->pos + prev_chlen != l->len) { - l->pos += prev_chlen; - } - - refreshLine(l); - } -} - -static void handleEscapeSequence(struct linenoiseState * l, int esc_type) { - switch (esc_type) { - case ESC_NULL: - break; - case ESC_DELETE: - linenoiseEditDelete(l); - break; - case ESC_UP: - linenoiseEditHistoryNext(l, LINENOISE_HISTORY_PREV); - break; - case ESC_DOWN: - linenoiseEditHistoryNext(l, LINENOISE_HISTORY_NEXT); - break; - case ESC_RIGHT: - linenoiseEditMoveRight(l); - break; - case ESC_LEFT: - linenoiseEditMoveLeft(l); - break; - case ESC_HOME: - linenoiseEditMoveHome(l); - break; - case ESC_END: - linenoiseEditMoveEnd(l); - break; - } -} - -static void handleCtrlUKey(struct linenoiseState * l) { - l->buf[0] = '\0'; - l->pos = l->len = 0; - refreshLine(l); -} - -static void handleCtrlKKey(struct linenoiseState * l) { - l->buf[l->pos] = '\0'; - l->len = l->pos; - refreshLine(l); -} - -static const char * processInputCharacter(struct linenoiseState * l, int c, char * cbuf, int nread, int esc_type) { - switch (c) { - case ENTER: - return handleEnterKey(l); - case CTRL_C: - return handleCtrlCKey(); - case BACKSPACE: - case CTRL_H: - linenoiseEditBackspace(l); - break; - case CTRL_D: /* ctrl-d, remove char at right of cursor, or if the - line is empty, act as end-of-file. */ - return handleCtrlDKey(l); - case CTRL_T: - handleCtrlTKey(l); - break; - case CTRL_B: - linenoiseEditMoveLeft(l); - break; - case CTRL_F: - linenoiseEditMoveRight(l); - break; - case CTRL_P: - linenoiseEditHistoryNext(l, LINENOISE_HISTORY_PREV); - break; - case CTRL_N: - linenoiseEditHistoryNext(l, LINENOISE_HISTORY_NEXT); - break; - case ESC: - handleEscapeSequence(l, esc_type); - break; - default: - if (linenoiseEditInsert(l, cbuf, nread)) { - return NULL; - } - break; - case CTRL_U: /* Ctrl+u, delete the whole line. */ - handleCtrlUKey(l); - break; - case CTRL_K: /* Ctrl+k, delete from current to end of line. */ - handleCtrlKKey(l); - break; - case CTRL_A: /* Ctrl+a, go to the start of the line */ - linenoiseEditMoveHome(l); - break; - case CTRL_E: /* ctrl+e, go to the end of the line */ - linenoiseEditMoveEnd(l); - break; - case CTRL_L: /* ctrl+l, clear screen */ - linenoiseClearScreen(); - refreshLine(l); - break; - case CTRL_W: /* ctrl+w, delete previous word */ - linenoiseEditDeletePrevWord(l); - break; - } - return linenoiseEditMore; -} - -/* This function is part of the multiplexed API of linenoise, see the top - * comment on linenoiseEditStart() for more information. Call this function - * each time there is some data to read from the standard input file - * descriptor. In the case of blocking operations, this function can just be - * called in a loop, and block. - * - * The function returns linenoiseEditMore to signal that line editing is still - * in progress, that is, the user didn't yet pressed enter / CTRL-D. Otherwise - * the function returns the pointer to the heap-allocated buffer with the - * edited line, that the user should free with linenoiseFree(). - * - * On special conditions, NULL is returned and errno is populated: - * - * EAGAIN if the user pressed Ctrl-C - * ENOENT if the user pressed Ctrl-D - * - * Some other errno: I/O error. - */ -const char * linenoiseEditFeed(struct linenoiseState * l) { - /* Not a TTY, pass control to line reading without character count - * limits. */ - if (!isatty(l->ifd)) return linenoiseNoTTY(); - - int c; - int nread; - char cbuf[32]; - - nread = readCode(l->ifd, cbuf, sizeof(cbuf), &c); - if (nread <= 0) return NULL; - - auto esc_type = ESC_NULL; - if (c == ESC) { - esc_type = readEscapeSequence(l); - } - - /* Only autocomplete when the callback is set. It returns < 0 when - * there was an error reading from fd. Otherwise it will return the - * character that should be handled next. */ - if ((l->in_completion || c == 9) && completionCallback != NULL) { - c = completeLine(l, c, esc_type); - /* Read next character when 0 */ - if (c == 0) return linenoiseEditMore; - } - - return processInputCharacter(l, c, cbuf, nread, esc_type); -} - -/* This is part of the multiplexed linenoise API. See linenoiseEditStart() - * for more information. This function is called when linenoiseEditFeed() - * returns something different than NULL. At this point the user input - * is in the buffer, and we can restore the terminal in normal mode. */ -void linenoiseEditStop(struct linenoiseState *l) { - if (!isatty(l->ifd)) return; - disableRawMode(l->ifd); - printf("\n"); -} - -/* This just implements a blocking loop for the multiplexed API. - * In many applications that are not event-driven, we can just call - * the blocking linenoise API, wait for the user to complete the editing - * and return the buffer. */ -static const char *linenoiseBlockingEdit(int stdin_fd, int stdout_fd, char *buf, size_t buflen, const char *prompt) -{ - struct linenoiseState l; - - /* Editing without a buffer is invalid. */ - if (buflen == 0) { - errno = EINVAL; - return NULL; - } - - linenoiseEditStart(&l,stdin_fd,stdout_fd,buf,buflen,prompt); - const char *res; - while((res = linenoiseEditFeed(&l)) == linenoiseEditMore); - linenoiseEditStop(&l); - return res; -} - -/* This special mode is used by linenoise in order to print scan codes - * on screen for debugging / development purposes. It is implemented - * by the linenoise_example program using the --keycodes option. */ -void linenoisePrintKeyCodes(void) { - char quit[4]; - - printf("Linenoise key codes debugging mode.\n" - "Press keys to see scan codes. Type 'quit' at any time to exit.\n"); - if (enableRawMode(STDIN_FILENO) == -1) return; - memset(quit,' ',4); - while(1) { - char c; - int nread; - - nread = read(STDIN_FILENO,&c,1); - if (nread <= 0) continue; - memmove(quit,quit+1,sizeof(quit)-1); /* shift string to left. */ - quit[sizeof(quit)-1] = c; /* Insert current char on the right. */ - if (memcmp(quit,"quit",sizeof(quit)) == 0) break; - - printf("'%c' %02x (%d) (type quit to exit)\n", isprint((int) c) ? c : '?', (int) c, (int) c); - printf("\r"); /* Go left edge manually, we are in raw mode. */ - fflush(stdout); - } - disableRawMode(STDIN_FILENO); -} - -/* This function is called when linenoise() is called with the standard - * input file descriptor not attached to a TTY. So for example when the - * program using linenoise is called in pipe or with a file redirected - * to its standard input. In this case, we want to be able to return the - * line regardless of its length (by default we are limited to 4k). */ -static char *linenoiseNoTTY(void) { - char *line = NULL; - size_t len = 0, maxlen = 0; - - while(1) { - if (len == maxlen) { - if (maxlen == 0) maxlen = 16; - maxlen *= 2; - char *oldval = line; - line = (char*) realloc(line,maxlen); - if (line == NULL) { - if (oldval) free(oldval); - return NULL; - } - } - int c = fgetc(stdin); - if (c == EOF || c == '\n') { - if (c == EOF && len == 0) { - free(line); - return NULL; - } else { - line[len] = '\0'; - return line; - } - } else { - line[len] = c; - len++; - } - } -} - -/* The high level function that is the main API of the linenoise library. - * This function checks if the terminal has basic capabilities, just checking - * for a blacklist of stupid terminals, and later either calls the line - * editing function or uses dummy fgets() so that you will be able to type - * something even in the most desperate of the conditions. */ -const char *linenoise(const char *prompt) { - char buf[LINENOISE_MAX_LINE]; - - if (!isatty(STDIN_FILENO)) { - /* Not a tty: read from file / pipe. In this mode we don't want any - * limit to the line size, so we call a function to handle that. */ - return linenoiseNoTTY(); - } else if (isUnsupportedTerm()) { - size_t len; - - printf("%s",prompt); - fflush(stdout); - if (fgets(buf,LINENOISE_MAX_LINE,stdin) == NULL) return NULL; - len = strlen(buf); - while(len && (buf[len-1] == '\n' || buf[len-1] == '\r')) { - len--; - buf[len] = '\0'; - } - return strdup(buf); - } else { - const char *retval = linenoiseBlockingEdit(STDIN_FILENO,STDOUT_FILENO,buf,LINENOISE_MAX_LINE,prompt); - return retval; - } -} - -/* This is just a wrapper the user may want to call in order to make sure - * the linenoise returned buffer is freed with the same allocator it was - * created with. Useful when the main program is using an alternative - * allocator. */ -void linenoiseFree(void *ptr) { - if (ptr == linenoiseEditMore) return; // Protect from API misuse. - free(ptr); -} - -/* ================================ History ================================= */ - -/* Free the history, but does not reset it. Only used when we have to - * exit() to avoid memory leaks are reported by valgrind & co. */ -static void freeHistory(void) { - if (history) { - int j; - - for (j = 0; j < history_len; j++) - free(history[j]); - free(history); - } -} - -/* At exit we'll try to fix the terminal to the initial conditions. */ -static void linenoiseAtExit(void) { - disableRawMode(STDIN_FILENO); - freeHistory(); -} - -/* This is the API call to add a new entry in the linenoise history. - * It uses a fixed array of char pointers that are shifted (memmoved) - * when the history max length is reached in order to remove the older - * entry and make room for the new one, so it is not exactly suitable for huge - * histories, but will work well for a few hundred of entries. - * - * Using a circular buffer is smarter, but a bit more complex to handle. */ -int linenoiseHistoryAdd(const char *line) { - char *linecopy; - - if (history_max_len == 0) return 0; - - /* Initialization on first call. */ - if (history == NULL) { - history = (char**) malloc(sizeof(char*)*history_max_len); - if (history == NULL) return 0; - memset(history,0,(sizeof(char*)*history_max_len)); - } - - /* Don't add duplicated lines. */ - if (history_len && !strcmp(history[history_len-1], line)) return 0; - - /* Add an heap allocated copy of the line in the history. - * If we reached the max length, remove the older line. */ - linecopy = strdup(line); - if (!linecopy) return 0; - if (history_len == history_max_len) { - free(history[0]); - memmove(history,history+1,sizeof(char*)*(history_max_len-1)); - history_len--; - } - history[history_len] = linecopy; - history_len++; - return 1; -} - -/* Set the maximum length for the history. This function can be called even - * if there is already some history, the function will make sure to retain - * just the latest 'len' elements if the new history length value is smaller - * than the amount of items already inside the history. */ -int linenoiseHistorySetMaxLen(int len) { - char **new_ptr; - - if (len < 1) return 0; - if (history) { - int tocopy = history_len; - - new_ptr = (char**) malloc(sizeof(char*)*len); - if (new_ptr == NULL) return 0; - - /* If we can't copy everything, free the elements we'll not use. */ - if (len < tocopy) { - int j; - - for (j = 0; j < tocopy-len; j++) free(history[j]); - tocopy = len; - } - memset(new_ptr,0,sizeof(char*)*len); - memcpy(new_ptr,history+(history_len-tocopy), sizeof(char*)*tocopy); - free(history); - history = new_ptr; - } - history_max_len = len; - if (history_len > history_max_len) - history_len = history_max_len; - return 1; -} - -/* Save the history in the specified file. On success 0 is returned - * otherwise -1 is returned. */ -int linenoiseHistorySave(const char *filename) { - mode_t old_umask = umask(S_IXUSR|S_IRWXG|S_IRWXO); - File file; - file.open(filename, "w"); - umask(old_umask); - if (file.file == NULL) { - return -1; - } - chmod(filename,S_IRUSR|S_IWUSR); - for (int j = 0; j < history_len; ++j) { - fprintf(file.file, "%s\n", history[j]); - } - - return 0; -} - -/* Load the history from the specified file. If the file does not exist - * zero is returned and no operation is performed. - * - * If the file exists and the operation succeeded 0 is returned, otherwise - * on error -1 is returned. */ -int linenoiseHistoryLoad(const char *filename) { - File file; - file.open(filename, "r"); - char buf[LINENOISE_MAX_LINE]; - if (file.file == NULL) { - return -1; - } - - while (fgets(buf, LINENOISE_MAX_LINE, file.file) != NULL) { - char *p; - - p = strchr(buf,'\r'); - if (!p) p = strchr(buf,'\n'); - if (p) *p = '\0'; - linenoiseHistoryAdd(buf); - } - return 0; -} -#endif diff --git a/tools/run/linenoise.cpp/linenoise.h b/tools/run/linenoise.cpp/linenoise.h deleted file mode 100644 index 9823ca36d0..0000000000 --- a/tools/run/linenoise.cpp/linenoise.h +++ /dev/null @@ -1,137 +0,0 @@ -/* linenoise.h -- VERSION 1.0 - * - * Guerrilla line editing library against the idea that a line editing lib - * needs to be 20,000 lines of C++ code. - * - * See linenoise.cpp for more information. - * - * ------------------------------------------------------------------------ - * - * Copyright (c) 2010-2023, Salvatore Sanfilippo - * Copyright (c) 2010-2013, Pieter Noordhuis - * Copyright (c) 2025, Eric Curtin - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __LINENOISE_H -#define __LINENOISE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include /* For size_t. */ -#include - -extern const char * linenoiseEditMore; - -/* The linenoiseState structure represents the state during line editing. - * We pass this state to functions implementing specific editing - * functionalities. */ -struct linenoiseState { - int in_completion; /* The user pressed TAB and we are now in completion - * mode, so input is handled by completeLine(). */ - size_t completion_idx; /* Index of next completion to propose. */ - int ifd; /* Terminal stdin file descriptor. */ - int ofd; /* Terminal stdout file descriptor. */ - char * buf; /* Edited line buffer. */ - size_t buflen; /* Edited line buffer size. */ - const char * prompt; /* Prompt to display. */ - size_t plen; /* Prompt length. */ - size_t pos; /* Current cursor position. */ - size_t oldcolpos; /* Previous refresh cursor column position. */ - size_t len; /* Current edited line length. */ - size_t cols; /* Number of columns in terminal. */ - size_t oldrows; /* Rows used by last refreshed line (multiline mode) */ - int history_index; /* The history index we are currently editing. */ -}; - -struct linenoiseCompletions { - size_t len = 0; - char ** cvec = nullptr; - bool to_free = true; - - ~linenoiseCompletions() { - if (!to_free) { - return; - } - - for (size_t i = 0; i < len; ++i) { - free(cvec[i]); - } - - free(cvec); - } -}; - -/* Non blocking API. */ -int linenoiseEditStart(struct linenoiseState * l, int stdin_fd, int stdout_fd, char * buf, size_t buflen, - const char * prompt); -const char * linenoiseEditFeed(struct linenoiseState * l); -void linenoiseEditStop(struct linenoiseState * l); -void linenoiseHide(struct linenoiseState * l); -void linenoiseShow(struct linenoiseState * l); - -/* Blocking API. */ -const char * linenoise(const char * prompt); -void linenoiseFree(void * ptr); - -/* Completion API. */ -typedef void(linenoiseCompletionCallback)(const char *, linenoiseCompletions *); -typedef const char *(linenoiseHintsCallback) (const char *, int * color, int * bold); -typedef void(linenoiseFreeHintsCallback)(const char *); -void linenoiseSetCompletionCallback(linenoiseCompletionCallback *); -void linenoiseSetHintsCallback(linenoiseHintsCallback *); -void linenoiseSetFreeHintsCallback(linenoiseFreeHintsCallback *); -void linenoiseAddCompletion(linenoiseCompletions *, const char *); - -/* History API. */ -int linenoiseHistoryAdd(const char * line); -int linenoiseHistorySetMaxLen(int len); -int linenoiseHistorySave(const char * filename); -int linenoiseHistoryLoad(const char * filename); - -/* Other utilities. */ -void linenoiseClearScreen(void); -void linenoiseSetMultiLine(int ml); -void linenoisePrintKeyCodes(void); -void linenoiseMaskModeEnable(void); -void linenoiseMaskModeDisable(void); - -/* Encoding functions. */ -typedef size_t(linenoisePrevCharLen)(const char * buf, size_t buf_len, size_t pos, size_t * col_len); -typedef size_t(linenoiseNextCharLen)(const char * buf, size_t buf_len, size_t pos, size_t * col_len); -typedef size_t(linenoiseReadCode)(int fd, char * buf, size_t buf_len, int * c); - -void linenoiseSetEncodingFunctions(linenoisePrevCharLen * prevCharLenFunc, linenoiseNextCharLen * nextCharLenFunc, - linenoiseReadCode * readCodeFunc); - -#ifdef __cplusplus -} -#endif - -#endif /* __LINENOISE_H */ diff --git a/tools/run/run.cpp b/tools/run/run.cpp deleted file mode 100644 index b90a7253c4..0000000000 --- a/tools/run/run.cpp +++ /dev/null @@ -1,1408 +0,0 @@ -#include "chat.h" -#include "common.h" -#include "llama-cpp.h" -#include "log.h" - -#include "linenoise.cpp/linenoise.h" - -#define JSON_ASSERT GGML_ASSERT -#include - -#if defined(_WIN32) -# define WIN32_LEAN_AND_MEAN -# ifndef NOMINMAX -# define NOMINMAX -# endif -# include -# include -#else -# include -# include -# include -#endif - -#if defined(LLAMA_USE_CURL) -# include -#else -# include "http.h" -#endif - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) || defined(_WIN32) -[[noreturn]] static void sigint_handler(int) { - printf("\n" LOG_COL_DEFAULT); - exit(0); // not ideal, but it's the only way to guarantee exit in all cases -} -#endif - -GGML_ATTRIBUTE_FORMAT(1, 2) -static int printe(const char * fmt, ...) { - va_list args; - va_start(args, fmt); - const int ret = vfprintf(stderr, fmt, args); - va_end(args); - - return ret; -} - -static std::string strftime_fmt(const char * fmt, const std::tm & tm) { - std::ostringstream oss; - oss << std::put_time(&tm, fmt); - - return oss.str(); -} - -class Opt { - public: - int init(int argc, const char ** argv) { - ctx_params = llama_context_default_params(); - model_params = llama_model_default_params(); - context_size_default = ctx_params.n_batch; - n_threads_default = ctx_params.n_threads; - ngl_default = model_params.n_gpu_layers; - common_params_sampling sampling; - temperature_default = sampling.temp; - - if (argc < 2) { - printe("Error: No arguments provided.\n"); - print_help(); - return 1; - } - - // Parse arguments - if (parse(argc, argv)) { - printe("Error: Failed to parse arguments.\n"); - print_help(); - return 1; - } - - // If help is requested, show help and exit - if (help) { - print_help(); - return 2; - } - - ctx_params.n_batch = context_size >= 0 ? context_size : context_size_default; - ctx_params.n_ctx = ctx_params.n_batch; - ctx_params.n_threads = ctx_params.n_threads_batch = n_threads >= 0 ? n_threads : n_threads_default; - model_params.n_gpu_layers = ngl >= 0 ? ngl : ngl_default; - temperature = temperature >= 0 ? temperature : temperature_default; - - return 0; // Success - } - - llama_context_params ctx_params; - llama_model_params model_params; - std::string model_; - std::string chat_template_file; - std::string user; - bool use_jinja = false; - int context_size = -1, ngl = -1, n_threads = -1; - float temperature = -1; - bool verbose = false; - - private: - int context_size_default = -1, ngl_default = -1, n_threads_default = -1; - float temperature_default = -1; - bool help = false; - - bool parse_flag(const char ** argv, int i, const char * short_opt, const char * long_opt) { - return strcmp(argv[i], short_opt) == 0 || strcmp(argv[i], long_opt) == 0; - } - - int handle_option_with_value(int argc, const char ** argv, int & i, int & option_value) { - if (i + 1 >= argc) { - return 1; - } - - option_value = std::atoi(argv[++i]); - - return 0; - } - - int handle_option_with_value(int argc, const char ** argv, int & i, float & option_value) { - if (i + 1 >= argc) { - return 1; - } - - option_value = std::atof(argv[++i]); - - return 0; - } - - int handle_option_with_value(int argc, const char ** argv, int & i, std::string & option_value) { - if (i + 1 >= argc) { - return 1; - } - - option_value = argv[++i]; - - return 0; - } - - int parse_options_with_value(int argc, const char ** argv, int & i, bool & options_parsing) { - if (options_parsing && (strcmp(argv[i], "-c") == 0 || strcmp(argv[i], "--context-size") == 0)) { - if (handle_option_with_value(argc, argv, i, context_size) == 1) { - return 1; - } - } else if (options_parsing && - (strcmp(argv[i], "-n") == 0 || strcmp(argv[i], "-ngl") == 0 || strcmp(argv[i], "--ngl") == 0)) { - if (handle_option_with_value(argc, argv, i, ngl) == 1) { - return 1; - } - } else if (options_parsing && (strcmp(argv[i], "-t") == 0 || strcmp(argv[i], "--threads") == 0)) { - if (handle_option_with_value(argc, argv, i, n_threads) == 1) { - return 1; - } - } else if (options_parsing && strcmp(argv[i], "--temp") == 0) { - if (handle_option_with_value(argc, argv, i, temperature) == 1) { - return 1; - } - } else if (options_parsing && strcmp(argv[i], "--chat-template-file") == 0) { - if (handle_option_with_value(argc, argv, i, chat_template_file) == 1) { - return 1; - } - use_jinja = true; - } else { - return 2; - } - - return 0; - } - - int parse_options(const char ** argv, int & i, bool & options_parsing) { - if (options_parsing && (parse_flag(argv, i, "-v", "--verbose") || parse_flag(argv, i, "-v", "--log-verbose"))) { - verbose = true; - } else if (options_parsing && strcmp(argv[i], "--jinja") == 0) { - use_jinja = true; - } else if (options_parsing && parse_flag(argv, i, "-h", "--help")) { - help = true; - return 0; - } else if (options_parsing && strcmp(argv[i], "--") == 0) { - options_parsing = false; - } else { - return 2; - } - - return 0; - } - - int parse_positional_args(const char ** argv, int & i, int & positional_args_i) { - if (positional_args_i == 0) { - if (!argv[i][0] || argv[i][0] == '-') { - return 1; - } - - ++positional_args_i; - model_ = argv[i]; - } else if (positional_args_i == 1) { - ++positional_args_i; - user = argv[i]; - } else { - user += " " + std::string(argv[i]); - } - - return 0; - } - - int parse(int argc, const char ** argv) { - bool options_parsing = true; - for (int i = 1, positional_args_i = 0; i < argc; ++i) { - int ret = parse_options_with_value(argc, argv, i, options_parsing); - if (ret == 0) { - continue; - } else if (ret == 1) { - return ret; - } - - ret = parse_options(argv, i, options_parsing); - if (ret == 0) { - continue; - } else if (ret == 1) { - return ret; - } - - if (parse_positional_args(argv, i, positional_args_i)) { - return 1; - } - } - - if (model_.empty()) { - return 1; - } - - return 0; - } - - void print_help() const { - printf( - "Description:\n" - " Runs a llm\n" - "\n" - "Usage:\n" - " llama-run [options] model [prompt]\n" - "\n" - "Options:\n" - " -c, --context-size \n" - " Context size (default: %d)\n" - " --chat-template-file \n" - " Path to the file containing the chat template to use with the model.\n" - " Only supports jinja templates and implicitly sets the --jinja flag.\n" - " --jinja\n" - " Use jinja templating for the chat template of the model\n" - " -n, -ngl, --ngl \n" - " Number of GPU layers (default: %d)\n" - " --temp \n" - " Temperature (default: %.1f)\n" - " -t, --threads \n" - " Number of threads to use during generation (default: %d)\n" - " -v, --verbose, --log-verbose\n" - " Set verbosity level to infinity (i.e. log all messages, useful for debugging)\n" - " -h, --help\n" - " Show help message\n" - "\n" - "Commands:\n" - " model\n" - " Model is a string with an optional prefix of \n" - " huggingface:// (hf://), modelscope:// (ms://), ollama://, https:// or file://.\n" - " If no protocol is specified and a file exists in the specified\n" - " path, file:// is assumed, otherwise if a file does not exist in\n" - " the specified path, ollama:// is assumed. Models that are being\n" - " pulled are downloaded with .partial extension while being\n" - " downloaded and then renamed as the file without the .partial\n" - " extension when complete.\n" - "\n" - "Examples:\n" - " llama-run llama3\n" - " llama-run ollama://granite-code\n" - " llama-run ollama://smollm:135m\n" - " llama-run hf://QuantFactory/SmolLM-135M-GGUF/SmolLM-135M.Q2_K.gguf\n" - " llama-run " - "huggingface://bartowski/SmolLM-1.7B-Instruct-v0.2-GGUF/SmolLM-1.7B-Instruct-v0.2-IQ3_M.gguf\n" - " llama-run ms://QuantFactory/SmolLM-135M-GGUF/SmolLM-135M.Q2_K.gguf\n" - " llama-run " - "modelscope://bartowski/SmolLM-1.7B-Instruct-v0.2-GGUF/SmolLM-1.7B-Instruct-v0.2-IQ3_M.gguf\n" - " llama-run https://example.com/some-file1.gguf\n" - " llama-run some-file2.gguf\n" - " llama-run file://some-file3.gguf\n" - " llama-run --ngl 999 some-file4.gguf\n" - " llama-run --ngl 999 some-file5.gguf Hello World\n", - context_size_default, ngl_default, temperature_default, n_threads_default); - } -}; - -struct progress_data { - size_t file_size = 0; - std::chrono::steady_clock::time_point start_time = std::chrono::steady_clock::now(); - bool printed = false; -}; - -static int get_terminal_width() { -#if defined(_WIN32) - CONSOLE_SCREEN_BUFFER_INFO csbi; - GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); - return csbi.srWindow.Right - csbi.srWindow.Left + 1; -#else - struct winsize w; - ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); - return w.ws_col; -#endif -} - -class File { - public: - FILE * file = nullptr; - - FILE * open(const std::string & filename, const char * mode) { - file = ggml_fopen(filename.c_str(), mode); - - return file; - } - - int lock() { - if (file) { -# ifdef _WIN32 - fd = _fileno(file); - hFile = (HANDLE) _get_osfhandle(fd); - if (hFile == INVALID_HANDLE_VALUE) { - fd = -1; - - return 1; - } - - OVERLAPPED overlapped = {}; - if (!LockFileEx(hFile, LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY, 0, MAXDWORD, MAXDWORD, - &overlapped)) { - fd = -1; - - return 1; - } -# else - fd = fileno(file); - if (flock(fd, LOCK_EX | LOCK_NB) != 0) { - fd = -1; - - return 1; - } -# endif - } - - return 0; - } - - std::string to_string() { - fseek(file, 0, SEEK_END); - const size_t size = ftell(file); - fseek(file, 0, SEEK_SET); - std::string out; - out.resize(size); - const size_t read_size = fread(&out[0], 1, size, file); - if (read_size != size) { - printe("Error reading file: %s", strerror(errno)); - } - - return out; - } - - ~File() { - if (fd >= 0) { -# ifdef _WIN32 - if (hFile != INVALID_HANDLE_VALUE) { - OVERLAPPED overlapped = {}; - UnlockFileEx(hFile, 0, MAXDWORD, MAXDWORD, &overlapped); - } -# else - flock(fd, LOCK_UN); -# endif - } - - if (file) { - fclose(file); - } - } - - private: - int fd = -1; -# ifdef _WIN32 - HANDLE hFile = nullptr; -# endif -}; - -class HttpClient { - public: - int init(const std::string & url, const std::vector & headers, const std::string & output_file, - const bool progress, std::string * response_str = nullptr) { - if (std::filesystem::exists(output_file)) { - return 0; - } - - std::string output_file_partial; - - if (!output_file.empty()) { - output_file_partial = output_file + ".partial"; - } - - if (download(url, headers, output_file_partial, progress, response_str)) { - return 1; - } - - if (!output_file.empty()) { - try { - std::filesystem::rename(output_file_partial, output_file); - } catch (const std::filesystem::filesystem_error & e) { - printe("Failed to rename '%s' to '%s': %s\n", output_file_partial.c_str(), output_file.c_str(), e.what()); - return 1; - } - } - - return 0; - } - -#ifdef LLAMA_USE_CURL - - ~HttpClient() { - if (chunk) { - curl_slist_free_all(chunk); - } - - if (curl) { - curl_easy_cleanup(curl); - } - } - - private: - CURL * curl = nullptr; - struct curl_slist * chunk = nullptr; - - int download(const std::string & url, const std::vector & headers, const std::string & output_file, - const bool progress, std::string * response_str = nullptr) { - curl = curl_easy_init(); - if (!curl) { - return 1; - } - - progress_data data; - File out; - if (!output_file.empty()) { - if (!out.open(output_file, "ab")) { - printe("Failed to open file for writing\n"); - - return 1; - } - - if (out.lock()) { - printe("Failed to exclusively lock file\n"); - - return 1; - } - } - - set_write_options(response_str, out); - data.file_size = set_resume_point(output_file); - set_progress_options(progress, data); - set_headers(headers); - CURLcode res = perform(url); - if (res != CURLE_OK){ - printe("Fetching resource '%s' failed: %s\n", url.c_str(), curl_easy_strerror(res)); - return 1; - } - - return 0; - } - - void set_write_options(std::string * response_str, const File & out) { - if (response_str) { - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, capture_data); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, response_str); - } else { - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, out.file); - } - } - - size_t set_resume_point(const std::string & output_file) { - size_t file_size = 0; - if (std::filesystem::exists(output_file)) { - file_size = std::filesystem::file_size(output_file); - curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, static_cast(file_size)); - } - - return file_size; - } - - void set_progress_options(bool progress, progress_data & data) { - if (progress) { - curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); - curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &data); - curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, update_progress); - } - } - - void set_headers(const std::vector & headers) { - if (!headers.empty()) { - if (chunk) { - curl_slist_free_all(chunk); - chunk = 0; - } - - for (const auto & header : headers) { - chunk = curl_slist_append(chunk, header.c_str()); - } - - curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); - } - } - - CURLcode perform(const std::string & url) { - curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); - curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); - curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); - curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L); -#ifdef _WIN32 - curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); -#endif - return curl_easy_perform(curl); - } - -#else // LLAMA_USE_CURL is not defined - -#define curl_off_t long long // temporary hack - - private: - // this is a direct translation of the cURL download() above - int download(const std::string & url, const std::vector & headers_vec, const std::string & output_file, - const bool progress, std::string * response_str = nullptr) { - try { - auto [cli, url_parts] = common_http_client(url); - - httplib::Headers headers; - for (const auto & h : headers_vec) { - size_t pos = h.find(':'); - if (pos != std::string::npos) { - headers.emplace(h.substr(0, pos), h.substr(pos + 2)); - } - } - - File out; - if (!output_file.empty()) { - if (!out.open(output_file, "ab")) { - printe("Failed to open file for writing\n"); - return 1; - } - if (out.lock()) { - printe("Failed to exclusively lock file\n"); - return 1; - } - } - - size_t resume_offset = 0; - if (!output_file.empty() && std::filesystem::exists(output_file)) { - resume_offset = std::filesystem::file_size(output_file); - if (resume_offset > 0) { - headers.emplace("Range", "bytes=" + std::to_string(resume_offset) + "-"); - } - } - - progress_data data; - data.file_size = resume_offset; - - long long total_size = 0; - long long received_this_session = 0; - - auto response_handler = - [&](const httplib::Response & response) { - if (resume_offset > 0 && response.status != 206) { - printe("\nServer does not support resuming. Restarting download.\n"); - out.file = freopen(output_file.c_str(), "wb", out.file); - if (!out.file) { - return false; - } - data.file_size = 0; - } - if (progress) { - if (response.has_header("Content-Length")) { - total_size = std::stoll(response.get_header_value("Content-Length")); - } else if (response.has_header("Content-Range")) { - auto range = response.get_header_value("Content-Range"); - auto slash = range.find('/'); - if (slash != std::string::npos) { - total_size = std::stoll(range.substr(slash + 1)); - } - } - } - return true; - }; - - auto content_receiver = - [&](const char * chunk, size_t length) { - if (out.file && fwrite(chunk, 1, length, out.file) != length) { - return false; - } - if (response_str) { - response_str->append(chunk, length); - } - received_this_session += length; - - if (progress && total_size > 0) { - update_progress(&data, total_size, received_this_session, 0, 0); - } - return true; - }; - - auto res = cli.Get(url_parts.path, headers, response_handler, content_receiver); - - if (data.printed) { - printe("\n"); - } - - if (!res) { - auto err = res.error(); - printe("Fetching resource '%s' failed: %s\n", url.c_str(), httplib::to_string(err).c_str()); - return 1; - } - - if (res->status >= 400) { - printe("Fetching resource '%s' failed with status code: %d\n", url.c_str(), res->status); - return 1; - } - - } catch (const std::exception & e) { - printe("HTTP request failed: %s\n", e.what()); - return 1; - } - return 0; - } - -#endif // LLAMA_USE_CURL - - static std::string human_readable_time(double seconds) { - int hrs = static_cast(seconds) / 3600; - int mins = (static_cast(seconds) % 3600) / 60; - int secs = static_cast(seconds) % 60; - - if (hrs > 0) { - return string_format("%dh %02dm %02ds", hrs, mins, secs); - } else if (mins > 0) { - return string_format("%dm %02ds", mins, secs); - } else { - return string_format("%ds", secs); - } - } - - static std::string human_readable_size(curl_off_t size) { - static const char * suffix[] = { "B", "KB", "MB", "GB", "TB" }; - char length = sizeof(suffix) / sizeof(suffix[0]); - int i = 0; - double dbl_size = size; - if (size > 1024) { - for (i = 0; (size / 1024) > 0 && i < length - 1; i++, size /= 1024) { - dbl_size = size / 1024.0; - } - } - - return string_format("%.2f %s", dbl_size, suffix[i]); - } - - static int update_progress(void * ptr, curl_off_t total_to_download, curl_off_t now_downloaded, curl_off_t, - curl_off_t) { - progress_data * data = static_cast(ptr); - if (total_to_download <= 0) { - return 0; - } - - total_to_download += data->file_size; - const curl_off_t now_downloaded_plus_file_size = now_downloaded + data->file_size; - const curl_off_t percentage = calculate_percentage(now_downloaded_plus_file_size, total_to_download); - std::string progress_prefix = generate_progress_prefix(percentage); - - const double speed = calculate_speed(now_downloaded, data->start_time); - const double tim = (total_to_download - now_downloaded) / speed; - std::string progress_suffix = - generate_progress_suffix(now_downloaded_plus_file_size, total_to_download, speed, tim); - - int progress_bar_width = calculate_progress_bar_width(progress_prefix, progress_suffix); - std::string progress_bar; - generate_progress_bar(progress_bar_width, percentage, progress_bar); - - print_progress(progress_prefix, progress_bar, progress_suffix); - data->printed = true; - - return 0; - } - - static curl_off_t calculate_percentage(curl_off_t now_downloaded_plus_file_size, curl_off_t total_to_download) { - return (now_downloaded_plus_file_size * 100) / total_to_download; - } - - static std::string generate_progress_prefix(curl_off_t percentage) { - return string_format("%3ld%% |", static_cast(percentage)); - } - - static double calculate_speed(curl_off_t now_downloaded, const std::chrono::steady_clock::time_point & start_time) { - const auto now = std::chrono::steady_clock::now(); - const std::chrono::duration elapsed_seconds = now - start_time; - return now_downloaded / elapsed_seconds.count(); - } - - static std::string generate_progress_suffix(curl_off_t now_downloaded_plus_file_size, curl_off_t total_to_download, - double speed, double estimated_time) { - const int width = 10; - return string_format("%*s/%*s%*s/s%*s", width, human_readable_size(now_downloaded_plus_file_size).c_str(), - width, human_readable_size(total_to_download).c_str(), width, - human_readable_size(speed).c_str(), width, human_readable_time(estimated_time).c_str()); - } - - static int calculate_progress_bar_width(const std::string & progress_prefix, const std::string & progress_suffix) { - int progress_bar_width = get_terminal_width() - progress_prefix.size() - progress_suffix.size() - 3; - if (progress_bar_width < 1) { - progress_bar_width = 1; - } - - return progress_bar_width; - } - - static std::string generate_progress_bar(int progress_bar_width, curl_off_t percentage, - std::string & progress_bar) { - const curl_off_t pos = (percentage * progress_bar_width) / 100; - for (int i = 0; i < progress_bar_width; ++i) { - progress_bar.append((i < pos) ? "█" : " "); - } - - return progress_bar; - } - - static void print_progress(const std::string & progress_prefix, const std::string & progress_bar, - const std::string & progress_suffix) { - printe("\r" LOG_CLR_TO_EOL "%s%s| %s", progress_prefix.c_str(), progress_bar.c_str(), progress_suffix.c_str()); - } - // Function to write data to a file - static size_t write_data(void * ptr, size_t size, size_t nmemb, void * stream) { - FILE * out = static_cast(stream); - return fwrite(ptr, size, nmemb, out); - } - - // Function to capture data into a string - static size_t capture_data(void * ptr, size_t size, size_t nmemb, void * stream) { - std::string * str = static_cast(stream); - str->append(static_cast(ptr), size * nmemb); - return size * nmemb; - } - -}; - -class LlamaData { - public: - llama_model_ptr model; - llama_sampler_ptr sampler; - llama_context_ptr context; - std::vector messages; // TODO: switch to common_chat_msg - std::list msg_strs; - std::vector fmtted; - - int init(Opt & opt) { - model = initialize_model(opt); - if (!model) { - return 1; - } - - context = initialize_context(model, opt); - if (!context) { - return 1; - } - - sampler = initialize_sampler(opt); - - return 0; - } - - private: - int download(const std::string & url, const std::string & output_file, const bool progress, - const std::vector & headers = {}, std::string * response_str = nullptr) { - HttpClient http; - if (http.init(url, headers, output_file, progress, response_str)) { - return 1; - } - - return 0; - } - - // Helper function to handle model tag extraction and URL construction - std::pair extract_model_and_tag(std::string & model, const std::string & base_url) { - std::string model_tag = "latest"; - const size_t colon_pos = model.find(':'); - if (colon_pos != std::string::npos) { - model_tag = model.substr(colon_pos + 1); - model = model.substr(0, colon_pos); - } - - std::string url = base_url + model + "/manifests/" + model_tag; - - return { model, url }; - } - - // Helper function to download and parse the manifest - int download_and_parse_manifest(const std::string & url, const std::vector & headers, - nlohmann::json & manifest) { - std::string manifest_str; - int ret = download(url, "", false, headers, &manifest_str); - if (ret) { - return ret; - } - - manifest = nlohmann::json::parse(manifest_str); - - return 0; - } - - int dl_from_endpoint(std::string & model_endpoint, std::string & model, const std::string & bn) { - // Find the second occurrence of '/' after protocol string - size_t pos = model.find('/'); - pos = model.find('/', pos + 1); - std::string hfr, hff; - std::vector headers = { "User-Agent: llama-cpp", "Accept: application/json" }; - std::string url; - - if (pos == std::string::npos) { - auto [model_name, manifest_url] = extract_model_and_tag(model, model_endpoint + "v2/"); - hfr = model_name; - - nlohmann::json manifest; - int ret = download_and_parse_manifest(manifest_url, headers, manifest); - if (ret) { - return ret; - } - - hff = manifest["ggufFile"]["rfilename"]; - } else { - hfr = model.substr(0, pos); - hff = model.substr(pos + 1); - } - - url = model_endpoint + hfr + "/resolve/main/" + hff; - - return download(url, bn, true, headers); - } - - int modelscope_dl(std::string & model, const std::string & bn) { - std::string model_endpoint = "https://modelscope.cn/models/"; - return dl_from_endpoint(model_endpoint, model, bn); - } - - int huggingface_dl(std::string & model, const std::string & bn) { - std::string model_endpoint = get_model_endpoint(); - return dl_from_endpoint(model_endpoint, model, bn); - } - - int ollama_dl(std::string & model, const std::string & bn) { - const std::vector headers = { "Accept: application/vnd.docker.distribution.manifest.v2+json" }; - if (model.find('/') == std::string::npos) { - model = "library/" + model; - } - - auto [model_name, manifest_url] = extract_model_and_tag(model, "https://registry.ollama.ai/v2/"); - nlohmann::json manifest; - int ret = download_and_parse_manifest(manifest_url, {}, manifest); - if (ret) { - return ret; - } - - std::string layer; - for (const auto & l : manifest["layers"]) { - if (l["mediaType"] == "application/vnd.ollama.image.model") { - layer = l["digest"]; - break; - } - } - - std::string blob_url = "https://registry.ollama.ai/v2/" + model_name + "/blobs/" + layer; - - return download(blob_url, bn, true, headers); - } - - int github_dl(const std::string & model, const std::string & bn) { - std::string repository = model; - std::string branch = "main"; - const size_t at_pos = model.find('@'); - if (at_pos != std::string::npos) { - repository = model.substr(0, at_pos); - branch = model.substr(at_pos + 1); - } - - const std::vector repo_parts = string_split(repository, "/"); - if (repo_parts.size() < 3) { - printe("Invalid GitHub repository format\n"); - return 1; - } - - const std::string & org = repo_parts[0]; - const std::string & project = repo_parts[1]; - std::string url = "https://raw.githubusercontent.com/" + org + "/" + project + "/" + branch; - for (size_t i = 2; i < repo_parts.size(); ++i) { - url += "/" + repo_parts[i]; - } - - return download(url, bn, true); - } - - int s3_dl(const std::string & model, const std::string & bn) { - const size_t slash_pos = model.find('/'); - if (slash_pos == std::string::npos) { - return 1; - } - - const std::string bucket = model.substr(0, slash_pos); - const std::string key = model.substr(slash_pos + 1); - const char * access_key = std::getenv("AWS_ACCESS_KEY_ID"); - const char * secret_key = std::getenv("AWS_SECRET_ACCESS_KEY"); - if (!access_key || !secret_key) { - printe("AWS credentials not found in environment\n"); - return 1; - } - - // Generate AWS Signature Version 4 headers - // (Implementation requires HMAC-SHA256 and date handling) - // Get current timestamp - const time_t now = time(nullptr); - const tm tm = *gmtime(&now); - const std::string date = strftime_fmt("%Y%m%d", tm); - const std::string datetime = strftime_fmt("%Y%m%dT%H%M%SZ", tm); - const std::vector headers = { - "Authorization: AWS4-HMAC-SHA256 Credential=" + std::string(access_key) + "/" + date + - "/us-east-1/s3/aws4_request", - "x-amz-content-sha256: UNSIGNED-PAYLOAD", "x-amz-date: " + datetime - }; - - const std::string url = "https://" + bucket + ".s3.amazonaws.com/" + key; - - return download(url, bn, true, headers); - } - - std::string basename(const std::string & path) { - const size_t pos = path.find_last_of("/\\"); - if (pos == std::string::npos) { - return path; - } - - return path.substr(pos + 1); - } - - int rm_until_substring(std::string & model_, const std::string & substring) { - const std::string::size_type pos = model_.find(substring); - if (pos == std::string::npos) { - return 1; - } - - model_ = model_.substr(pos + substring.size()); // Skip past the substring - return 0; - } - - int resolve_model(std::string & model_) { - int ret = 0; - if (string_starts_with(model_, "file://") || std::filesystem::exists(model_)) { - rm_until_substring(model_, "://"); - - return ret; - } - - const std::string bn = basename(model_); - if (string_starts_with(model_, "hf://") || string_starts_with(model_, "huggingface://") || - string_starts_with(model_, "hf.co/")) { - rm_until_substring(model_, "hf.co/"); - rm_until_substring(model_, "://"); - ret = huggingface_dl(model_, bn); - } else if (string_starts_with(model_, "ms://") || string_starts_with(model_, "modelscope://")) { - rm_until_substring(model_, "://"); - ret = modelscope_dl(model_, bn); - } else if ((string_starts_with(model_, "https://") || string_starts_with(model_, "http://")) && - !string_starts_with(model_, "https://ollama.com/library/")) { - ret = download(model_, bn, true); - } else if (string_starts_with(model_, "github:") || string_starts_with(model_, "github://")) { - rm_until_substring(model_, "github:"); - rm_until_substring(model_, "://"); - ret = github_dl(model_, bn); - } else if (string_starts_with(model_, "s3://")) { - rm_until_substring(model_, "://"); - ret = s3_dl(model_, bn); - } else { // ollama:// or nothing - rm_until_substring(model_, "ollama.com/library/"); - rm_until_substring(model_, "://"); - ret = ollama_dl(model_, bn); - } - - model_ = bn; - - return ret; - } - - // Initializes the model and returns a unique pointer to it - llama_model_ptr initialize_model(Opt & opt) { - ggml_backend_load_all(); - resolve_model(opt.model_); - printe("\r" LOG_CLR_TO_EOL "Loading model"); - llama_model_ptr model(llama_model_load_from_file(opt.model_.c_str(), opt.model_params)); - if (!model) { - printe("%s: error: unable to load model from file: %s\n", __func__, opt.model_.c_str()); - } - - printe("\r" LOG_CLR_TO_EOL); - return model; - } - - // Initializes the context with the specified parameters - llama_context_ptr initialize_context(const llama_model_ptr & model, const Opt & opt) { - llama_context_ptr context(llama_init_from_model(model.get(), opt.ctx_params)); - if (!context) { - printe("%s: error: failed to create the llama_context\n", __func__); - } - - return context; - } - - // Initializes and configures the sampler - llama_sampler_ptr initialize_sampler(const Opt & opt) { - llama_sampler_ptr sampler(llama_sampler_chain_init(llama_sampler_chain_default_params())); - llama_sampler_chain_add(sampler.get(), llama_sampler_init_min_p(0.05f, 1)); - llama_sampler_chain_add(sampler.get(), llama_sampler_init_temp(opt.temperature)); - llama_sampler_chain_add(sampler.get(), llama_sampler_init_dist(LLAMA_DEFAULT_SEED)); - - return sampler; - } -}; - -// Add a message to `messages` and store its content in `msg_strs` -static void add_message(const char * role, const std::string & text, LlamaData & llama_data) { - llama_data.msg_strs.push_back(std::move(text)); - llama_data.messages.push_back({ role, llama_data.msg_strs.back().c_str() }); -} - -// Function to apply the chat template and resize `formatted` if needed -static int apply_chat_template(const struct common_chat_templates * tmpls, LlamaData & llama_data, const bool append, bool use_jinja) { - common_chat_templates_inputs inputs; - for (const auto & msg : llama_data.messages) { - common_chat_msg cmsg; - cmsg.role = msg.role; - cmsg.content = msg.content; - inputs.messages.push_back(cmsg); - } - inputs.add_generation_prompt = append; - inputs.use_jinja = use_jinja; - - auto chat_params = common_chat_templates_apply(tmpls, inputs); - // TODO: use other params for tool calls. - auto result = chat_params.prompt; - llama_data.fmtted.resize(result.size() + 1); - memcpy(llama_data.fmtted.data(), result.c_str(), result.size() + 1); - return result.size(); -} - -// Function to tokenize the prompt -static int tokenize_prompt(const llama_vocab * vocab, const std::string & prompt, - std::vector & prompt_tokens, const LlamaData & llama_data) { - const bool is_first = llama_memory_seq_pos_max(llama_get_memory(llama_data.context.get()), 0) == -1; - int n_tokens = prompt.size() + 2 * is_first; - prompt_tokens.resize(n_tokens); - n_tokens = llama_tokenize(vocab, prompt.c_str(), prompt.size(), - prompt_tokens.data(), prompt_tokens.size(), - is_first, /*parse_special =*/true); - if (n_tokens == std::numeric_limits::min()) { - printe("tokenization failed: input too large\n"); - return -1; - } - if (n_tokens < 0) { - prompt_tokens.resize(-n_tokens); - int check = llama_tokenize(vocab, prompt.c_str(), prompt.size(), - prompt_tokens.data(), prompt_tokens.size(), - is_first, /*parse_special =*/true); - if (check != -n_tokens) { - printe("failed to tokenize the prompt (size mismatch)\n"); - return -1; - } - n_tokens = check; - } else { - prompt_tokens.resize(n_tokens); - } - return n_tokens; -} - -// Check if we have enough space in the context to evaluate this batch -static int check_context_size(const llama_context_ptr & ctx, const llama_batch & batch) { - const int n_ctx = llama_n_ctx(ctx.get()); - const int n_ctx_used = llama_memory_seq_pos_max(llama_get_memory(ctx.get()), 0); - if (n_ctx_used + batch.n_tokens > n_ctx) { - printf(LOG_COL_DEFAULT "\n"); - printe("context size exceeded\n"); - return 1; - } - - return 0; -} - -// convert the token to a string -static int convert_token_to_string(const llama_vocab * vocab, const llama_token token_id, std::string & piece) { - char buf[256]; - int n = llama_token_to_piece(vocab, token_id, buf, sizeof(buf), 0, true); - if (n < 0) { - printe("failed to convert token to piece\n"); - return 1; - } - - piece = std::string(buf, n); - return 0; -} - -static void print_word_and_concatenate_to_response(const std::string & piece, std::string & response) { - printf("%s", piece.c_str()); - fflush(stdout); - response += piece; -} - -// helper function to evaluate a prompt and generate a response -static int generate(LlamaData & llama_data, const std::string & prompt, std::string & response) { - const llama_vocab * vocab = llama_model_get_vocab(llama_data.model.get()); - - std::vector tokens; - if (tokenize_prompt(vocab, prompt, tokens, llama_data) < 0) { - return 1; - } - - // prepare a batch for the prompt - llama_batch batch = llama_batch_get_one(tokens.data(), tokens.size()); - llama_token new_token_id; - while (true) { - check_context_size(llama_data.context, batch); - if (llama_decode(llama_data.context.get(), batch)) { - printe("failed to decode\n"); - return 1; - } - - // sample the next token, check is it an end of generation? - new_token_id = llama_sampler_sample(llama_data.sampler.get(), llama_data.context.get(), -1); - if (llama_vocab_is_eog(vocab, new_token_id)) { - break; - } - - std::string piece; - if (convert_token_to_string(vocab, new_token_id, piece)) { - return 1; - } - - print_word_and_concatenate_to_response(piece, response); - - // prepare the next batch with the sampled token - batch = llama_batch_get_one(&new_token_id, 1); - } - - printf(LOG_COL_DEFAULT); - return 0; -} - -static int read_user_input(std::string & user_input) { - static const char * prompt_prefix_env = std::getenv("LLAMA_PROMPT_PREFIX"); - static const char * prompt_prefix = prompt_prefix_env ? prompt_prefix_env : "> "; -#ifdef WIN32 - printf("\r" LOG_CLR_TO_EOL LOG_COL_DEFAULT "%s", prompt_prefix); - - std::getline(std::cin, user_input); - if (std::cin.eof()) { - printf("\n"); - return 1; - } -#else - std::unique_ptr line(const_cast(linenoise(prompt_prefix)), free); - if (!line) { - return 1; - } - - user_input = line.get(); -#endif - - if (user_input == "/bye") { - return 1; - } - - if (user_input.empty()) { - return 2; - } - -#ifndef WIN32 - linenoiseHistoryAdd(line.get()); -#endif - - return 0; // Should have data in happy path -} - -// Function to generate a response based on the prompt -static int generate_response(LlamaData & llama_data, const std::string & prompt, std::string & response, - const bool stdout_a_terminal) { - // Set response color - if (stdout_a_terminal) { - printf(LOG_COL_YELLOW); - } - - if (generate(llama_data, prompt, response)) { - printe("failed to generate response\n"); - return 1; - } - - // End response with color reset and newline - printf("\n%s", stdout_a_terminal ? LOG_COL_DEFAULT : ""); - return 0; -} - -// Helper function to apply the chat template and handle errors -static int apply_chat_template_with_error_handling(const common_chat_templates * tmpls, LlamaData & llama_data, const bool append, int & output_length, bool use_jinja) { - const int new_len = apply_chat_template(tmpls, llama_data, append, use_jinja); - if (new_len < 0) { - printe("failed to apply the chat template\n"); - return -1; - } - - output_length = new_len; - return 0; -} - -// Helper function to handle user input -static int handle_user_input(std::string & user_input, const std::string & user) { - if (!user.empty()) { - user_input = user; - return 0; // No need for interactive input - } - - return read_user_input(user_input); // Returns true if input ends the loop -} - -static bool is_stdin_a_terminal() { -#if defined(_WIN32) - HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE); - DWORD mode; - return GetConsoleMode(hStdin, &mode); -#else - return isatty(STDIN_FILENO); -#endif -} - -static bool is_stdout_a_terminal() { -#if defined(_WIN32) - HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); - DWORD mode; - return GetConsoleMode(hStdout, &mode); -#else - return isatty(STDOUT_FILENO); -#endif -} - -// Function to handle user input -static int get_user_input(std::string & user_input, const std::string & user) { - while (true) { - const int ret = handle_user_input(user_input, user); - if (ret == 1) { - return 1; - } - - if (ret == 2) { - continue; - } - - break; - } - - return 0; -} - -// Reads a chat template file to be used -static std::string read_chat_template_file(const std::string & chat_template_file) { - File file; - if (!file.open(chat_template_file, "r")) { - printe("Error opening chat template file '%s': %s", chat_template_file.c_str(), strerror(errno)); - return ""; - } - - return file.to_string(); -} - -static int process_user_message(const Opt & opt, const std::string & user_input, LlamaData & llama_data, - const common_chat_templates_ptr & chat_templates, int & prev_len, - const bool stdout_a_terminal) { - add_message("user", opt.user.empty() ? user_input : opt.user, llama_data); - int new_len; - if (apply_chat_template_with_error_handling(chat_templates.get(), llama_data, true, new_len, opt.use_jinja) < 0) { - return 1; - } - - std::string prompt(llama_data.fmtted.begin() + prev_len, llama_data.fmtted.begin() + new_len); - std::string response; - if (generate_response(llama_data, prompt, response, stdout_a_terminal)) { - return 1; - } - - if (!opt.user.empty()) { - return 2; - } - - add_message("assistant", response, llama_data); - if (apply_chat_template_with_error_handling(chat_templates.get(), llama_data, false, prev_len, opt.use_jinja) < 0) { - return 1; - } - - return 0; -} - -// Main chat loop function -static int chat_loop(LlamaData & llama_data, const Opt & opt) { - int prev_len = 0; - llama_data.fmtted.resize(llama_n_ctx(llama_data.context.get())); - std::string chat_template; - if (!opt.chat_template_file.empty()) { - chat_template = read_chat_template_file(opt.chat_template_file); - } - - common_chat_templates_ptr chat_templates = common_chat_templates_init(llama_data.model.get(), chat_template); - static const bool stdout_a_terminal = is_stdout_a_terminal(); - while (true) { - // Get user input - std::string user_input; - if (get_user_input(user_input, opt.user) == 1) { - return 0; - } - - const int ret = process_user_message(opt, user_input, llama_data, chat_templates, prev_len, stdout_a_terminal); - if (ret == 1) { - return 1; - } else if (ret == 2) { - break; - } - } - - return 0; -} - -static void log_callback(const enum ggml_log_level level, const char * text, void * p) { - const Opt * opt = static_cast(p); - if (opt->verbose || level == GGML_LOG_LEVEL_ERROR) { - printe("%s", text); - } -} - -static std::string read_pipe_data() { - std::ostringstream result; - result << std::cin.rdbuf(); // Read all data from std::cin - return result.str(); -} - -static void ctrl_c_handling() { -#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) - struct sigaction sigint_action; - sigint_action.sa_handler = sigint_handler; - sigemptyset(&sigint_action.sa_mask); - sigint_action.sa_flags = 0; - sigaction(SIGINT, &sigint_action, NULL); -#elif defined(_WIN32) - auto console_ctrl_handler = +[](DWORD ctrl_type) -> BOOL { - return (ctrl_type == CTRL_C_EVENT) ? (sigint_handler(SIGINT), true) : false; - }; - SetConsoleCtrlHandler(reinterpret_cast(console_ctrl_handler), true); -#endif -} - -int main(int argc, const char ** argv) { - ctrl_c_handling(); - Opt opt; - const int ret = opt.init(argc, argv); - if (ret == 2) { - return 0; - } else if (ret) { - return 1; - } - - if (!is_stdin_a_terminal()) { - if (!opt.user.empty()) { - opt.user += "\n\n"; - } - - opt.user += read_pipe_data(); - } - - llama_log_set(log_callback, &opt); - LlamaData llama_data; - if (llama_data.init(opt)) { - return 1; - } - - if (chat_loop(llama_data, opt)) { - return 1; - } - - return 0; -} From ae9f8df77882716b1702df2bed8919499e64cc28 Mon Sep 17 00:00:00 2001 From: R Date: Wed, 7 Jan 2026 16:57:42 +0100 Subject: [PATCH 002/100] fix(docker): add missing libglvnd libraries to Vulkan image (#18664) Add libglvnd0, libgl1, libglx0, libegl1, libgles2 to the Vulkan Dockerfile base image. These libraries are required by mesa-vulkan-drivers to properly initialize the Vulkan ICD and detect GPU devices. Without these libraries, vkEnumeratePhysicalDevices() returns an empty list, resulting in "ggml_vulkan: No devices found." error. Fixes #17761 --- .devops/vulkan.Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/.devops/vulkan.Dockerfile b/.devops/vulkan.Dockerfile index b37b4f277d..89831ed5c2 100644 --- a/.devops/vulkan.Dockerfile +++ b/.devops/vulkan.Dockerfile @@ -33,6 +33,7 @@ FROM ubuntu:$UBUNTU_VERSION AS base RUN apt-get update \ && apt-get install -y libgomp1 curl libvulkan1 mesa-vulkan-drivers \ + libglvnd0 libgl1 libglx0 libegl1 libgles2 \ && apt autoremove -y \ && apt clean -y \ && rm -rf /tmp/* /var/tmp/* \ From f5245b5e4eff4f0d5624dca39b0bd612da7111ff Mon Sep 17 00:00:00 2001 From: Oliver Walsh Date: Wed, 7 Jan 2026 21:32:44 +0000 Subject: [PATCH 003/100] cuda : fix build on cuda 12.8 (#18672) compute121 requires 12.9 Signed-off-by: Oliver Walsh --- ggml/src/ggml-cuda/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ggml/src/ggml-cuda/CMakeLists.txt b/ggml/src/ggml-cuda/CMakeLists.txt index dcc004134d..d313c1ac9a 100644 --- a/ggml/src/ggml-cuda/CMakeLists.txt +++ b/ggml/src/ggml-cuda/CMakeLists.txt @@ -47,7 +47,10 @@ if (CUDAToolkit_FOUND) # check Modules/Internal/CMakeCUDAArchitecturesValidate.cmake in the CMake git repository instead. # However, the architectures 120a-real and 121a-real should work with basically any CMake version and # until the release of e.g. Rubin there is no benefit to shipping virtual architectures for Blackwell. - list(APPEND CMAKE_CUDA_ARCHITECTURES 120a-real 121a-real) + list(APPEND CMAKE_CUDA_ARCHITECTURES 120a-real) + endif() + if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.9") + list(APPEND CMAKE_CUDA_ARCHITECTURES 121a-real) endif() endif() endif() From 7e16fef085e8727d534b21a148aa70ebe94f23a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 7 Jan 2026 22:34:51 +0100 Subject: [PATCH 004/100] convert : more variants of rope_theta config entries (#18668) --- convert_hf_to_gguf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 0a8bac0e2d..386e2a7e52 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -771,8 +771,8 @@ class TextModel(ModelBase): self.rope_parameters = self.hparams.get("rope_parameters", self.hparams.get("rope_scaling")) or {} - rope_theta = self.find_hparam(["rope_theta", "global_rope_theta", "rotary_emb_base"], optional=True) - local_rope_theta = self.find_hparam(["local_rope_theta", "rope_local_theta", "swa_rope_theta", "rope_local_base_freq"], optional=True) + rope_theta = self.find_hparam(["global_rope_theta", "rope_global_theta", "rope_theta_global", "rope_theta", "rotary_emb_base"], optional=True) + local_rope_theta = self.find_hparam(["local_rope_theta", "rope_local_theta", "rope_theta_local", "swa_rope_theta", "rope_local_base_freq"], optional=True) # Ensure "rope_theta" and "rope_type" is mirrored in rope_parameters if "full_attention" not in self.rope_parameters and "sliding_attention" not in self.rope_parameters: From 5b8844ae531d8ff09c1c00a2022293d5b674c787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 7 Jan 2026 22:35:34 +0100 Subject: [PATCH 005/100] scripts : fix repos cloned with .git extension (#18669) --- scripts/pr2wt.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/pr2wt.sh b/scripts/pr2wt.sh index 22251339ac..36ccde2f34 100755 --- a/scripts/pr2wt.sh +++ b/scripts/pr2wt.sh @@ -34,6 +34,7 @@ url_origin=$(git config --get remote.origin.url) || { } org_repo=$(echo $url_origin | cut -d/ -f4-) +org_repo=${org_repo%.git} echo "org/repo: $org_repo" From 568371a7264c30ad4583f1859cb815dfc0bc14fa Mon Sep 17 00:00:00 2001 From: shaofeiqi <109865877+shaofeiqi@users.noreply.github.com> Date: Wed, 7 Jan 2026 22:04:50 -0800 Subject: [PATCH 006/100] opencl: add FILL op support (#18682) --- ggml/src/ggml-opencl/CMakeLists.txt | 1 + ggml/src/ggml-opencl/ggml-opencl.cpp | 57 ++++++++++++++++++++++++++++ ggml/src/ggml-opencl/kernels/fill.cl | 17 +++++++++ 3 files changed, 75 insertions(+) create mode 100644 ggml/src/ggml-opencl/kernels/fill.cl diff --git a/ggml/src/ggml-opencl/CMakeLists.txt b/ggml/src/ggml-opencl/CMakeLists.txt index 2a4b79eb6a..f666f08098 100644 --- a/ggml/src/ggml-opencl/CMakeLists.txt +++ b/ggml/src/ggml-opencl/CMakeLists.txt @@ -57,6 +57,7 @@ set(GGML_OPENCL_KERNELS add add_id argsort + fill clamp cpy cvt diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 353f6a4b46..472e2df50a 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -489,6 +489,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_gelu_quick, kernel_gelu_quick_4; cl_kernel kernel_relu; cl_kernel kernel_sigmoid_f32, kernel_sigmoid_f16; + cl_kernel kernel_fill; cl_kernel kernel_clamp; cl_kernel kernel_geglu, kernel_reglu, kernel_swiglu, kernel_swiglu_oai, kernel_geglu_erf, kernel_geglu_quick, kernel_geglu_f16, kernel_reglu_f16, kernel_swiglu_f16, kernel_geglu_erf_f16, kernel_geglu_quick_f16; @@ -787,6 +788,24 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // fill + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "fill.cl.h" + }; +#else + const std::string kernel_src = read_file("fill.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_fill = clCreateKernel(prog, "kernel_fill_f32", &err), err)); + GGML_LOG_CONT("."); + + CL_CHECK(clReleaseProgram(prog)); + } + // clamp { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -3104,6 +3123,8 @@ static bool ggml_opencl_supports_op(ggml_backend_dev_t dev, const struct ggml_te default: return false; } + case GGML_OP_FILL: + return op->type == GGML_TYPE_F32 && ggml_is_contiguous(op); case GGML_OP_CLAMP: return op->src[0]->type == GGML_TYPE_F32; case GGML_OP_SOFT_MAX: @@ -5860,6 +5881,36 @@ static void ggml_cl_sigmoid(ggml_backend_t backend, const ggml_tensor * src0, co backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size_ptr, dst); } +static void ggml_cl_fill(ggml_backend_t backend, const ggml_tensor * src0, const ggml_tensor * src1, ggml_tensor * dst) { + GGML_ASSERT(dst); + GGML_ASSERT(dst->extra); + + UNUSED(src0); + UNUSED(src1); + + ggml_backend_opencl_context *backend_ctx = (ggml_backend_opencl_context *)backend->context; + + ggml_tensor_extra_cl * extrad = (ggml_tensor_extra_cl *)dst->extra; + cl_ulong offsetd = extrad->offset + dst->view_offs; + + float v = 0.0f; + memcpy(&v, ((int32_t *) dst->op_params), sizeof(float)); + + const int64_t n = ggml_nelements(dst); + + cl_kernel kernel = backend_ctx->kernel_fill; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(float), &v)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(float), &n)); + + size_t local_work_size[1] = { 256 }; + size_t global_work_size[1] = { ((size_t)n + local_work_size[0] - 1) / local_work_size[0] * local_work_size[0] }; + + backend_ctx->enqueue_ndrange_kernel(kernel, 1, global_work_size, local_work_size, dst); +} + static void ggml_cl_clamp(ggml_backend_t backend, const ggml_tensor * src0, const ggml_tensor * src1, ggml_tensor * dst) { GGML_ASSERT(src0); GGML_ASSERT(src0->extra); @@ -9595,6 +9646,12 @@ bool ggml_cl_compute_forward(ggml_backend_t backend, struct ggml_tensor * tensor } func = ggml_cl_glu; break; + case GGML_OP_FILL: + if (!any_on_device) { + return false; + } + func = ggml_cl_fill; + break; case GGML_OP_CLAMP: if (!any_on_device) { return false; diff --git a/ggml/src/ggml-opencl/kernels/fill.cl b/ggml/src/ggml-opencl/kernels/fill.cl new file mode 100644 index 0000000000..9b73938d93 --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/fill.cl @@ -0,0 +1,17 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +//------------------------------------------------------------------------------ +// fill +//------------------------------------------------------------------------------ +__kernel void kernel_fill_f32( + __global float *dst, + ulong offsetd, + float v, + int n + +) { + dst = (global float*)((global char*)dst + offsetd); + if(get_global_id(0) < n){ + dst[get_global_id(0)] = v; + } +} From 2038101bd9b1dcf45b5410b969fbc5206e25d993 Mon Sep 17 00:00:00 2001 From: Julius Tischbein Date: Thu, 8 Jan 2026 07:35:30 +0100 Subject: [PATCH 007/100] llama : add `use_direct_io` flag for model loading (#18166) * Adding --direct-io flag for model loading * Fixing read_raw() calls * Fixing Windows read_raw_at * Changing type off_t to size_t for windows and Renaming functions * disable direct io when mmap is explicitly enabled * Use read_raw_unsafe when upload_backend is available, not functional on some devices with Vulkan and SYCL * Fallback to std::fread in case O_DIRECT fails due to bad address * Windows: remove const keywords and unused functions * Update src/llama-mmap.cpp Co-authored-by: Georgi Gerganov --------- Co-authored-by: jtischbein Co-authored-by: Georgi Gerganov --- common/arg.cpp | 13 +++- common/common.cpp | 1 + common/common.h | 3 +- examples/diffusion/diffusion-cli.cpp | 1 + include/llama.h | 1 + src/llama-mmap.cpp | 111 +++++++++++++++++---------- src/llama-mmap.h | 9 ++- src/llama-model-loader.cpp | 22 ++++-- src/llama-model-loader.h | 2 + src/llama-model.cpp | 4 +- src/llama-quant.cpp | 2 +- src/llama.cpp | 2 +- 12 files changed, 118 insertions(+), 53 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index e7966d9d5c..26c790c7e0 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2088,11 +2088,22 @@ common_params_context common_params_parser_init(common_params & params, llama_ex add_opt(common_arg( {"--mmap"}, {"--no-mmap"}, - string_format("whether to memory-map model (if disabled, slower load but may reduce pageouts if not using mlock) (default: %s)", params.use_mmap ? "enabled" : "disabled"), + string_format("whether to memory-map model. Explicitly enabling mmap disables direct-io. (if mmap disabled, slower load but may reduce pageouts if not using mlock) (default: %s)", params.use_mmap ? "enabled" : "disabled"), [](common_params & params, bool value) { params.use_mmap = value; + if (value) { + params.use_direct_io = false; // disable direct io when mmap is explicitly enabled + } } ).set_env("LLAMA_ARG_MMAP")); + add_opt(common_arg( + {"-dio", "--direct-io"}, + {"-ndio", "--no-direct-io"}, + string_format("use DirectIO if available. Takes precedence over --mmap (default: %s)", params.use_direct_io ? "enabled" : "disabled"), + [](common_params & params, bool value) { + params.use_direct_io = value; + } + ).set_env("LLAMA_ARG_DIO")); add_opt(common_arg( {"--numa"}, "TYPE", "attempt optimizations that help on some NUMA systems\n" diff --git a/common/common.cpp b/common/common.cpp index 41b2b6833e..34fa3b5a42 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1366,6 +1366,7 @@ struct llama_model_params common_model_params_to_llama(common_params & params) { mparams.split_mode = params.split_mode; mparams.tensor_split = params.tensor_split; mparams.use_mmap = params.use_mmap; + mparams.use_direct_io = params.use_direct_io; mparams.use_mlock = params.use_mlock; mparams.check_tensors = params.check_tensors; mparams.use_extra_bufts = !params.no_extra_bufts; diff --git a/common/common.h b/common/common.h index d6fd0d37a9..d55a6b71fb 100644 --- a/common/common.h +++ b/common/common.h @@ -428,7 +428,8 @@ struct common_params { bool kv_unified = false; // enable unified KV cache bool input_prefix_bos = false; // prefix BOS to user inputs, preceding input_prefix - bool use_mmap = true; // use mmap for faster loads + bool use_mmap = true; // enable mmap to use filesystem cache + bool use_direct_io = true; // read from disk without buffering for faster model loading bool use_mlock = false; // use mlock to keep model in memory bool verbose_prompt = false; // print prompt tokens before generation bool display_prompt = true; // print prompt before generation diff --git a/examples/diffusion/diffusion-cli.cpp b/examples/diffusion/diffusion-cli.cpp index 273942a165..d50f754092 100644 --- a/examples/diffusion/diffusion-cli.cpp +++ b/examples/diffusion/diffusion-cli.cpp @@ -553,6 +553,7 @@ int main(int argc, char ** argv) { model_params.n_gpu_layers = params.n_gpu_layers; model_params.devices = params.devices.data(); model_params.use_mmap = params.use_mmap; + model_params.use_direct_io = params.use_direct_io; model_params.use_mlock = params.use_mlock; model_params.check_tensors = params.check_tensors; diff --git a/include/llama.h b/include/llama.h index 05cb653254..edc4c871a1 100644 --- a/include/llama.h +++ b/include/llama.h @@ -309,6 +309,7 @@ extern "C" { // Keep the booleans together to avoid misalignment during copy-by-value. bool vocab_only; // only load the vocabulary, no weights bool use_mmap; // use mmap if possible + bool use_direct_io; // use direct io, takes precedence over use_mmap bool use_mlock; // force system to keep model in RAM bool check_tensors; // validate model tensor data bool use_extra_bufts; // use extra buffer types (used for weight repacking) diff --git a/src/llama-mmap.cpp b/src/llama-mmap.cpp index 232005e140..2da857b3aa 100644 --- a/src/llama-mmap.cpp +++ b/src/llama-mmap.cpp @@ -110,7 +110,7 @@ struct llama_file::impl { } } - void read_raw(void * ptr, size_t len) const { + void read_raw(void * ptr, size_t len) { size_t bytes_read = 0; while (bytes_read < len) { size_t chunk_size = std::min(len - bytes_read, 64*1024*1024); @@ -127,7 +127,7 @@ struct llama_file::impl { } } - uint32_t read_u32() const { + uint32_t read_u32() { uint32_t val; read_raw(&val, sizeof(val)); return val; @@ -154,8 +154,8 @@ struct llama_file::impl { write_raw(&val, sizeof(val)); } - void read_aligned_chunk(size_t offset, void * dest, size_t size) const { - throw std::runtime_error("DirectIO is not implemented on Windows."); + bool has_direct_io() const { + return true; } ~impl() { @@ -164,33 +164,45 @@ struct llama_file::impl { } } #else - impl(const char * fname, const char * mode, [[maybe_unused]] const bool use_direct_io = false) { + impl(const char * fname, const char * mode, [[maybe_unused]] const bool use_direct_io = false) : fname(fname) { #ifdef __linux__ // Try unbuffered I/O for read only if (use_direct_io && std::strcmp(mode, "rb") == 0) { - fd = open(fname, O_RDONLY | O_DIRECT); - - if (fd != -1) { - struct stat file_stats{}; - fstat(fd, &file_stats); - - size = file_stats.st_size; - alignment = file_stats.st_blksize; - - off_t ret = lseek(fd, 0, SEEK_SET); - if (ret == -1) { - throw std::runtime_error(format("seek error: %s", strerror(errno))); - } + if (init_fd()) { return; } - - LLAMA_LOG_WARN("Failed to open model %s with error: %s. Falling back to buffered I/O", - fname, strerror(errno)); + LLAMA_LOG_WARN("Failed to open file '%s' with error: %s. Falling back to buffered I/O", + fname, strerror(errno)); } #endif - fp = ggml_fopen(fname, mode); + init_fp(mode); + } + +#ifdef __linux__ + bool init_fd() { + fd = open(fname.c_str(), O_RDONLY | O_DIRECT); + + if (fd != -1) { + struct stat file_stats{}; + fstat(fd, &file_stats); + + size = file_stats.st_size; + alignment = file_stats.st_blksize; + + off_t ret = lseek(fd, 0, SEEK_SET); + if (ret == -1) { + throw std::runtime_error(format("seek error: %s", strerror(errno))); + } + return true; + } + return false; + } +#endif + + void init_fp(const char * mode) { + fp = ggml_fopen(fname.c_str(), mode); if (fp == NULL) { - throw std::runtime_error(format("failed to open %s: %s", fname, strerror(errno))); + throw std::runtime_error(format("failed to open %s: %s", fname.c_str(), strerror(errno))); } seek(0, SEEK_END); size = tell(); @@ -226,7 +238,7 @@ struct llama_file::impl { } } - void read_raw(void * ptr, size_t len) const { + void read_raw_unsafe(void * ptr, size_t len) { if (len == 0) { return; } @@ -249,6 +261,17 @@ struct llama_file::impl { if (errno == EINTR) { continue; // Interrupted by signal, retry } + // Fallback to std::fread in case the DMA controller cannot access the buffer + if (errno == EFAULT) { + auto curr_off = tell(); + close(fd); + fd = -1; + alignment = 1; + init_fp("rb"); + seek(curr_off, SEEK_SET); + read_raw_unsafe(ptr, len); + return; + } throw std::runtime_error(format("read error: %s", strerror(errno))); } if (ret == 0) { @@ -266,7 +289,8 @@ struct llama_file::impl { } } - void read_aligned_chunk(size_t offset, void * dest, size_t size) const { + void read_aligned_chunk(void * dest, size_t size) { + size_t offset = tell(); off_t aligned_offset = offset & ~(alignment - 1); off_t offset_from_alignment = offset - aligned_offset; size_t bytes_to_read = (offset_from_alignment + size + alignment - 1) & ~(alignment - 1); @@ -283,13 +307,21 @@ struct llama_file::impl { std::unique_ptr buffer(raw_buffer); seek(aligned_offset, SEEK_SET); - read_raw(buffer.get(), bytes_to_read); + read_raw_unsafe(buffer.get(), bytes_to_read); uintptr_t actual_data = reinterpret_cast(buffer.get()) + offset_from_alignment; memcpy(dest, reinterpret_cast(actual_data), size); } - uint32_t read_u32() const { + void read_raw(void * ptr, size_t len) { + if (has_direct_io()) { + read_aligned_chunk(ptr, len); + } else { + read_raw_unsafe(ptr, len); + } + } + + uint32_t read_u32() { uint32_t ret; read_raw(&ret, sizeof(ret)); return ret; @@ -310,6 +342,10 @@ struct llama_file::impl { write_raw(&val, sizeof(val)); } + bool has_direct_io() const { + return fd != -1 && alignment > 1; + } + ~impl() { if (fd != -1) { close(fd); @@ -318,17 +354,9 @@ struct llama_file::impl { } } int fd = -1; + std::string fname; #endif - void read_raw_at(void * ptr, size_t len, size_t offset) const { - if (alignment != 1) { - read_aligned_chunk(offset, ptr, len); - } else { - seek(offset, SEEK_SET); - read_raw(ptr, len); - } - } - size_t read_alignment() const { return alignment; } @@ -347,6 +375,7 @@ size_t llama_file::tell() const { return pimpl->tell(); } size_t llama_file::size() const { return pimpl->size; } size_t llama_file::read_alignment() const { return pimpl->read_alignment(); } +bool llama_file::has_direct_io() const { return pimpl->has_direct_io(); } int llama_file::file_id() const { #ifdef _WIN32 @@ -361,10 +390,14 @@ int llama_file::file_id() const { } void llama_file::seek(size_t offset, int whence) const { pimpl->seek(offset, whence); } -void llama_file::read_raw(void * ptr, size_t len) const { pimpl->read_raw(ptr, len); } -void llama_file::read_raw_at(void * ptr, size_t len, size_t offset) const { pimpl->read_raw_at(ptr, len, offset); } +void llama_file::read_raw(void * ptr, size_t len) { pimpl->read_raw(ptr, len); } +#ifdef _WIN32 +void llama_file::read_raw_unsafe(void * ptr, size_t len) { pimpl->read_raw(ptr, len); } +#else +void llama_file::read_raw_unsafe(void * ptr, size_t len) { pimpl->read_raw_unsafe(ptr, len); } +#endif -uint32_t llama_file::read_u32() const { return pimpl->read_u32(); } +uint32_t llama_file::read_u32() { return pimpl->read_u32(); } void llama_file::write_raw(const void * ptr, size_t len) const { pimpl->write_raw(ptr, len); } void llama_file::write_u32(uint32_t val) const { pimpl->write_u32(val); } diff --git a/src/llama-mmap.h b/src/llama-mmap.h index 729aac164b..29ce4d2468 100644 --- a/src/llama-mmap.h +++ b/src/llama-mmap.h @@ -24,15 +24,16 @@ struct llama_file { void seek(size_t offset, int whence) const; - void read_raw(void * ptr, size_t len) const; - void read_raw_at(void * ptr, size_t len, size_t offset) const; - void read_aligned_chunk(size_t offset, void * dest, size_t size) const; - uint32_t read_u32() const; + void read_raw(void * ptr, size_t len); + void read_raw_unsafe(void * ptr, size_t len); + void read_aligned_chunk(void * dest, size_t size); + uint32_t read_u32(); void write_raw(const void * ptr, size_t len) const; void write_u32(uint32_t val) const; size_t read_alignment() const; + bool has_direct_io() const; private: struct impl; std::unique_ptr pimpl; diff --git a/src/llama-model-loader.cpp b/src/llama-model-loader.cpp index 5003b4fbf5..e66febaa02 100644 --- a/src/llama-model-loader.cpp +++ b/src/llama-model-loader.cpp @@ -495,6 +495,7 @@ llama_model_loader::llama_model_loader( const std::string & fname, std::vector & splits, bool use_mmap, + bool use_direct_io, bool check_tensors, bool no_alloc, const llama_model_kv_override * param_overrides_p, @@ -527,9 +528,17 @@ llama_model_loader::llama_model_loader( get_key(llm_kv(LLM_KV_GENERAL_ARCHITECTURE), arch_name, false); llm_kv = LLM_KV(llm_arch_from_string(arch_name)); - files.emplace_back(new llama_file(fname.c_str(), "rb", !use_mmap)); + files.emplace_back(new llama_file(fname.c_str(), "rb", use_direct_io)); contexts.emplace_back(ctx); + use_direct_io = use_direct_io && files.back()->has_direct_io(); + + // Disable mmap in case Direct I/O is enabled and available + if (use_direct_io && use_mmap) { + use_mmap = false; + LLAMA_LOG_WARN("%s: direct I/O is enabled, disabling mmap\n", __func__); + } + // Save tensors data offset of the main file. // For subsidiary files, `meta` tensor data offset must not be used, // so we build a unified tensors index for weights. @@ -595,7 +604,7 @@ llama_model_loader::llama_model_loader( } } - files.emplace_back(new llama_file(fname_split, "rb", !use_mmap)); + files.emplace_back(new llama_file(fname_split, "rb", use_direct_io)); contexts.emplace_back(ctx); // Save tensors data offset info of the shard. @@ -739,6 +748,7 @@ llama_model_loader::llama_model_loader( } this->use_mmap = use_mmap; + this->use_direct_io = use_direct_io; this->check_tensors = check_tensors; this->no_alloc = no_alloc; } @@ -1100,7 +1110,8 @@ bool llama_model_loader::load_all_data( const auto & file = files.at(weight->idx); if (ggml_backend_buffer_is_host(cur->buffer)) { - file->read_raw_at(cur->data, n_size, weight->offs); + file->seek(weight->offs, SEEK_SET); + file->read_raw(cur->data, n_size); if (check_tensors) { validation_result.emplace_back(std::async(std::launch::async, [cur, n_size] { return std::make_pair(cur, ggml_validate_row_data(cur->type, cur->data, n_size)); @@ -1132,7 +1143,7 @@ bool llama_model_loader::load_all_data( ggml_backend_event_synchronize(events[buffer_idx]); // Read aligned chunk from file - file->read_raw(reinterpret_cast(ptr_dest_aligned), read_size); + file->read_raw_unsafe(reinterpret_cast(ptr_dest_aligned), read_size); // Calculate actual data portion (excluding alignment padding) uintptr_t ptr_data = ptr_dest_aligned; @@ -1162,7 +1173,8 @@ bool llama_model_loader::load_all_data( } } else { read_buf.resize(n_size); - file->read_raw_at(read_buf.data(), n_size, weight->offs); + file->seek(weight->offs, SEEK_SET); + file->read_raw(read_buf.data(), n_size); ggml_backend_tensor_set(cur, read_buf.data(), 0, n_size); if (check_tensors && !ggml_validate_row_data(cur->type, read_buf.data(), n_size)) { throw std::runtime_error(format("tensor '%s' has invalid data", ggml_get_name(cur))); diff --git a/src/llama-model-loader.h b/src/llama-model-loader.h index d13299ad3f..65953dd3d5 100644 --- a/src/llama-model-loader.h +++ b/src/llama-model-loader.h @@ -70,6 +70,7 @@ struct llama_model_loader { size_t n_bytes = 0; bool use_mmap = false; + bool use_direct_io = false; bool check_tensors; bool no_alloc; @@ -97,6 +98,7 @@ struct llama_model_loader { const std::string & fname, std::vector & splits, // optional, only need if the split does not follow naming scheme bool use_mmap, + bool use_direct_io, bool check_tensors, bool no_alloc, const llama_model_kv_override * param_overrides_p, diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 04c48b5fd3..7ac59846bb 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -2440,7 +2440,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) { const bool use_mmap_buffer = true; - LLAMA_LOG_INFO("%s: loading model tensors, this can take a while... (mmap = %s)\n", __func__, ml.use_mmap ? "true" : "false"); + LLAMA_LOG_INFO("%s: loading model tensors, this can take a while... (mmap = %s, direct_io = %s)\n", + __func__, ml.use_mmap ? "true" : "false", ml.use_direct_io ? "true" : "false"); // build a list of buffer types for the CPU and GPU devices pimpl->cpu_buft_list = make_cpu_buft_list(devices, params.use_extra_bufts, params.no_host); @@ -7973,6 +7974,7 @@ llama_model_params llama_model_default_params() { /*.kv_overrides =*/ nullptr, /*.vocab_only =*/ false, /*.use_mmap =*/ true, + /*.use_direct_io =*/ true, /*.use_mlock =*/ false, /*.check_tensors =*/ false, /*.use_extra_bufts =*/ true, diff --git a/src/llama-quant.cpp b/src/llama-quant.cpp index bc4b05c3b5..048d65a75c 100644 --- a/src/llama-quant.cpp +++ b/src/llama-quant.cpp @@ -596,7 +596,7 @@ static void llama_model_quantize_impl(const std::string & fname_inp, const std:: } std::vector splits = {}; - llama_model_loader ml(fname_inp, splits, use_mmap, /*check_tensors*/ true, /*no_alloc*/ false, kv_overrides, nullptr); + llama_model_loader ml(fname_inp, splits, use_mmap, /*use_direct_io*/ true, /*check_tensors*/ true, /*no_alloc*/ false, kv_overrides, nullptr); ml.init_mappings(false); // no prefetching llama_model model(llama_model_default_params()); diff --git a/src/llama.cpp b/src/llama.cpp index 0162ae8d58..dfefb3d2b5 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -794,7 +794,7 @@ static int llama_model_load(const std::string & fname, std::vector model.t_start_us = tm.t_start_us; try { - llama_model_loader ml(fname, splits, params.use_mmap, params.check_tensors, params.no_alloc, params.kv_overrides, params.tensor_buft_overrides); + llama_model_loader ml(fname, splits, params.use_mmap, params.use_direct_io, params.check_tensors, params.no_alloc, params.kv_overrides, params.tensor_buft_overrides); ml.print_info(); From df7fb92170f1c6ed08bf0943d6d8bf1191543a95 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 8 Jan 2026 09:29:15 +0100 Subject: [PATCH 008/100] model-conversion : remove -st targets for converted model (#18689) This commit removes the '-st` make target for running the converted embedding model. The motivation for this is that the pooling type is now part of the .gguf metdata of the model and this is used by llama-debug when running the model. So there is no need to specify the pooling type separately any more. The commit also adds an option to specify the type of normalization applied to the output embeddings when running the converted model. And the readme documentation has been updated to reflect these changes. --- examples/model-conversion/Makefile | 7 ++----- examples/model-conversion/README.md | 18 ++++++++++++++---- .../scripts/embedding/run-converted-model.sh | 14 +++++--------- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/examples/model-conversion/Makefile b/examples/model-conversion/Makefile index f8dc525a77..359b9cfd8e 100644 --- a/examples/model-conversion/Makefile +++ b/examples/model-conversion/Makefile @@ -138,16 +138,13 @@ embedding-run-original-model-st: embedding-run-original-model embedding-run-converted-model: @./scripts/embedding/run-converted-model.sh $(CONVERTED_EMBEDDING_MODEL) \ $(if $(PROMPTS_FILE),--prompts-file "$(PROMPTS_FILE)") \ - $(if $(USE_POOLING),--pooling) - -embedding-run-converted-model-st: USE_POOLING=1 -embedding-run-converted-model-st: embedding-run-converted-model + $(if $(EMBD_NORMALIZE),--embd-normalize "$(EMBD_NORMALIZE)") embedding-verify-logits: embedding-run-original-model embedding-run-converted-model @./scripts/embedding/compare-embeddings-logits.sh \ $(if $(PROMPTS_FILE),--prompts-file "$(PROMPTS_FILE)") -embedding-verify-logits-st: embedding-run-original-model-st embedding-run-converted-model-st +embedding-verify-logits-st: embedding-run-original-model-st embedding-run-converted-model @./scripts/embedding/compare-embeddings-logits.sh \ $(if $(PROMPTS_FILE),--prompts-file "$(PROMPTS_FILE)") diff --git a/examples/model-conversion/README.md b/examples/model-conversion/README.md index 8163b306b4..637870a5c1 100644 --- a/examples/model-conversion/README.md +++ b/examples/model-conversion/README.md @@ -198,14 +198,13 @@ model, and the other is a text file which allows for manual visual inspection. #### Using SentenceTransformer with numbered layers For models that have numbered SentenceTransformer layers (01_Pooling, 02_Dense, -03_Dense, 04_Normalize), use the `-st` targets to apply all these layers: +03_Dense, 04_Normalize), these will be applied automatically when running the +converted model but currently there is a separate target to run the original +version: ```console # Run original model with SentenceTransformer (applies all numbered layers) (venv) $ make embedding-run-original-model-st - -# Run converted model with pooling enabled -(venv) $ make embedding-run-converted-model-st ``` This will use the SentenceTransformer library to load and run the model, which @@ -213,6 +212,17 @@ automatically applies all the numbered layers in the correct order. This is particularly useful when comparing with models that should include these additional transformation layers beyond just the base model output. +The type of normalization can be specified for the converted model but is not +strictly necessary as the verification uses cosine similarity and the magnitude +of the output vectors does not affect this. But the normalization type can be +specified as an argument to the target which might be useful for manual +inspection: +```console +(venv) $ make embedding-verify-logits-st EMBD_NORMALIZE=1 +``` +The original model will apply the normalization according to the normalization +layer specified in the modules.json configuration file. + ### Model conversion After updates have been made to [gguf-py](../../gguf-py) to add support for the new model the model can be converted to GGUF format using the following command: diff --git a/examples/model-conversion/scripts/embedding/run-converted-model.sh b/examples/model-conversion/scripts/embedding/run-converted-model.sh index 5d264b0663..84625cec3d 100755 --- a/examples/model-conversion/scripts/embedding/run-converted-model.sh +++ b/examples/model-conversion/scripts/embedding/run-converted-model.sh @@ -5,7 +5,7 @@ set -e # Parse command line arguments CONVERTED_MODEL="" PROMPTS_FILE="" -USE_POOLING="" +EMBD_NORMALIZE="2" while [[ $# -gt 0 ]]; do case $1 in @@ -13,9 +13,9 @@ while [[ $# -gt 0 ]]; do PROMPTS_FILE="$2" shift 2 ;; - --pooling) - USE_POOLING="1" - shift + --embd-normalize) + EMBD_NORMALIZE="$2" + shift 2 ;; *) if [ -z "$CONVERTED_MODEL" ]; then @@ -51,8 +51,4 @@ fi echo $CONVERTED_MODEL cmake --build ../../build --target llama-debug -j8 -if [ -n "$USE_POOLING" ]; then - ../../build/bin/llama-debug -m "$CONVERTED_MODEL" --embedding --pooling mean -p "$PROMPT" --save-logits -else - ../../build/bin/llama-debug -m "$CONVERTED_MODEL" --embedding --pooling none -p "$PROMPT" --save-logits -fi +../../build/bin/llama-debug -m "$CONVERTED_MODEL" --embedding -p "$PROMPT" --save-logits --embd-normalize $EMBD_NORMALIZE From 9c142e3a2a8f1c7415511bd9d24f4790ce2dac88 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 8 Jan 2026 09:29:53 +0100 Subject: [PATCH 009/100] model-conversion : add warn about transformers mismatch (#18691) This commit adds a check comparing the installed transformers library with the transformers version that the original model supports. This check will be performed upon a model verification failure and prints a warning/hint to the user suggesting to install the correct version of the transformers library. The motivation for this change is that it is possible for the model verification to fail due to differences in the transformers library used and it might not be obvious that this could be the cause of the failure. With this warning the correct version can be checked and hopefully save time troubleshooting the cause of the verification failure. --- examples/model-conversion/Makefile | 2 +- .../scripts/causal/compare-logits.py | 10 ++-- .../model-conversion/scripts/utils/common.py | 54 +++++++++++++++++++ .../scripts/utils/semantic_check.py | 7 ++- 4 files changed, 63 insertions(+), 10 deletions(-) diff --git a/examples/model-conversion/Makefile b/examples/model-conversion/Makefile index 359b9cfd8e..3b0505911d 100644 --- a/examples/model-conversion/Makefile +++ b/examples/model-conversion/Makefile @@ -61,7 +61,7 @@ causal-run-converted-model: @CONVERTED_MODEL="$(CONVERTED_MODEL)" ./scripts/causal/run-converted-model.sh causal-verify-logits: causal-run-original-model causal-run-converted-model - @./scripts/causal/compare-logits.py + @MODEL_PATH="$(MODEL_PATH)" ./scripts/causal/compare-logits.py @MODEL_PATH="$(MODEL_PATH)" ./scripts/utils/check-nmse.py -m ${MODEL_PATH} causal-run-original-embeddings: diff --git a/examples/model-conversion/scripts/causal/compare-logits.py b/examples/model-conversion/scripts/causal/compare-logits.py index 1a933207d5..83bd14c659 100755 --- a/examples/model-conversion/scripts/causal/compare-logits.py +++ b/examples/model-conversion/scripts/causal/compare-logits.py @@ -3,10 +3,11 @@ import sys import numpy as np from pathlib import Path +import os # Add utils directory to path for direct script execution sys.path.insert(0, str(Path(__file__).parent.parent / "utils")) -from common import get_model_name_from_env_path, compare_tokens # type: ignore[import-not-found] +from common import get_model_name_from_env_path, compare_tokens, exit_with_warning # type: ignore[import-not-found] def quick_logits_check(pytorch_file, llamacpp_file): """Lightweight sanity check before NMSE""" @@ -38,6 +39,7 @@ def quick_logits_check(pytorch_file, llamacpp_file): return True def main(): + model_path = os.environ.get('MODEL_PATH') model_name = get_model_name_from_env_path('MODEL_PATH') data_dir = Path("data") pytorch_file = data_dir / f"pytorch-{model_name}.bin" @@ -62,8 +64,7 @@ def main(): print("🔍 Token Comparison Check") print("=" * 40) if not compare_tokens(f"pytorch-{model_name}", f"llamacpp-{llamacpp_model_name}"): - print("\n❌ Token mismatch detected") - sys.exit(1) + exit_with_warning("\n❌ Token mismatch detected", model_path) print() print("🔍 GGML Model Validation for model ", model_name) @@ -80,8 +81,7 @@ def main(): print(" Ok to proceed with NMSE check...") sys.exit(0) else: - print(f"❌ NOK: Top 10 predictions don't match - generation will differ") - sys.exit(1) + exit_with_warning(f"❌ NOK: Top 10 predictions don't match - generation will differ", model_path) if __name__ == "__main__": main() diff --git a/examples/model-conversion/scripts/utils/common.py b/examples/model-conversion/scripts/utils/common.py index 71761127bb..aa4bab2601 100644 --- a/examples/model-conversion/scripts/utils/common.py +++ b/examples/model-conversion/scripts/utils/common.py @@ -3,6 +3,9 @@ import os import sys import torch +import transformers +import json +import textwrap import numpy as np from pathlib import Path @@ -243,3 +246,54 @@ def compare_tokens(original, converted, type_suffix="", output_dir="data"): print(f" ... and {len(mismatches) - num_to_show} more mismatches") return False + + +def show_version_warning(current_version, model_version): + if not model_version: + return False + + try: + from packaging.version import parse, InvalidVersion + try: + return parse(current_version) < parse(model_version) + except InvalidVersion: + return current_version != model_version + except ImportError: + return current_version != model_version + +def get_model_transformers_version(model_path): + if not model_path: + return None + + config_path = Path(model_path) / "config.json" + if not config_path.is_file(): + return None + + try: + with open(config_path, "r", encoding="utf-8") as f: + config = json.load(f) + return config.get("transformers_version") + except (IOError, json.JSONDecodeError) as e: + print(f"Warning: Could not read or parse {config_path}: {e}", file=sys.stderr) + return None + +def exit_with_warning(message, model_path): + print(message) + + if model_path and transformers is not None: + model_transformers_version = get_model_transformers_version(model_path) + transformers_version = transformers.__version__ + if show_version_warning(transformers_version, model_transformers_version): + warning_message = f""" + ===================================================================== + Verification failure might be due to a transformers version mismatch: + + Current transformers version: {transformers_version} + Model's required version : {model_transformers_version} + + Consider installing the version specified by the model's config: + pip install transformers=={model_transformers_version} + ===================================================================== + """ + print(textwrap.dedent(warning_message)) + sys.exit(1) diff --git a/examples/model-conversion/scripts/utils/semantic_check.py b/examples/model-conversion/scripts/utils/semantic_check.py index 38b03ce4d2..73e20ea489 100644 --- a/examples/model-conversion/scripts/utils/semantic_check.py +++ b/examples/model-conversion/scripts/utils/semantic_check.py @@ -7,7 +7,7 @@ import importlib from pathlib import Path from transformers import AutoTokenizer, AutoConfig, AutoModelForCausalLM, AutoModel -from common import compare_tokens # type: ignore[import-not-found] +from common import compare_tokens, exit_with_warning # type: ignore[import-not-found] unreleased_model_name = os.getenv('UNRELEASED_MODEL_NAME') @@ -174,8 +174,7 @@ def main(): print("=" * 70) data_dir = python_emb_path.parent if not compare_tokens(python_model_name, cpp_model_name, type_suffix="-embeddings", output_dir=str(data_dir)): - print("\n❌ Token mismatch detected") - exit(1) + exit_with_warning("\n❌ Token mismatch detected", args.model_path) print() # Single prompt detailed comparison @@ -237,7 +236,7 @@ def main(): elif avg_cross_sim > 0.70: print("⚠️ FAIR: Models have some differences") else: - print("❌ POOR: Models are significantly different") + exit_with_warning("❌ POOR: Models are significantly different", args.model_path) if __name__ == "__main__": main() From 9a5724dee2457d58e506268efcb1d2286498cf3d Mon Sep 17 00:00:00 2001 From: Doctor Shotgun <126566557+DocShotgun@users.noreply.github.com> Date: Thu, 8 Jan 2026 01:03:21 -0800 Subject: [PATCH 010/100] ggml: add env var GGML_OP_OFFLOAD_MIN_BATCH (#18535) * ggml: add env var GGML_OP_OFFLOAD_MIN_BATCH * makes the min_batch_size for triggering op offload configurable via env var, defaulting to the prior hardcoded value of 32 * ggml: read GGML_OP_OFFLOAD_MIN_BATCH once and store to dev ctx * cann: forward declaration of device context struct * cann: move offload op check after device context declaration * cuda: fix whitespace Co-authored-by: Aman Gupta --------- Co-authored-by: Aman Gupta --- ggml/src/ggml-cann/ggml-cann.cpp | 44 +++++++++++++------------ ggml/src/ggml-cuda/ggml-cuda.cu | 9 ++--- ggml/src/ggml-metal/ggml-metal-device.h | 2 ++ ggml/src/ggml-metal/ggml-metal-device.m | 2 ++ ggml/src/ggml-metal/ggml-metal.cpp | 7 ++-- ggml/src/ggml-sycl/ggml-sycl.cpp | 8 +++-- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 11 ++++--- 7 files changed, 45 insertions(+), 38 deletions(-) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 162d238ae4..d7a93848df 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -2541,27 +2541,6 @@ static bool ggml_backend_buft_is_cann(ggml_backend_buffer_type_t buft) { return buft->iface.get_name == ggml_backend_cann_buffer_type_name; } -/** - * @brief Determines if a tensor operation should be offloaded to the CANN - * backend. - * - * This function checks if a given tensor operation should be offloaded to the - * CANN backend based on the operation type and the size of the tensor. It - * returns true if the second dimension (ne[1]) of the tensor is greater than or - * equal to the minimum batch size and the operation is not GGML_OP_GET_ROWS. - * - * @param backend Pointer to the CANN backend. - * @param op Pointer to the tensor operation to check. - * @return bool Returns true if the operation should be offloaded, otherwise - * false. - */ -static bool ggml_backend_cann_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { - const int min_batch_size = 32; - GGML_UNUSED(dev); - - return op->ne[1] >= min_batch_size && op->op != GGML_OP_GET_ROWS; -} - /** * @brief Records an event on the CANN backend stream. * @@ -2637,6 +2616,7 @@ struct ggml_backend_cann_device_context { int device; std::string name; std::string description; + int op_offload_min_batch_size; }; static const char * ggml_backend_cann_device_get_name(ggml_backend_dev_t dev) { @@ -2713,6 +2693,26 @@ static ggml_backend_buffer_type_t ggml_backend_cann_device_get_host_buffer_type( return ggml_backend_cann_host_buffer_type(); } +/** + * @brief Determines if a tensor operation should be offloaded to the CANN + * backend. + * + * This function checks if a given tensor operation should be offloaded to the + * CANN backend based on the operation type and the size of the tensor. It + * returns true if the second dimension (ne[1]) of the tensor is greater than or + * equal to the minimum batch size and the operation is not GGML_OP_GET_ROWS. + * + * @param backend Pointer to the CANN backend. + * @param op Pointer to the tensor operation to check. + * @return bool Returns true if the operation should be offloaded, otherwise + * false. + */ +static bool ggml_backend_cann_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { + ggml_backend_cann_device_context * dev_ctx = (ggml_backend_cann_device_context *)dev->context; + + return op->ne[1] >= dev_ctx->op_offload_min_batch_size && op->op != GGML_OP_GET_ROWS; +} + /** * @brief Creates a new event for the CANN backend device. * @@ -2829,12 +2829,14 @@ ggml_backend_reg_t ggml_backend_cann_reg() { if (!initialized) { aclInit(nullptr); ggml_backend_cann_reg_context * ctx = new ggml_backend_cann_reg_context; + const int min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; for (int i = 0; i < ggml_cann_info().device_count; i++) { ggml_backend_cann_device_context * dev_ctx = new ggml_backend_cann_device_context(); dev_ctx->description = aclrtGetSocName(); dev_ctx->device = i; dev_ctx->name = GGML_CANN_NAME + std::to_string(i); + dev_ctx->op_offload_min_batch_size = min_batch_size; ggml_cann_set_device(i); ggml_backend_dev_t dev = new ggml_backend_device{ /* .iface = */ ggml_backend_cann_device_interface, /* .reg = */ ®, diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index bac69cdd1c..f021de1d74 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -4122,6 +4122,7 @@ struct ggml_backend_cuda_device_context { std::string name; std::string description; std::string pci_bus_id; + int op_offload_min_batch_size; }; static const char * ggml_backend_cuda_device_get_name(ggml_backend_dev_t dev) { @@ -4676,11 +4677,9 @@ static int64_t get_op_batch_size(const ggml_tensor * op) { } static bool ggml_backend_cuda_device_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { - const int min_batch_size = 32; + ggml_backend_cuda_device_context * dev_ctx = (ggml_backend_cuda_device_context *) dev->context; - return get_op_batch_size(op) >= min_batch_size; - - GGML_UNUSED(dev); + return get_op_batch_size(op) >= dev_ctx->op_offload_min_batch_size; } static ggml_backend_event_t ggml_backend_cuda_device_event_new(ggml_backend_dev_t dev) { @@ -4848,6 +4847,7 @@ ggml_backend_reg_t ggml_backend_cuda_reg() { std::lock_guard lock(mutex); if (!initialized) { ggml_backend_cuda_reg_context * ctx = new ggml_backend_cuda_reg_context; + const int min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; for (int i = 0; i < ggml_cuda_info().device_count; i++) { ggml_backend_cuda_device_context * dev_ctx = new ggml_backend_cuda_device_context; @@ -4861,6 +4861,7 @@ ggml_backend_reg_t ggml_backend_cuda_reg() { char pci_bus_id[16] = {}; snprintf(pci_bus_id, sizeof(pci_bus_id), "%04x:%02x:%02x.0", prop.pciDomainID, prop.pciBusID, prop.pciDeviceID); dev_ctx->pci_bus_id = pci_bus_id; + dev_ctx->op_offload_min_batch_size = min_batch_size; ggml_backend_dev_t dev = new ggml_backend_device { /* .iface = */ ggml_backend_cuda_device_interface, diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h index d983b666ca..9c3b001487 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.h +++ b/ggml/src/ggml-metal/ggml-metal-device.h @@ -219,6 +219,8 @@ struct ggml_metal_device_props { bool use_shared_buffers; bool supports_gpu_family_apple7; + + int op_offload_min_batch_size; }; ggml_metal_device_t ggml_metal_device_init(void); diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 59badd0043..ff899a8170 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -782,6 +782,8 @@ ggml_metal_device_t ggml_metal_device_init(void) { dev->props.supports_gpu_family_apple7 = [dev->mtl_device supportsFamily:MTLGPUFamilyApple7]; + dev->props.op_offload_min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; + dev->props.max_buffer_size = dev->mtl_device.maxBufferLength; dev->props.max_working_set_size = dev->mtl_device.recommendedMaxWorkingSetSize; dev->props.max_theadgroup_memory_size = dev->mtl_device.maxThreadgroupMemoryLength; diff --git a/ggml/src/ggml-metal/ggml-metal.cpp b/ggml/src/ggml-metal/ggml-metal.cpp index 70bf6f3d98..56b59f0afd 100644 --- a/ggml/src/ggml-metal/ggml-metal.cpp +++ b/ggml/src/ggml-metal/ggml-metal.cpp @@ -625,14 +625,11 @@ static int64_t get_op_batch_size(const ggml_tensor * op) { } static bool ggml_backend_metal_device_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { - const int min_batch_size = 32; + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; return (op->op == GGML_OP_MUL_MAT || op->op == GGML_OP_MUL_MAT_ID) && - get_op_batch_size(op) >= min_batch_size; - - GGML_UNUSED(dev); - GGML_UNUSED(op); + get_op_batch_size(op) >= ggml_metal_device_get_props(ctx_dev)->op_offload_min_batch_size; } static ggml_backend_device_i ggml_backend_metal_device_i = { diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index e996d98be8..8f8176b678 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -4286,6 +4286,7 @@ struct ggml_backend_sycl_device_context { int device; std::string name; std::string description; + int op_offload_min_batch_size; }; static const char * ggml_backend_sycl_device_get_name(ggml_backend_dev_t dev) { @@ -4674,9 +4675,8 @@ static int64_t get_op_batch_size(const ggml_tensor * op) { } static bool ggml_backend_sycl_device_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { - const int min_batch_size = 32; - return get_op_batch_size(op) >= min_batch_size; - GGML_UNUSED(dev); + ggml_backend_sycl_device_context * sycl_ctx = (ggml_backend_sycl_device_context *)dev->context; + return get_op_batch_size(op) >= sycl_ctx->op_offload_min_batch_size; } static ggml_backend_event_t @@ -4799,6 +4799,7 @@ ggml_backend_reg_t ggml_backend_sycl_reg() { std::lock_guard lock(mutex); if (!initialized) { ggml_backend_sycl_reg_context * ctx = new ggml_backend_sycl_reg_context; + const int min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; for (int i = 0; i < ggml_sycl_info().device_count; i++) { ggml_backend_sycl_device_context * dev_ctx = new ggml_backend_sycl_device_context; @@ -4812,6 +4813,7 @@ ggml_backend_reg_t ggml_backend_sycl_reg() { prop, dpct::dev_mgr::instance().get_device(i)))); dev_ctx->description = prop.get_name(); + dev_ctx->op_offload_min_batch_size = min_batch_size; ggml_backend_dev_t dev = new ggml_backend_device { /* .iface = */ ggml_backend_sycl_device_interface, diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index d68735a040..4d3c085f67 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -14249,6 +14249,7 @@ struct ggml_backend_vk_device_context { std::string description; bool is_integrated_gpu; std::string pci_bus_id; + int op_offload_min_batch_size; }; static const char * ggml_backend_vk_device_get_name(ggml_backend_dev_t dev) { @@ -14820,12 +14821,10 @@ static bool ggml_backend_vk_device_supports_buft(ggml_backend_dev_t dev, ggml_ba } static bool ggml_backend_vk_device_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { - const int min_batch_size = 32; + ggml_backend_vk_device_context * dev_ctx = (ggml_backend_vk_device_context *)dev->context; - return (op->ne[1] >= min_batch_size && op->op != GGML_OP_GET_ROWS) || - (op->ne[2] >= min_batch_size && op->op == GGML_OP_MUL_MAT_ID); - - UNUSED(dev); + return (op->ne[1] >= dev_ctx->op_offload_min_batch_size && op->op != GGML_OP_GET_ROWS) || + (op->ne[2] >= dev_ctx->op_offload_min_batch_size && op->op == GGML_OP_MUL_MAT_ID); } static ggml_backend_event_t ggml_backend_vk_device_event_new(ggml_backend_dev_t dev) { @@ -14951,6 +14950,7 @@ static ggml_backend_dev_t ggml_backend_vk_reg_get_device(ggml_backend_reg_t reg, static std::mutex mutex; std::lock_guard lock(mutex); if (!initialized) { + const int min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; for (int i = 0; i < ggml_backend_vk_get_device_count(); i++) { ggml_backend_vk_device_context * ctx = new ggml_backend_vk_device_context; char desc[256]; @@ -14960,6 +14960,7 @@ static ggml_backend_dev_t ggml_backend_vk_reg_get_device(ggml_backend_reg_t reg, ctx->description = desc; ctx->is_integrated_gpu = ggml_backend_vk_get_device_type(i) == vk::PhysicalDeviceType::eIntegratedGpu; ctx->pci_bus_id = ggml_backend_vk_get_device_pci_id(i); + ctx->op_offload_min_batch_size = min_batch_size; devices.push_back(new ggml_backend_device { /* .iface = */ ggml_backend_vk_device_i, /* .reg = */ reg, From 64848deb1887532003575db9bdf46df700c3e495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Thu, 8 Jan 2026 10:07:58 +0100 Subject: [PATCH 011/100] llama-fit-params: free memory target per device (#18679) --- common/arg.cpp | 28 ++++++++++--- common/common.cpp | 2 +- common/common.h | 14 ++++--- include/llama.h | 2 +- src/llama.cpp | 74 ++++++++++++++++++++++----------- tools/fit-params/fit-params.cpp | 2 +- 6 files changed, 83 insertions(+), 39 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 26c790c7e0..9c0e6fbe78 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2255,7 +2255,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex std::vector split_arg{ it, {} }; if (split_arg.size() >= llama_max_devices()) { throw std::invalid_argument( - string_format("got %d input configs, but system only has %d devices", (int)split_arg.size(), (int)llama_max_devices()) + string_format("got %zu input configs, but system only has %zu devices", split_arg.size(), llama_max_devices()) ); } for (size_t i = 0; i < llama_max_devices(); ++i) { @@ -2295,10 +2295,28 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } ).set_env("LLAMA_ARG_FIT")); add_opt(common_arg( - { "-fitt", "--fit-target" }, "MiB", - string_format("target margin per device for --fit option, default: %zu", params.fit_params_target/(1024*1024)), - [](common_params & params, int value) { - params.fit_params_target = value * size_t(1024*1024); + { "-fitt", "--fit-target" }, "MiB0,MiB1,MiB2,...", + string_format("target margin per device for --fit, comma-separated list of values, " + "single value is broadcast across all devices, default: %zu", params.fit_params_target[0]/(1024*1024)), + [](common_params & params, const std::string & value) { + std::string arg_next = value; + + // split string by , and / + const std::regex regex{ R"([,/]+)" }; + std::sregex_token_iterator it{ arg_next.begin(), arg_next.end(), regex, -1 }; + std::vector split_arg{ it, {} }; + if (split_arg.size() >= llama_max_devices()) { + throw std::invalid_argument( + string_format("got %zu input configs, but system only has %zu devices", split_arg.size(), llama_max_devices()) + ); + } + if (split_arg.size() == 1) { + std::fill(params.fit_params_target.begin(), params.fit_params_target.end(), std::stoul(split_arg[0]) * 1024*1024); + return; + } + for (size_t i = 0; i < split_arg.size(); i++) { + params.fit_params_target[i] = std::stoul(split_arg[i]) * 1024*1024; + } } ).set_env("LLAMA_ARG_FIT_TARGET")); add_opt(common_arg( diff --git a/common/common.cpp b/common/common.cpp index 34fa3b5a42..744f0b4eeb 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1097,7 +1097,7 @@ common_init_result::common_init_result(common_params & params) : if (params.fit_params) { LOG_INF("%s: fitting params to device memory, for bugs during this step try to reproduce them with -fit off, or provide --verbose logs if the bug only occurs with -fit on\n", __func__); llama_params_fit(params.model.path.c_str(), &mparams, &cparams, - params.tensor_split, params.tensor_buft_overrides.data(), params.fit_params_target, params.fit_params_min_ctx, + params.tensor_split, params.tensor_buft_overrides.data(), params.fit_params_target.data(), params.fit_params_min_ctx, params.verbosity >= 4 ? GGML_LOG_LEVEL_DEBUG : GGML_LOG_LEVEL_ERROR); } diff --git a/common/common.h b/common/common.h index d55a6b71fb..7794c0268b 100644 --- a/common/common.h +++ b/common/common.h @@ -332,12 +332,14 @@ struct common_params { // offload params std::vector devices; // devices to use for offloading - int32_t n_gpu_layers = -1; // number of layers to store in VRAM, -1 is auto, <= -2 is all - int32_t main_gpu = 0; // the GPU that is used for scratch and small tensors - float tensor_split[128] = {0}; // how split tensors should be distributed across GPUs - bool fit_params = true; // whether to fit unset model/context parameters to free device memory - size_t fit_params_target = 1024 * 1024*1024; // margin per device in bytes for fitting parameters to free memory - int32_t fit_params_min_ctx = 4096; // minimum context size to set when trying to reduce memory use + int32_t n_gpu_layers = -1; // number of layers to store in VRAM, -1 is auto, <= -2 is all + int32_t main_gpu = 0; // the GPU that is used for scratch and small tensors + float tensor_split[128] = {0}; // how split tensors should be distributed across GPUs + bool fit_params = true; // whether to fit unset model/context parameters to free device memory + int32_t fit_params_min_ctx = 4096; // minimum context size to set when trying to reduce memory use + + // margin per device in bytes for fitting parameters to free memory: + std::vector fit_params_target = std::vector(llama_max_devices(), 1024 * 1024*1024); enum llama_split_mode split_mode = LLAMA_SPLIT_MODE_LAYER; // how to split the model across GPUs diff --git a/include/llama.h b/include/llama.h index edc4c871a1..12e4e57d0e 100644 --- a/include/llama.h +++ b/include/llama.h @@ -495,7 +495,7 @@ extern "C" { struct llama_context_params * cparams, float * tensor_split, // writable buffer for tensor split, needs at least llama_max_devices elements struct llama_model_tensor_buft_override * tensor_buft_overrides, // writable buffer for overrides, needs at least llama_max_tensor_buft_overrides elements - size_t margin, // margin of memory to leave per device in bytes + size_t * margins, // margins of memory to leave per device in bytes uint32_t n_ctx_min, // minimum context size to set when trying to reduce memory use enum ggml_log_level log_level); // minimum log level to print during fitting, lower levels go to debug log diff --git a/src/llama.cpp b/src/llama.cpp index dfefb3d2b5..33f51a2389 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -147,9 +147,8 @@ class llama_params_fit_exception : public std::runtime_error { static void llama_params_fit_impl( const char * path_model, struct llama_model_params * mparams, struct llama_context_params * cparams, float * tensor_split, struct llama_model_tensor_buft_override * tensor_buft_overrides, - size_t margin_s, uint32_t n_ctx_min, enum ggml_log_level log_level) { + size_t * margins_s, uint32_t n_ctx_min, enum ggml_log_level log_level) { constexpr int64_t MiB = 1024*1024; - const int64_t margin = margin_s; // this function uses int64_t rather than size_t for memory sizes to more conveniently handle deficits typedef std::vector dmds_t; const llama_model_params default_mparams = llama_model_default_params(); @@ -168,6 +167,12 @@ static void llama_params_fit_impl( return; } + std::vector margins; // this function uses int64_t rather than size_t for memory sizes to more conveniently handle deficits + margins.reserve(nd); + for (size_t id = 0; id < nd; id++) { + margins.push_back(margins_s[id]); + } + std::vector dev_names; { dev_names.reserve(nd); @@ -187,9 +192,10 @@ static void llama_params_fit_impl( int64_t sum_free = 0; int64_t sum_projected_free = 0; - int64_t min_projected_free = INT64_MAX; int64_t sum_projected_used = 0; int64_t sum_projected_model = 0; + std::vector projected_free_per_device; + projected_free_per_device.reserve(nd); if (nd > 1) { LLAMA_LOG_INFO("%s: projected memory use with initial parameters [MiB]:\n", __func__); @@ -199,45 +205,63 @@ static void llama_params_fit_impl( const int64_t projected_used = dmd.mb.total(); const int64_t projected_free = dmd.free - projected_used; + projected_free_per_device.push_back(projected_free); sum_free += dmd.free; sum_projected_used += projected_used; sum_projected_free += projected_free; - min_projected_free = std::min(min_projected_free, projected_free); sum_projected_model += dmd.mb.model; if (nd > 1) { - LLAMA_LOG_INFO("%s: - %s: %6" PRId64 " total, %6" PRId64 " used, %6" PRId64 " %s\n", - __func__, dev_names[id].c_str(), dmd.total/MiB, projected_used/MiB, std::abs(projected_free)/MiB, - projected_free >= 0 ? "surplus" : "deficit"); + LLAMA_LOG_INFO("%s: - %s: %6" PRId64 " total, %6" PRId64 " used, %6" PRId64 " free vs. target of %6" PRId64 "\n", + __func__, dev_names[id].c_str(), dmd.total/MiB, projected_used/MiB, projected_free/MiB, margins[id]/MiB); } } assert(sum_free >= 0 && sum_projected_used >= 0); LLAMA_LOG_INFO("%s: projected to use %" PRId64 " MiB of device memory vs. %" PRId64 " MiB of free device memory\n", __func__, sum_projected_used/MiB, sum_free/MiB); - if (min_projected_free >= margin) { - if (nd == 1) { + if (nd == 1) { + if (projected_free_per_device[0] >= margins[0]) { LLAMA_LOG_INFO("%s: will leave %" PRId64 " >= %" PRId64 " MiB of free device memory, no changes needed\n", - __func__, min_projected_free/MiB, margin/MiB); + __func__, projected_free_per_device[0]/MiB, margins[0]/MiB); + return; + } + } else { + bool changes_needed = false; + for (size_t id = 0; id < nd; id++) { + if (projected_free_per_device[id] < margins[id]) { + changes_needed = true; + break; + } + } + if (!changes_needed) { + LLAMA_LOG_INFO("%s: targets for free memory can be met on all devices, no changes needed\n", __func__); return; } - LLAMA_LOG_INFO("%s: will leave at least %" PRId64 " >= %" PRId64 " MiB of free memory on all devices, no changes needed\n", - __func__, min_projected_free/MiB, margin/MiB); - return; } // step 2: try reducing memory use by reducing the context size { - int64_t global_surplus = sum_projected_free - int64_t(nd)*margin; + int64_t global_surplus = sum_projected_free; + for (size_t id = 0; id < nd; id++) { + global_surplus -= margins[id]; + } if (global_surplus < 0) { - LLAMA_LOG_INFO(nd == 1 ? - "%s: cannot fulfill margin of %" PRId64 " MiB, need to reduce device memory by %" PRId64 " MiB\n" : - "%s: cannot fulfill margin of %" PRId64 " MiB on all devices, need to use %" PRId64 " MiB less in total\n", - __func__, margin/MiB, -global_surplus/MiB); + if (nd == 1) { + LLAMA_LOG_INFO("%s: cannot meet free memory target of %" PRId64 " MiB, need to reduce device memory by %" PRId64 " MiB\n", + __func__, margins[0]/MiB, -global_surplus/MiB); + } else { + LLAMA_LOG_INFO( + "%s: cannot meet free memory targets on all devices, need to use %" PRId64 " MiB less in total\n", + __func__, -global_surplus/MiB); + } if (cparams->n_ctx == 0) { if (hp_nct > n_ctx_min) { - int64_t sum_used_target = sum_free - nd*margin_s; + int64_t sum_used_target = sum_free; + for (size_t id = 0; id < nd; id++) { + sum_used_target -= margins[id]; + } if (nd > 1) { // for multiple devices we need to be more conservative in terms of how much context we think can fit: // - for dense models only whole layers can be assigned to devices @@ -448,9 +472,9 @@ static void llama_params_fit_impl( const dmds_t dmds_cpu_moe = llama_get_device_memory_data( path_model, mparams, cparams, devs, hp_ngl, hp_nct, hp_nex, log_level); - for (const llama_device_memory_data & dmd : dmds_cpu_moe) { - global_surplus_cpu_moe += dmd.free; - global_surplus_cpu_moe -= int64_t(dmd.mb.total()) + margin; + for (size_t id = 0; id < nd; id++) { + global_surplus_cpu_moe += dmds_cpu_moe[id].free; + global_surplus_cpu_moe -= int64_t(dmds_cpu_moe[id].mb.total()) + margins[id]; } if (global_surplus_cpu_moe > 0) { @@ -469,7 +493,7 @@ static void llama_params_fit_impl( std::vector targets; // maximum acceptable memory use per device targets.reserve(nd); for (size_t id = 0; id < nd; id++) { - targets.push_back(dmds_full[id].free - margin); + targets.push_back(dmds_full[id].free - margins[id]); LLAMA_LOG_DEBUG("%s: id=%zu, target=%" PRId64 " MiB\n", __func__, id, targets[id]/MiB); } @@ -701,11 +725,11 @@ static void llama_params_fit_impl( enum llama_params_fit_status llama_params_fit( const char * path_model, struct llama_model_params * mparams, struct llama_context_params * cparams, float * tensor_split, struct llama_model_tensor_buft_override * tensor_buft_overrides, - size_t margin_s, uint32_t n_ctx_min, enum ggml_log_level log_level) { + size_t * margins, uint32_t n_ctx_min, enum ggml_log_level log_level) { const int64_t t0_us = llama_time_us(); llama_params_fit_status status = LLAMA_PARAMS_FIT_STATUS_SUCCESS; try { - llama_params_fit_impl(path_model, mparams, cparams, tensor_split, tensor_buft_overrides, margin_s, n_ctx_min, log_level); + llama_params_fit_impl(path_model, mparams, cparams, tensor_split, tensor_buft_overrides, margins, n_ctx_min, log_level); LLAMA_LOG_INFO("%s: successfully fit params to free device memory\n", __func__); } catch (const llama_params_fit_exception & e) { LLAMA_LOG_WARN("%s: failed to fit params to free device memory: %s\n", __func__, e.what()); diff --git a/tools/fit-params/fit-params.cpp b/tools/fit-params/fit-params.cpp index c7e7748ca9..f9d9cb34c7 100644 --- a/tools/fit-params/fit-params.cpp +++ b/tools/fit-params/fit-params.cpp @@ -27,7 +27,7 @@ int main(int argc, char ** argv) { auto mparams = common_model_params_to_llama(params); auto cparams = common_context_params_to_llama(params); const llama_params_fit_status status = llama_params_fit(params.model.path.c_str(), &mparams, &cparams, - params.tensor_split, params.tensor_buft_overrides.data(), params.fit_params_target, params.fit_params_min_ctx, + params.tensor_split, params.tensor_buft_overrides.data(), params.fit_params_target.data(), params.fit_params_min_ctx, params.verbosity >= 4 ? GGML_LOG_LEVEL_DEBUG : GGML_LOG_LEVEL_ERROR); if (status != LLAMA_PARAMS_FIT_STATUS_SUCCESS) { LOG_ERR("%s: failed to fit CLI arguments to free memory, exiting...\n", __func__); From 945bf106276c664498cf6c95731aa6ceb43657ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=8F=84=EB=A1=9C=EB=A1=9C=EB=8F=84=EB=A1=9C=EB=98=90?= <60079918+dororodoroddo@users.noreply.github.com> Date: Thu, 8 Jan 2026 19:37:45 +0900 Subject: [PATCH 012/100] metal : add MoE kernel specialization for ne20=5 (#18667) Add template specialization for kernel_mul_mm_id_map0 with ne20=5 to support models using 5 active experts (e.g., VAETKI). --- ggml/src/ggml-metal/ggml-metal.metal | 1 + 1 file changed, 1 insertion(+) diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 67b30e0d93..16d17d26af 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -9148,6 +9148,7 @@ typedef decltype(kernel_mul_mm_id_map0<1>) kernel_mul_mm_id_map0_t; template [[host_name("kernel_mul_mm_id_map0_ne20_1" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<1>; template [[host_name("kernel_mul_mm_id_map0_ne20_2" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<2>; template [[host_name("kernel_mul_mm_id_map0_ne20_4" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<4>; +template [[host_name("kernel_mul_mm_id_map0_ne20_5" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<5>; template [[host_name("kernel_mul_mm_id_map0_ne20_6" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<6>; template [[host_name("kernel_mul_mm_id_map0_ne20_8" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<8>; template [[host_name("kernel_mul_mm_id_map0_ne20_10")]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<10>; From f2f6c88067e0da7cd1696fb6f78b0d1f5021262e Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 8 Jan 2026 13:40:23 +0200 Subject: [PATCH 013/100] scripts : support chaining commands in pr2wt.sh (#18671) --- scripts/pr2wt.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/pr2wt.sh b/scripts/pr2wt.sh index 36ccde2f34..7970bec371 100755 --- a/scripts/pr2wt.sh +++ b/scripts/pr2wt.sh @@ -9,6 +9,7 @@ # sample usage: # ./scripts/pr2wt.sh 12345 # ./scripts/pr2wt.sh 12345 opencode +# ./scripts/pr2wt.sh 12345 "cmake -B build && cmake --build build" function usage() { echo "usage: $0 [cmd]" @@ -46,7 +47,7 @@ head_ref=$(echo "$meta" | jq -r '.head.ref') echo "url: $url_remote" echo "head_ref: $head_ref" -git remote rm pr/${PR} +git remote rm pr/${PR} 2> /dev/null git remote add pr/${PR} $url_remote git fetch pr/${PR} $head_ref @@ -62,5 +63,5 @@ echo "git worktree created in $wt_path" # if a command was provided, execute it if [[ $# -eq 2 ]]; then cd ../$dir-pr-$PR - exec $2 + eval "$2" fi From 55abc393552f3f2097f168cb6db4dc495a514d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Thu, 8 Jan 2026 13:53:54 +0100 Subject: [PATCH 014/100] vendor : update cpp-httplib to 0.30.0 (#18660) * vendor : update cpp-httplib to 0.30.0 * common : allow custom headers when downloading --- common/arg.h | 8 - common/download.cpp | 86 +- common/download.h | 23 +- scripts/sync_vendor.py | 2 +- tests/test-arg-parser.cpp | 1 + tools/server/server-common.cpp | 4 +- vendor/cpp-httplib/httplib.cpp | 1486 ++++++++++++++++++++++++++------ vendor/cpp-httplib/httplib.h | 1124 +++++++++++++++++++----- 8 files changed, 2188 insertions(+), 546 deletions(-) diff --git a/common/arg.h b/common/arg.h index a1b6a14e67..55782a158d 100644 --- a/common/arg.h +++ b/common/arg.h @@ -129,11 +129,3 @@ void common_params_add_preset_options(std::vector & args); // initialize argument parser context - used by test-arg-parser and preset common_params_context common_params_parser_init(common_params & params, llama_example ex, void(*print_usage)(int, char **) = nullptr); - -struct common_remote_params { - std::vector headers; - long timeout = 0; // CURLOPT_TIMEOUT, in seconds ; 0 means no timeout - long max_size = 0; // max size of the response ; unlimited if 0 ; max is 2GB -}; -// get remote file content, returns -std::pair> common_remote_get_content(const std::string & url, const common_remote_params & params); diff --git a/common/download.cpp b/common/download.cpp index ef87472560..6f56b5518f 100644 --- a/common/download.cpp +++ b/common/download.cpp @@ -308,7 +308,8 @@ static bool common_download_head(CURL * curl, // download one single file from remote URL to local path static bool common_download_file_single_online(const std::string & url, const std::string & path, - const std::string & bearer_token) { + const std::string & bearer_token, + const common_header_list & custom_headers) { static const int max_attempts = 3; static const int retry_delay_seconds = 2; for (int i = 0; i < max_attempts; ++i) { @@ -330,6 +331,11 @@ static bool common_download_file_single_online(const std::string & url, common_load_model_from_url_headers headers; curl_easy_setopt(curl.get(), CURLOPT_HEADERDATA, &headers); curl_slist_ptr http_headers; + + for (const auto & h : custom_headers) { + std::string s = h.first + ": " + h.second; + http_headers.ptr = curl_slist_append(http_headers.ptr, s.c_str()); + } const bool was_perform_successful = common_download_head(curl.get(), http_headers, url, bearer_token); if (!was_perform_successful) { head_request_ok = false; @@ -454,8 +460,10 @@ std::pair> common_remote_get_content(const std::string & curl_easy_setopt(curl.get(), CURLOPT_MAXFILESIZE, params.max_size); } http_headers.ptr = curl_slist_append(http_headers.ptr, "User-Agent: llama-cpp"); + for (const auto & header : params.headers) { - http_headers.ptr = curl_slist_append(http_headers.ptr, header.c_str()); + std::string header_ = header.first + ": " + header.second; + http_headers.ptr = curl_slist_append(http_headers.ptr, header_.c_str()); } curl_easy_setopt(curl.get(), CURLOPT_HTTPHEADER, http_headers.ptr); @@ -619,7 +627,8 @@ static bool common_pull_file(httplib::Client & cli, // download one single file from remote URL to local path static bool common_download_file_single_online(const std::string & url, const std::string & path, - const std::string & bearer_token) { + const std::string & bearer_token, + const common_header_list & custom_headers) { static const int max_attempts = 3; static const int retry_delay_seconds = 2; @@ -629,6 +638,9 @@ static bool common_download_file_single_online(const std::string & url, if (!bearer_token.empty()) { default_headers.insert({"Authorization", "Bearer " + bearer_token}); } + for (const auto & h : custom_headers) { + default_headers.emplace(h.first, h.second); + } cli.set_default_headers(default_headers); const bool file_exists = std::filesystem::exists(path); @@ -734,13 +746,9 @@ std::pair> common_remote_get_content(const std::string auto [cli, parts] = common_http_client(url); httplib::Headers headers = {{"User-Agent", "llama-cpp"}}; + for (const auto & header : params.headers) { - size_t pos = header.find(':'); - if (pos != std::string::npos) { - headers.emplace(header.substr(0, pos), header.substr(pos + 1)); - } else { - headers.emplace(header, ""); - } + headers.emplace(header.first, header.second); } if (params.timeout > 0) { @@ -772,9 +780,10 @@ std::pair> common_remote_get_content(const std::string static bool common_download_file_single(const std::string & url, const std::string & path, const std::string & bearer_token, - bool offline) { + bool offline, + const common_header_list & headers) { if (!offline) { - return common_download_file_single_online(url, path, bearer_token); + return common_download_file_single_online(url, path, bearer_token, headers); } if (!std::filesystem::exists(path)) { @@ -788,13 +797,24 @@ static bool common_download_file_single(const std::string & url, // download multiple files from remote URLs to local paths // the input is a vector of pairs -static bool common_download_file_multiple(const std::vector> & urls, const std::string & bearer_token, bool offline) { +static bool common_download_file_multiple(const std::vector> & urls, + const std::string & bearer_token, + bool offline, + const common_header_list & headers) { // Prepare download in parallel std::vector> futures_download; + futures_download.reserve(urls.size()); + for (auto const & item : urls) { - futures_download.push_back(std::async(std::launch::async, [bearer_token, offline](const std::pair & it) -> bool { - return common_download_file_single(it.first, it.second, bearer_token, offline); - }, item)); + futures_download.push_back( + std::async( + std::launch::async, + [&bearer_token, offline, &headers](const std::pair & it) -> bool { + return common_download_file_single(it.first, it.second, bearer_token, offline, headers); + }, + item + ) + ); } // Wait for all downloads to complete @@ -807,17 +827,17 @@ static bool common_download_file_multiple(const std::vector(hf_repo_with_tag, ':'); std::string tag = parts.size() > 1 ? parts.back() : "latest"; std::string hf_repo = parts[0]; @@ -893,10 +916,10 @@ common_hf_file_res common_get_hf_file(const std::string & hf_repo_with_tag, cons std::string url = get_model_endpoint() + "v2/" + hf_repo + "/manifests/" + tag; // headers - std::vector headers; - headers.push_back("Accept: application/json"); + common_header_list headers = custom_headers; + headers.push_back({"Accept", "application/json"}); if (!bearer_token.empty()) { - headers.push_back("Authorization: Bearer " + bearer_token); + headers.push_back({"Authorization", "Bearer " + bearer_token}); } // Important: the User-Agent must be "llama-cpp" to get the "ggufFile" field in the response // User-Agent header is already set in common_remote_get_content, no need to set it here @@ -1031,9 +1054,10 @@ std::string common_docker_resolve_model(const std::string & docker) { const std::string url_prefix = "https://registry-1.docker.io/v2/" + repo; std::string manifest_url = url_prefix + "/manifests/" + tag; common_remote_params manifest_params; - manifest_params.headers.push_back("Authorization: Bearer " + token); - manifest_params.headers.push_back( - "Accept: application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.manifest.v1+json"); + manifest_params.headers.push_back({"Authorization", "Bearer " + token}); + manifest_params.headers.push_back({"Accept", + "application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.manifest.v1+json" + }); auto manifest_res = common_remote_get_content(manifest_url, manifest_params); if (manifest_res.first != 200) { throw std::runtime_error("Failed to get Docker manifest, HTTP code: " + std::to_string(manifest_res.first)); @@ -1070,7 +1094,7 @@ std::string common_docker_resolve_model(const std::string & docker) { std::string local_path = fs_get_cache_file(model_filename); const std::string blob_url = url_prefix + "/blobs/" + gguf_digest; - if (!common_download_file_single(blob_url, local_path, token, false)) { + if (!common_download_file_single(blob_url, local_path, token, false, {})) { throw std::runtime_error("Failed to download Docker Model"); } @@ -1084,11 +1108,11 @@ std::string common_docker_resolve_model(const std::string & docker) { #else -common_hf_file_res common_get_hf_file(const std::string &, const std::string &, bool) { +common_hf_file_res common_get_hf_file(const std::string &, const std::string &, bool, const common_header_list &) { throw std::runtime_error("download functionality is not enabled in this build"); } -bool common_download_model(const common_params_model &, const std::string &, bool) { +bool common_download_model(const common_params_model &, const std::string &, bool, const common_header_list &) { throw std::runtime_error("download functionality is not enabled in this build"); } diff --git a/common/download.h b/common/download.h index d1321e6e90..9ea2093939 100644 --- a/common/download.h +++ b/common/download.h @@ -1,12 +1,21 @@ #pragma once #include +#include struct common_params_model; -// -// download functionalities -// +using common_header = std::pair; +using common_header_list = std::vector; + +struct common_remote_params { + common_header_list headers; + long timeout = 0; // in seconds, 0 means no timeout + long max_size = 0; // unlimited if 0 +}; + +// get remote file content, returns +std::pair> common_remote_get_content(const std::string & url, const common_remote_params & params); struct common_cached_model_info { std::string manifest_path; @@ -41,13 +50,17 @@ struct common_hf_file_res { common_hf_file_res common_get_hf_file( const std::string & hf_repo_with_tag, const std::string & bearer_token, - bool offline); + bool offline, + const common_header_list & headers = {} +); // returns true if download succeeded bool common_download_model( const common_params_model & model, const std::string & bearer_token, - bool offline); + bool offline, + const common_header_list & headers = {} +); // returns list of cached models std::vector common_list_cached_models(); diff --git a/scripts/sync_vendor.py b/scripts/sync_vendor.py index 637f4cdc18..ed6bf1bf4e 100755 --- a/scripts/sync_vendor.py +++ b/scripts/sync_vendor.py @@ -16,7 +16,7 @@ vendor = { # "https://github.com/mackron/miniaudio/raw/refs/tags/0.11.23/miniaudio.h": "vendor/miniaudio/miniaudio.h", "https://github.com/mackron/miniaudio/raw/669ed3e844524fcd883231b13095baee9f6de304/miniaudio.h": "vendor/miniaudio/miniaudio.h", - "https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.28.0/httplib.h": "vendor/cpp-httplib/httplib.h", + "https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.30.0/httplib.h": "vendor/cpp-httplib/httplib.h", "https://raw.githubusercontent.com/sheredom/subprocess.h/b49c56e9fe214488493021017bf3954b91c7c1f5/subprocess.h": "vendor/sheredom/subprocess.h", } diff --git a/tests/test-arg-parser.cpp b/tests/test-arg-parser.cpp index e995974a2e..c7be0021be 100644 --- a/tests/test-arg-parser.cpp +++ b/tests/test-arg-parser.cpp @@ -1,5 +1,6 @@ #include "arg.h" #include "common.h" +#include "download.h" #include #include diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp index e4a0be44cc..16b0db2983 100644 --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -1,10 +1,10 @@ #include "common.h" +#include "download.h" #include "log.h" #include "llama.h" #include "mtmd.h" #include "mtmd-helper.h" #include "chat.h" -#include "arg.h" // for common_remote_get_content; TODO: use download.h only #include "base64.hpp" #include "server-common.h" @@ -779,7 +779,7 @@ static void handle_media( // download remote image // TODO @ngxson : maybe make these params configurable common_remote_params params; - params.headers.push_back("User-Agent: llama.cpp/" + build_info); + params.headers.push_back({"User-Agent", "llama.cpp/" + build_info}); params.max_size = 1024 * 1024 * 10; // 10MB params.timeout = 10; // seconds SRV_INF("downloading image from '%s'\n", url.c_str()); diff --git a/vendor/cpp-httplib/httplib.cpp b/vendor/cpp-httplib/httplib.cpp index b86e6a2310..a437a36ed7 100644 --- a/vendor/cpp-httplib/httplib.cpp +++ b/vendor/cpp-httplib/httplib.cpp @@ -9,7 +9,7 @@ namespace httplib { namespace detail { bool is_hex(char c, int &v) { - if (0x20 <= c && isdigit(c)) { + if (isdigit(c)) { v = c - '0'; return true; } else if ('A' <= c && c <= 'F') { @@ -49,6 +49,90 @@ std::string from_i_to_hex(size_t n) { return ret; } +std::string compute_etag(const FileStat &fs) { + if (!fs.is_file()) { return std::string(); } + + // If mtime cannot be determined (negative value indicates an error + // or sentinel), do not generate an ETag. Returning a neutral / fixed + // value like 0 could collide with a real file that legitimately has + // mtime == 0 (epoch) and lead to misleading validators. + auto mtime_raw = fs.mtime(); + if (mtime_raw < 0) { return std::string(); } + + auto mtime = static_cast(mtime_raw); + auto size = fs.size(); + + return std::string("W/\"") + from_i_to_hex(mtime) + "-" + + from_i_to_hex(size) + "\""; +} + +// Format time_t as HTTP-date (RFC 9110 Section 5.6.7): "Sun, 06 Nov 1994 +// 08:49:37 GMT" This implementation is defensive: it validates `mtime`, checks +// return values from `gmtime_r`/`gmtime_s`, and ensures `strftime` succeeds. +std::string file_mtime_to_http_date(time_t mtime) { + if (mtime < 0) { return std::string(); } + + struct tm tm_buf; +#ifdef _WIN32 + if (gmtime_s(&tm_buf, &mtime) != 0) { return std::string(); } +#else + if (gmtime_r(&mtime, &tm_buf) == nullptr) { return std::string(); } +#endif + char buf[64]; + if (strftime(buf, sizeof(buf), "%a, %d %b %Y %H:%M:%S GMT", &tm_buf) == 0) { + return std::string(); + } + + return std::string(buf); +} + +// Parse HTTP-date (RFC 9110 Section 5.6.7) to time_t. Returns -1 on failure. +time_t parse_http_date(const std::string &date_str) { + struct tm tm_buf; + + // Create a classic locale object once for all parsing attempts + const std::locale classic_locale = std::locale::classic(); + + // Try to parse using std::get_time (C++11, cross-platform) + auto try_parse = [&](const char *fmt) -> bool { + std::istringstream ss(date_str); + ss.imbue(classic_locale); + + memset(&tm_buf, 0, sizeof(tm_buf)); + ss >> std::get_time(&tm_buf, fmt); + + return !ss.fail(); + }; + + // RFC 9110 preferred format (HTTP-date): "Sun, 06 Nov 1994 08:49:37 GMT" + if (!try_parse("%a, %d %b %Y %H:%M:%S")) { + // RFC 850 format: "Sunday, 06-Nov-94 08:49:37 GMT" + if (!try_parse("%A, %d-%b-%y %H:%M:%S")) { + // asctime format: "Sun Nov 6 08:49:37 1994" + if (!try_parse("%a %b %d %H:%M:%S %Y")) { + return static_cast(-1); + } + } + } + +#ifdef _WIN32 + return _mkgmtime(&tm_buf); +#else + return timegm(&tm_buf); +#endif +} + +bool is_weak_etag(const std::string &s) { + // Check if the string is a weak ETag (starts with 'W/"') + return s.size() > 3 && s[0] == 'W' && s[1] == '/' && s[2] == '"'; +} + +bool is_strong_etag(const std::string &s) { + // Check if the string is a strong ETag (starts and ends with '"', at least 2 + // chars) + return s.size() >= 2 && s[0] == '"' && s.back() == '"'; +} + size_t to_utf8(int code, char *buff) { if (code < 0x0080) { buff[0] = static_cast(code & 0x7F); @@ -168,6 +252,15 @@ bool FileStat::is_dir() const { return ret_ >= 0 && S_ISDIR(st_.st_mode); } +time_t FileStat::mtime() const { + return ret_ >= 0 ? static_cast(st_.st_mtime) + : static_cast(-1); +} + +size_t FileStat::size() const { + return ret_ >= 0 ? static_cast(st_.st_size) : 0; +} + std::string encode_path(const std::string &s) { std::string result; result.reserve(s.size()); @@ -209,6 +302,149 @@ std::string file_extension(const std::string &path) { bool is_space_or_tab(char c) { return c == ' ' || c == '\t'; } +template +bool parse_header(const char *beg, const char *end, T fn); + +template +bool parse_header(const char *beg, const char *end, T fn) { + // Skip trailing spaces and tabs. + while (beg < end && is_space_or_tab(end[-1])) { + end--; + } + + auto p = beg; + while (p < end && *p != ':') { + p++; + } + + auto name = std::string(beg, p); + if (!detail::fields::is_field_name(name)) { return false; } + + if (p == end) { return false; } + + auto key_end = p; + + if (*p++ != ':') { return false; } + + while (p < end && is_space_or_tab(*p)) { + p++; + } + + if (p <= end) { + auto key_len = key_end - beg; + if (!key_len) { return false; } + + auto key = std::string(beg, key_end); + auto val = std::string(p, end); + + if (!detail::fields::is_field_value(val)) { return false; } + + if (case_ignore::equal(key, "Location") || + case_ignore::equal(key, "Referer")) { + fn(key, val); + } else { + fn(key, decode_path_component(val)); + } + + return true; + } + + return false; +} + +bool parse_trailers(stream_line_reader &line_reader, Headers &dest, + const Headers &src_headers) { + // NOTE: In RFC 9112, '7.1 Chunked Transfer Coding' mentions "The chunked + // transfer coding is complete when a chunk with a chunk-size of zero is + // received, possibly followed by a trailer section, and finally terminated by + // an empty line". https://www.rfc-editor.org/rfc/rfc9112.html#section-7.1 + // + // In '7.1.3. Decoding Chunked', however, the pseudo-code in the section + // doesn't care for the existence of the final CRLF. In other words, it seems + // to be ok whether the final CRLF exists or not in the chunked data. + // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.1.3 + // + // According to the reference code in RFC 9112, cpp-httplib now allows + // chunked transfer coding data without the final CRLF. + + // RFC 7230 Section 4.1.2 - Headers prohibited in trailers + thread_local case_ignore::unordered_set prohibited_trailers = { + "transfer-encoding", + "content-length", + "host", + "authorization", + "www-authenticate", + "proxy-authenticate", + "proxy-authorization", + "cookie", + "set-cookie", + "cache-control", + "expect", + "max-forwards", + "pragma", + "range", + "te", + "age", + "expires", + "date", + "location", + "retry-after", + "vary", + "warning", + "content-encoding", + "content-type", + "content-range", + "trailer"}; + + case_ignore::unordered_set declared_trailers; + auto trailer_header = get_header_value(src_headers, "Trailer", "", 0); + if (trailer_header && std::strlen(trailer_header)) { + auto len = std::strlen(trailer_header); + split(trailer_header, trailer_header + len, ',', + [&](const char *b, const char *e) { + const char *kbeg = b; + const char *kend = e; + while (kbeg < kend && (*kbeg == ' ' || *kbeg == '\t')) { + ++kbeg; + } + while (kend > kbeg && (kend[-1] == ' ' || kend[-1] == '\t')) { + --kend; + } + std::string key(kbeg, static_cast(kend - kbeg)); + if (!key.empty() && + prohibited_trailers.find(key) == prohibited_trailers.end()) { + declared_trailers.insert(key); + } + }); + } + + size_t trailer_header_count = 0; + while (strcmp(line_reader.ptr(), "\r\n") != 0) { + if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { return false; } + if (trailer_header_count >= CPPHTTPLIB_HEADER_MAX_COUNT) { return false; } + + constexpr auto line_terminator_len = 2; + auto line_beg = line_reader.ptr(); + auto line_end = + line_reader.ptr() + line_reader.size() - line_terminator_len; + + if (!parse_header(line_beg, line_end, + [&](const std::string &key, const std::string &val) { + if (declared_trailers.find(key) != + declared_trailers.end()) { + dest.emplace(key, val); + trailer_header_count++; + } + })) { + return false; + } + + if (!line_reader.getline()) { return false; } + } + + return true; +} + std::pair trim(const char *b, const char *e, size_t left, size_t right) { while (b + left < e && is_space_or_tab(b[left])) { @@ -280,6 +516,42 @@ void split(const char *b, const char *e, char d, size_t m, } } +bool split_find(const char *b, const char *e, char d, size_t m, + std::function fn) { + size_t i = 0; + size_t beg = 0; + size_t count = 1; + + while (e ? (b + i < e) : (b[i] != '\0')) { + if (b[i] == d && count < m) { + auto r = trim(b, e, beg, i); + if (r.first < r.second) { + auto found = fn(&b[r.first], &b[r.second]); + if (found) { return true; } + } + beg = i + 1; + count++; + } + i++; + } + + if (i) { + auto r = trim(b, e, beg, i); + if (r.first < r.second) { + auto found = fn(&b[r.first], &b[r.second]); + if (found) { return true; } + } + } + + return false; +} + +bool split_find(const char *b, const char *e, char d, + std::function fn) { + return split_find(b, e, d, (std::numeric_limits::max)(), + std::move(fn)); +} + stream_line_reader::stream_line_reader(Stream &strm, char *fixed_buffer, size_t fixed_buffer_size) : strm_(strm), fixed_buffer_(fixed_buffer), @@ -1892,6 +2164,27 @@ bool zstd_decompressor::decompress(const char *data, size_t data_length, } #endif +std::unique_ptr +create_decompressor(const std::string &encoding) { + std::unique_ptr decompressor; + + if (encoding == "gzip" || encoding == "deflate") { +#ifdef CPPHTTPLIB_ZLIB_SUPPORT + decompressor = detail::make_unique(); +#endif + } else if (encoding.find("br") != std::string::npos) { +#ifdef CPPHTTPLIB_BROTLI_SUPPORT + decompressor = detail::make_unique(); +#endif + } else if (encoding == "zstd" || encoding.find("zstd") != std::string::npos) { +#ifdef CPPHTTPLIB_ZSTD_SUPPORT + decompressor = detail::make_unique(); +#endif + } + + return decompressor; +} + bool is_prohibited_header_name(const std::string &name) { using udl::operator""_t; @@ -1928,53 +2221,6 @@ const char *get_header_value(const Headers &headers, return def; } -template -bool parse_header(const char *beg, const char *end, T fn) { - // Skip trailing spaces and tabs. - while (beg < end && is_space_or_tab(end[-1])) { - end--; - } - - auto p = beg; - while (p < end && *p != ':') { - p++; - } - - auto name = std::string(beg, p); - if (!detail::fields::is_field_name(name)) { return false; } - - if (p == end) { return false; } - - auto key_end = p; - - if (*p++ != ':') { return false; } - - while (p < end && is_space_or_tab(*p)) { - p++; - } - - if (p <= end) { - auto key_len = key_end - beg; - if (!key_len) { return false; } - - auto key = std::string(beg, key_end); - auto val = std::string(p, end); - - if (!detail::fields::is_field_value(val)) { return false; } - - if (case_ignore::equal(key, "Location") || - case_ignore::equal(key, "Referer")) { - fn(key, val); - } else { - fn(key, decode_path_component(val)); - } - - return true; - } - - return false; -} - bool read_headers(Stream &strm, Headers &headers) { const auto bufsiz = 2048; char buf[bufsiz]; @@ -2026,10 +2272,18 @@ bool read_content_with_length(Stream &strm, size_t len, ContentReceiverWithProgress out) { char buf[CPPHTTPLIB_RECV_BUFSIZ]; + detail::BodyReader br; + br.stream = &strm; + br.content_length = len; + br.chunked = false; + br.bytes_read = 0; + br.last_error = Error::Success; + size_t r = 0; while (r < len) { auto read_len = static_cast(len - r); - auto n = strm.read(buf, (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ)); + auto to_read = (std::min)(read_len, CPPHTTPLIB_RECV_BUFSIZ); + auto n = detail::read_body_content(&strm, br, buf, to_read); if (n <= 0) { return false; } if (!out(buf, static_cast(n), r, len)) { return false; } @@ -2089,125 +2343,35 @@ template ReadContentResult read_content_chunked(Stream &strm, T &x, size_t payload_max_length, ContentReceiverWithProgress out) { - const auto bufsiz = 16; - char buf[bufsiz]; + detail::ChunkedDecoder dec(strm); - stream_line_reader line_reader(strm, buf, bufsiz); - - if (!line_reader.getline()) { return ReadContentResult::Error; } - - unsigned long chunk_len; + char buf[CPPHTTPLIB_RECV_BUFSIZ]; size_t total_len = 0; - while (true) { - char *end_ptr; - chunk_len = std::strtoul(line_reader.ptr(), &end_ptr, 16); + for (;;) { + size_t chunk_offset = 0; + size_t chunk_total = 0; + auto n = dec.read_payload(buf, sizeof(buf), chunk_offset, chunk_total); + if (n < 0) { return ReadContentResult::Error; } - if (end_ptr == line_reader.ptr()) { return ReadContentResult::Error; } - if (chunk_len == ULONG_MAX) { return ReadContentResult::Error; } + if (n == 0) { + if (!dec.parse_trailers_into(x.trailers, x.headers)) { + return ReadContentResult::Error; + } + return ReadContentResult::Success; + } - if (chunk_len == 0) { break; } - - // Check if adding this chunk would exceed the payload limit if (total_len > payload_max_length || - payload_max_length - total_len < chunk_len) { + payload_max_length - total_len < static_cast(n)) { return ReadContentResult::PayloadTooLarge; } - total_len += chunk_len; - - if (!read_content_with_length(strm, chunk_len, nullptr, out)) { + if (!out(buf, static_cast(n), chunk_offset, chunk_total)) { return ReadContentResult::Error; } - if (!line_reader.getline()) { return ReadContentResult::Error; } - - if (strcmp(line_reader.ptr(), "\r\n") != 0) { - return ReadContentResult::Error; - } - - if (!line_reader.getline()) { return ReadContentResult::Error; } + total_len += static_cast(n); } - - assert(chunk_len == 0); - - // NOTE: In RFC 9112, '7.1 Chunked Transfer Coding' mentions "The chunked - // transfer coding is complete when a chunk with a chunk-size of zero is - // received, possibly followed by a trailer section, and finally terminated by - // an empty line". https://www.rfc-editor.org/rfc/rfc9112.html#section-7.1 - // - // In '7.1.3. Decoding Chunked', however, the pseudo-code in the section - // does't care for the existence of the final CRLF. In other words, it seems - // to be ok whether the final CRLF exists or not in the chunked data. - // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.1.3 - // - // According to the reference code in RFC 9112, cpp-httplib now allows - // chunked transfer coding data without the final CRLF. - if (!line_reader.getline()) { return ReadContentResult::Success; } - - // RFC 7230 Section 4.1.2 - Headers prohibited in trailers - thread_local case_ignore::unordered_set prohibited_trailers = { - // Message framing - "transfer-encoding", "content-length", - - // Routing - "host", - - // Authentication - "authorization", "www-authenticate", "proxy-authenticate", - "proxy-authorization", "cookie", "set-cookie", - - // Request modifiers - "cache-control", "expect", "max-forwards", "pragma", "range", "te", - - // Response control - "age", "expires", "date", "location", "retry-after", "vary", "warning", - - // Payload processing - "content-encoding", "content-type", "content-range", "trailer"}; - - // Parse declared trailer headers once for performance - case_ignore::unordered_set declared_trailers; - if (has_header(x.headers, "Trailer")) { - auto trailer_header = get_header_value(x.headers, "Trailer", "", 0); - auto len = std::strlen(trailer_header); - - split(trailer_header, trailer_header + len, ',', - [&](const char *b, const char *e) { - std::string key(b, e); - if (prohibited_trailers.find(key) == prohibited_trailers.end()) { - declared_trailers.insert(key); - } - }); - } - - size_t trailer_header_count = 0; - while (strcmp(line_reader.ptr(), "\r\n") != 0) { - if (line_reader.size() > CPPHTTPLIB_HEADER_MAX_LENGTH) { - return ReadContentResult::Error; - } - - // Check trailer header count limit - if (trailer_header_count >= CPPHTTPLIB_HEADER_MAX_COUNT) { - return ReadContentResult::Error; - } - - // Exclude line terminator - constexpr auto line_terminator_len = 2; - auto end = line_reader.ptr() + line_reader.size() - line_terminator_len; - - parse_header(line_reader.ptr(), end, - [&](const std::string &key, const std::string &val) { - if (declared_trailers.find(key) != declared_trailers.end()) { - x.trailers.emplace(key, val); - trailer_header_count++; - } - }); - - if (!line_reader.getline()) { return ReadContentResult::Error; } - } - - return ReadContentResult::Success; } bool is_chunked_transfer_encoding(const Headers &headers) { @@ -2223,27 +2387,13 @@ bool prepare_content_receiver(T &x, int &status, std::string encoding = x.get_header_value("Content-Encoding"); std::unique_ptr decompressor; - if (encoding == "gzip" || encoding == "deflate") { -#ifdef CPPHTTPLIB_ZLIB_SUPPORT - decompressor = detail::make_unique(); -#else - status = StatusCode::UnsupportedMediaType_415; - return false; -#endif - } else if (encoding.find("br") != std::string::npos) { -#ifdef CPPHTTPLIB_BROTLI_SUPPORT - decompressor = detail::make_unique(); -#else - status = StatusCode::UnsupportedMediaType_415; - return false; -#endif - } else if (encoding == "zstd") { -#ifdef CPPHTTPLIB_ZSTD_SUPPORT - decompressor = detail::make_unique(); -#else - status = StatusCode::UnsupportedMediaType_415; - return false; -#endif + if (!encoding.empty()) { + decompressor = detail::create_decompressor(encoding); + if (!decompressor) { + // Unsupported encoding or no support compiled in + status = StatusCode::UnsupportedMediaType_415; + return false; + } } if (decompressor) { @@ -2329,7 +2479,7 @@ bool read_content(Stream &strm, T &x, size_t payload_max_length, int &status, ssize_t write_request_line(Stream &strm, const std::string &method, const std::string &path) { std::string s = method; - s += " "; + s += ' '; s += path; s += " HTTP/1.1\r\n"; return strm.write(s.data(), s.size()); @@ -2338,7 +2488,7 @@ ssize_t write_request_line(Stream &strm, const std::string &method, ssize_t write_response_line(Stream &strm, int status) { std::string s = "HTTP/1.1 "; s += std::to_string(status); - s += " "; + s += ' '; s += httplib::status_message(status); s += "\r\n"; return strm.write(s.data(), s.size()); @@ -2601,8 +2751,8 @@ bool redirect(T &cli, Request &req, Response &res, auto ret = cli.send(new_req, new_res, error); if (ret) { - req = new_req; - res = new_res; + req = std::move(new_req); + res = std::move(new_res); if (res.location.empty()) { res.location = location; } } @@ -2613,9 +2763,9 @@ std::string params_to_query_str(const Params ¶ms) { std::string query; for (auto it = params.begin(); it != params.end(); ++it) { - if (it != params.begin()) { query += "&"; } + if (it != params.begin()) { query += '&'; } query += encode_query_component(it->first); - query += "="; + query += '='; query += encode_query_component(it->second); } return query; @@ -2648,6 +2798,38 @@ void parse_query_text(const std::string &s, Params ¶ms) { parse_query_text(s.data(), s.size(), params); } +// Normalize a query string by decoding and re-encoding each key/value pair +// while preserving the original parameter order. This avoids double-encoding +// and ensures consistent encoding without reordering (unlike Params which +// uses std::multimap and sorts keys). +std::string normalize_query_string(const std::string &query) { + std::string result; + split(query.data(), query.data() + query.size(), '&', + [&](const char *b, const char *e) { + std::string key; + std::string val; + divide(b, static_cast(e - b), '=', + [&](const char *lhs_data, std::size_t lhs_size, + const char *rhs_data, std::size_t rhs_size) { + key.assign(lhs_data, lhs_size); + val.assign(rhs_data, rhs_size); + }); + + if (!key.empty()) { + auto dec_key = decode_query_component(key); + auto dec_val = decode_query_component(val); + + if (!result.empty()) { result += '&'; } + result += encode_query_component(dec_key); + if (!val.empty() || std::find(b, e, '=') != e) { + result += '='; + result += encode_query_component(dec_val); + } + } + }); + return result; +} + bool parse_multipart_boundary(const std::string &content_type, std::string &boundary) { auto boundary_keyword = "boundary="; @@ -2840,7 +3022,7 @@ bool parse_accept_header(const std::string &s, return; } - entries.push_back(accept_entry); + entries.push_back(std::move(accept_entry)); }); // Return false if any invalid entry was found @@ -2857,8 +3039,8 @@ bool parse_accept_header(const std::string &s, // Extract sorted media types content_types.reserve(entries.size()); - for (const auto &entry : entries) { - content_types.push_back(entry.media_type); + for (auto &entry : entries) { + content_types.push_back(std::move(entry.media_type)); } return true; @@ -2869,7 +3051,7 @@ public: FormDataParser() = default; void set_boundary(std::string &&boundary) { - boundary_ = boundary; + boundary_ = std::move(boundary); dash_boundary_crlf_ = dash_ + boundary_ + crlf_; crlf_dash_boundary_ = crlf_ + dash_ + boundary_; } @@ -3342,9 +3524,9 @@ std::string make_content_range_header_field( std::string field = "bytes "; field += std::to_string(st); - field += "-"; + field += '-'; field += std::to_string(ed); - field += "/"; + field += '/'; field += std::to_string(content_length); return field; } @@ -3721,7 +3903,7 @@ bool parse_www_authenticate(const Response &res, static_cast(m.length(2))) : s.substr(static_cast(m.position(3)), static_cast(m.length(3))); - auth[key] = val; + auth[std::move(key)] = std::move(val); } return true; } @@ -3734,7 +3916,7 @@ class ContentProviderAdapter { public: explicit ContentProviderAdapter( ContentProviderWithoutLength &&content_provider) - : content_provider_(content_provider) {} + : content_provider_(std::move(content_provider)) {} bool operator()(size_t offset, size_t, DataSink &sink) { return content_provider_(offset, sink); @@ -3744,8 +3926,189 @@ private: ContentProviderWithoutLength content_provider_; }; +// NOTE: https://www.rfc-editor.org/rfc/rfc9110#section-5 +namespace fields { + +bool is_token_char(char c) { + return std::isalnum(c) || c == '!' || c == '#' || c == '$' || c == '%' || + c == '&' || c == '\'' || c == '*' || c == '+' || c == '-' || + c == '.' || c == '^' || c == '_' || c == '`' || c == '|' || c == '~'; +} + +bool is_token(const std::string &s) { + if (s.empty()) { return false; } + for (auto c : s) { + if (!is_token_char(c)) { return false; } + } + return true; +} + +bool is_field_name(const std::string &s) { return is_token(s); } + +bool is_vchar(char c) { return c >= 33 && c <= 126; } + +bool is_obs_text(char c) { return 128 <= static_cast(c); } + +bool is_field_vchar(char c) { return is_vchar(c) || is_obs_text(c); } + +bool is_field_content(const std::string &s) { + if (s.empty()) { return true; } + + if (s.size() == 1) { + return is_field_vchar(s[0]); + } else if (s.size() == 2) { + return is_field_vchar(s[0]) && is_field_vchar(s[1]); + } else { + size_t i = 0; + + if (!is_field_vchar(s[i])) { return false; } + i++; + + while (i < s.size() - 1) { + auto c = s[i++]; + if (c == ' ' || c == '\t' || is_field_vchar(c)) { + } else { + return false; + } + } + + return is_field_vchar(s[i]); + } +} + +bool is_field_value(const std::string &s) { return is_field_content(s); } + +} // namespace fields + } // namespace detail +const char *status_message(int status) { + switch (status) { + case StatusCode::Continue_100: return "Continue"; + case StatusCode::SwitchingProtocol_101: return "Switching Protocol"; + case StatusCode::Processing_102: return "Processing"; + case StatusCode::EarlyHints_103: return "Early Hints"; + case StatusCode::OK_200: return "OK"; + case StatusCode::Created_201: return "Created"; + case StatusCode::Accepted_202: return "Accepted"; + case StatusCode::NonAuthoritativeInformation_203: + return "Non-Authoritative Information"; + case StatusCode::NoContent_204: return "No Content"; + case StatusCode::ResetContent_205: return "Reset Content"; + case StatusCode::PartialContent_206: return "Partial Content"; + case StatusCode::MultiStatus_207: return "Multi-Status"; + case StatusCode::AlreadyReported_208: return "Already Reported"; + case StatusCode::IMUsed_226: return "IM Used"; + case StatusCode::MultipleChoices_300: return "Multiple Choices"; + case StatusCode::MovedPermanently_301: return "Moved Permanently"; + case StatusCode::Found_302: return "Found"; + case StatusCode::SeeOther_303: return "See Other"; + case StatusCode::NotModified_304: return "Not Modified"; + case StatusCode::UseProxy_305: return "Use Proxy"; + case StatusCode::unused_306: return "unused"; + case StatusCode::TemporaryRedirect_307: return "Temporary Redirect"; + case StatusCode::PermanentRedirect_308: return "Permanent Redirect"; + case StatusCode::BadRequest_400: return "Bad Request"; + case StatusCode::Unauthorized_401: return "Unauthorized"; + case StatusCode::PaymentRequired_402: return "Payment Required"; + case StatusCode::Forbidden_403: return "Forbidden"; + case StatusCode::NotFound_404: return "Not Found"; + case StatusCode::MethodNotAllowed_405: return "Method Not Allowed"; + case StatusCode::NotAcceptable_406: return "Not Acceptable"; + case StatusCode::ProxyAuthenticationRequired_407: + return "Proxy Authentication Required"; + case StatusCode::RequestTimeout_408: return "Request Timeout"; + case StatusCode::Conflict_409: return "Conflict"; + case StatusCode::Gone_410: return "Gone"; + case StatusCode::LengthRequired_411: return "Length Required"; + case StatusCode::PreconditionFailed_412: return "Precondition Failed"; + case StatusCode::PayloadTooLarge_413: return "Payload Too Large"; + case StatusCode::UriTooLong_414: return "URI Too Long"; + case StatusCode::UnsupportedMediaType_415: return "Unsupported Media Type"; + case StatusCode::RangeNotSatisfiable_416: return "Range Not Satisfiable"; + case StatusCode::ExpectationFailed_417: return "Expectation Failed"; + case StatusCode::ImATeapot_418: return "I'm a teapot"; + case StatusCode::MisdirectedRequest_421: return "Misdirected Request"; + case StatusCode::UnprocessableContent_422: return "Unprocessable Content"; + case StatusCode::Locked_423: return "Locked"; + case StatusCode::FailedDependency_424: return "Failed Dependency"; + case StatusCode::TooEarly_425: return "Too Early"; + case StatusCode::UpgradeRequired_426: return "Upgrade Required"; + case StatusCode::PreconditionRequired_428: return "Precondition Required"; + case StatusCode::TooManyRequests_429: return "Too Many Requests"; + case StatusCode::RequestHeaderFieldsTooLarge_431: + return "Request Header Fields Too Large"; + case StatusCode::UnavailableForLegalReasons_451: + return "Unavailable For Legal Reasons"; + case StatusCode::NotImplemented_501: return "Not Implemented"; + case StatusCode::BadGateway_502: return "Bad Gateway"; + case StatusCode::ServiceUnavailable_503: return "Service Unavailable"; + case StatusCode::GatewayTimeout_504: return "Gateway Timeout"; + case StatusCode::HttpVersionNotSupported_505: + return "HTTP Version Not Supported"; + case StatusCode::VariantAlsoNegotiates_506: return "Variant Also Negotiates"; + case StatusCode::InsufficientStorage_507: return "Insufficient Storage"; + case StatusCode::LoopDetected_508: return "Loop Detected"; + case StatusCode::NotExtended_510: return "Not Extended"; + case StatusCode::NetworkAuthenticationRequired_511: + return "Network Authentication Required"; + + default: + case StatusCode::InternalServerError_500: return "Internal Server Error"; + } +} + +std::string to_string(const Error error) { + switch (error) { + case Error::Success: return "Success (no error)"; + case Error::Unknown: return "Unknown"; + case Error::Connection: return "Could not establish connection"; + case Error::BindIPAddress: return "Failed to bind IP address"; + case Error::Read: return "Failed to read connection"; + case Error::Write: return "Failed to write connection"; + case Error::ExceedRedirectCount: return "Maximum redirect count exceeded"; + case Error::Canceled: return "Connection handling canceled"; + case Error::SSLConnection: return "SSL connection failed"; + case Error::SSLLoadingCerts: return "SSL certificate loading failed"; + case Error::SSLServerVerification: return "SSL server verification failed"; + case Error::SSLServerHostnameVerification: + return "SSL server hostname verification failed"; + case Error::UnsupportedMultipartBoundaryChars: + return "Unsupported HTTP multipart boundary characters"; + case Error::Compression: return "Compression failed"; + case Error::ConnectionTimeout: return "Connection timed out"; + case Error::ProxyConnection: return "Proxy connection failed"; + case Error::ConnectionClosed: return "Connection closed by server"; + case Error::Timeout: return "Read timeout"; + case Error::ResourceExhaustion: return "Resource exhaustion"; + case Error::TooManyFormDataFiles: return "Too many form data files"; + case Error::ExceedMaxPayloadSize: return "Exceeded maximum payload size"; + case Error::ExceedUriMaxLength: return "Exceeded maximum URI length"; + case Error::ExceedMaxSocketDescriptorCount: + return "Exceeded maximum socket descriptor count"; + case Error::InvalidRequestLine: return "Invalid request line"; + case Error::InvalidHTTPMethod: return "Invalid HTTP method"; + case Error::InvalidHTTPVersion: return "Invalid HTTP version"; + case Error::InvalidHeaders: return "Invalid headers"; + case Error::MultipartParsing: return "Multipart parsing failed"; + case Error::OpenFile: return "Failed to open file"; + case Error::Listen: return "Failed to listen on socket"; + case Error::GetSockName: return "Failed to get socket name"; + case Error::UnsupportedAddressFamily: return "Unsupported address family"; + case Error::HTTPParsing: return "HTTP parsing failed"; + case Error::InvalidRangeHeader: return "Invalid Range header"; + default: break; + } + + return "Invalid"; +} + +std::ostream &operator<<(std::ostream &os, const Error &obj) { + os << to_string(obj); + os << " (" << static_cast::type>(obj) << ')'; + return os; +} + std::string hosted_at(const std::string &hostname) { std::vector addrs; hosted_at(hostname, addrs); @@ -3779,7 +4142,7 @@ void hosted_at(const std::string &hostname, auto dummy = -1; if (detail::get_ip_and_port(addr, sizeof(struct sockaddr_storage), ip, dummy)) { - addrs.push_back(ip); + addrs.emplace_back(std::move(ip)); } } } @@ -4319,6 +4682,67 @@ ssize_t Stream::write(const std::string &s) { return write(s.data(), s.size()); } +// BodyReader implementation +ssize_t detail::BodyReader::read(char *buf, size_t len) { + if (!stream) { + last_error = Error::Connection; + return -1; + } + if (eof) { return 0; } + + if (!chunked) { + // Content-Length based reading + if (bytes_read >= content_length) { + eof = true; + return 0; + } + + auto remaining = content_length - bytes_read; + auto to_read = (std::min)(len, remaining); + auto n = stream->read(buf, to_read); + + if (n < 0) { + last_error = stream->get_error(); + if (last_error == Error::Success) { last_error = Error::Read; } + eof = true; + return n; + } + if (n == 0) { + // Unexpected EOF before content_length + last_error = stream->get_error(); + if (last_error == Error::Success) { last_error = Error::Read; } + eof = true; + return 0; + } + + bytes_read += static_cast(n); + if (bytes_read >= content_length) { eof = true; } + return n; + } + + // Chunked transfer encoding: delegate to shared decoder instance. + if (!chunked_decoder) { chunked_decoder.reset(new ChunkedDecoder(*stream)); } + + size_t chunk_offset = 0; + size_t chunk_total = 0; + auto n = chunked_decoder->read_payload(buf, len, chunk_offset, chunk_total); + if (n < 0) { + last_error = stream->get_error(); + if (last_error == Error::Success) { last_error = Error::Read; } + eof = true; + return n; + } + + if (n == 0) { + // Final chunk observed. Leave trailer parsing to the caller (StreamHandle). + eof = true; + return 0; + } + + bytes_read += static_cast(n); + return n; +} + namespace detail { void calc_actual_timeout(time_t max_timeout_msec, time_t duration_msec, @@ -4395,7 +4819,10 @@ ssize_t SocketStream::read(char *ptr, size_t size) { } } - if (!wait_readable()) { return -1; } + if (!wait_readable()) { + error_ = Error::Timeout; + return -1; + } read_buff_off_ = 0; read_buff_content_size_ = 0; @@ -4404,6 +4831,11 @@ ssize_t SocketStream::read(char *ptr, size_t size) { auto n = read_socket(sock_, read_buff_.data(), read_buff_size_, CPPHTTPLIB_RECV_FLAGS); if (n <= 0) { + if (n == 0) { + error_ = Error::ConnectionClosed; + } else { + error_ = Error::Read; + } return n; } else if (n <= static_cast(size)) { memcpy(ptr, read_buff_.data(), static_cast(n)); @@ -4415,7 +4847,15 @@ ssize_t SocketStream::read(char *ptr, size_t size) { return static_cast(size); } } else { - return read_socket(sock_, ptr, size, CPPHTTPLIB_RECV_FLAGS); + auto n = read_socket(sock_, ptr, size, CPPHTTPLIB_RECV_FLAGS); + if (n <= 0) { + if (n == 0) { + error_ = Error::ConnectionClosed; + } else { + error_ = Error::Read; + } + } + return n; } } @@ -4579,19 +5019,22 @@ bool RegexMatcher::match(Request &request) const { return std::regex_match(request.path, request.matches, regex_); } -std::string make_host_and_port_string(const std::string &host, int port, - bool is_ssl) { - std::string result; - +// Enclose IPv6 address in brackets if needed +std::string prepare_host_string(const std::string &host) { // Enclose IPv6 address in brackets (but not if already enclosed) if (host.find(':') == std::string::npos || (!host.empty() && host[0] == '[')) { // IPv4, hostname, or already bracketed IPv6 - result = host; + return host; } else { // IPv6 address without brackets - result = "[" + host + "]"; + return "[" + host + "]"; } +} + +std::string make_host_and_port_string(const std::string &host, int port, + bool is_ssl) { + auto result = prepare_host_string(host); // Append port if not default if ((!is_ssl && port == 80) || (is_ssl && port == 443)) { @@ -4603,6 +5046,29 @@ std::string make_host_and_port_string(const std::string &host, int port, return result; } +// Create "host:port" string always including port number (for CONNECT method) +std::string +make_host_and_port_string_always_port(const std::string &host, int port) { + return prepare_host_string(host) + ":" + std::to_string(port); +} + +template +bool check_and_write_headers(Stream &strm, Headers &headers, + T header_writer, Error &error) { + for (const auto &h : headers) { + if (!detail::fields::is_field_name(h.first) || + !detail::fields::is_field_value(h.second)) { + error = Error::InvalidHeaders; + return false; + } + } + if (header_writer(strm, headers) <= 0) { + error = Error::Write; + return false; + } + return true; +} + } // namespace detail // HTTP server implementation @@ -4694,7 +5160,7 @@ bool Server::set_mount_point(const std::string &mount_point, if (stat.is_dir()) { std::string mnt = !mount_point.empty() ? mount_point : "/"; if (!mnt.empty() && mnt[0] == '/') { - base_dirs_.push_back({mnt, dir, std::move(headers)}); + base_dirs_.push_back({std::move(mnt), dir, std::move(headers)}); return true; } } @@ -5010,7 +5476,7 @@ bool Server::write_response_core(Stream &strm, bool close_connection, { detail::BufferStream bstrm; if (!detail::write_response_line(bstrm, res.status)) { return false; } - if (!header_writer_(bstrm, res.headers)) { return false; } + if (header_writer_(bstrm, res.headers) <= 0) { return false; } // Flush buffer auto &data = bstrm.get_buffer(); @@ -5103,7 +5569,16 @@ bool Server::read_content(Stream &strm, Request &req, Response &res) { strm, req, res, // Regular [&](const char *buf, size_t n) { - if (req.body.size() + n > req.body.max_size()) { return false; } + // Prevent arithmetic overflow when checking sizes. + // Avoid computing (req.body.size() + n) directly because + // adding two unsigned `size_t` values can wrap around and + // produce a small result instead of indicating overflow. + // Instead, check using subtraction: ensure `n` does not + // exceed the remaining capacity `max_size() - size()`. + if (req.body.size() >= req.body.max_size() || + n > req.body.max_size() - req.body.size()) { + return false; + } req.body.append(buf, n); return true; }, @@ -5186,10 +5661,39 @@ bool Server::read_content_core( // RFC 7230 Section 3.3.3: If this is a request message and none of the above // are true (no Transfer-Encoding and no Content-Length), then the message // body length is zero (no message body is present). + // + // For non-SSL builds, peek into the socket to detect clients that send a + // body without a Content-Length header (raw HTTP over TCP). If there is + // pending data that exceeds the configured payload limit, treat this as an + // oversized request and fail early (causing connection close). For SSL + // builds we cannot reliably peek the decrypted application bytes, so keep + // the original behaviour. +#if !defined(CPPHTTPLIB_OPENSSL_SUPPORT) && !defined(_WIN32) + if (!req.has_header("Content-Length") && + !detail::is_chunked_transfer_encoding(req.headers)) { + socket_t s = strm.socket(); + if (s != INVALID_SOCKET) { + // Peek up to payload_max_length_ + 1 bytes. If more than + // payload_max_length_ bytes are pending, reject the request. + size_t to_peek = + (payload_max_length_ > 0) + ? (std::min)(payload_max_length_ + 1, static_cast(4096)) + : 1; + std::vector peekbuf(to_peek); + ssize_t n = ::recv(s, peekbuf.data(), to_peek, MSG_PEEK); + if (n > 0 && static_cast(n) > payload_max_length_) { + // Indicate failure so connection will be closed. + return false; + } + } + return true; + } +#else if (!req.has_header("Content-Length") && !detail::is_chunked_transfer_encoding(req.headers)) { return true; } +#endif if (!detail::read_content(strm, req, payload_max_length_, res.status, nullptr, out, true)) { @@ -5207,7 +5711,7 @@ bool Server::read_content_core( return true; } -bool Server::handle_file_request(const Request &req, Response &res) { +bool Server::handle_file_request(Request &req, Response &res) { for (const auto &entry : base_dirs_) { // Prefix match if (!req.path.compare(0, entry.mount_point.size(), entry.mount_point)) { @@ -5228,6 +5732,20 @@ bool Server::handle_file_request(const Request &req, Response &res) { res.set_header(kv.first, kv.second); } + auto etag = detail::compute_etag(stat); + if (!etag.empty()) { res.set_header("ETag", etag); } + + auto mtime = stat.mtime(); + + auto last_modified = detail::file_mtime_to_http_date(mtime); + if (!last_modified.empty()) { + res.set_header("Last-Modified", last_modified); + } + + if (check_if_not_modified(req, res, etag, mtime)) { return true; } + + check_if_range(req, etag, mtime); + auto mm = std::make_shared(path.c_str()); if (!mm->is_open()) { output_error_log(Error::OpenFile, &req); @@ -5257,6 +5775,79 @@ bool Server::handle_file_request(const Request &req, Response &res) { return false; } +bool Server::check_if_not_modified(const Request &req, Response &res, + const std::string &etag, + time_t mtime) const { + // Handle conditional GET: + // 1. If-None-Match takes precedence (RFC 9110 Section 13.1.2) + // 2. If-Modified-Since is checked only when If-None-Match is absent + if (req.has_header("If-None-Match")) { + if (!etag.empty()) { + auto val = req.get_header_value("If-None-Match"); + + // NOTE: We use exact string matching here. This works correctly + // because our server always generates weak ETags (W/"..."), and + // clients typically send back the same ETag they received. + // RFC 9110 Section 8.8.3.2 allows weak comparison for + // If-None-Match, where W/"x" and "x" would match, but this + // simplified implementation requires exact matches. + auto ret = detail::split_find(val.data(), val.data() + val.size(), ',', + [&](const char *b, const char *e) { + return std::equal(b, e, "*") || + std::equal(b, e, etag.begin()); + }); + + if (ret) { + res.status = StatusCode::NotModified_304; + return true; + } + } + } else if (req.has_header("If-Modified-Since")) { + auto val = req.get_header_value("If-Modified-Since"); + auto t = detail::parse_http_date(val); + + if (t != static_cast(-1) && mtime <= t) { + res.status = StatusCode::NotModified_304; + return true; + } + } + return false; +} + +bool Server::check_if_range(Request &req, const std::string &etag, + time_t mtime) const { + // Handle If-Range for partial content requests (RFC 9110 + // Section 13.1.5). If-Range is only evaluated when Range header is + // present. If the validator matches, serve partial content; otherwise + // serve full content. + if (!req.ranges.empty() && req.has_header("If-Range")) { + auto val = req.get_header_value("If-Range"); + + auto is_valid_range = [&]() { + if (detail::is_strong_etag(val)) { + // RFC 9110 Section 13.1.5: If-Range requires strong ETag + // comparison. + return (!etag.empty() && val == etag); + } else if (detail::is_weak_etag(val)) { + // Weak ETags are not valid for If-Range (RFC 9110 Section 13.1.5) + return false; + } else { + // HTTP-date comparison + auto t = detail::parse_http_date(val); + return (t != static_cast(-1) && mtime <= t); + } + }; + + if (!is_valid_range()) { + // Validator doesn't match: ignore Range and serve full content + req.ranges.clear(); + return false; + } + } + + return true; +} + socket_t Server::create_server_socket(const std::string &host, int port, int socket_flags, @@ -5524,10 +6115,13 @@ void Server::apply_ranges(const Request &req, Response &res, res.set_header("Transfer-Encoding", "chunked"); if (type == detail::EncodingType::Gzip) { res.set_header("Content-Encoding", "gzip"); + res.set_header("Vary", "Accept-Encoding"); } else if (type == detail::EncodingType::Brotli) { res.set_header("Content-Encoding", "br"); + res.set_header("Vary", "Accept-Encoding"); } else if (type == detail::EncodingType::Zstd) { res.set_header("Content-Encoding", "zstd"); + res.set_header("Vary", "Accept-Encoding"); } } } @@ -5586,6 +6180,7 @@ void Server::apply_ranges(const Request &req, Response &res, })) { res.body.swap(compressed); res.set_header("Content-Encoding", content_encoding); + res.set_header("Vary", "Accept-Encoding"); } } } @@ -5663,6 +6258,10 @@ Server::process_request(Stream &strm, const std::string &remote_addr, Request req; req.start_time_ = std::chrono::steady_clock::now(); + req.remote_addr = remote_addr; + req.remote_port = remote_port; + req.local_addr = local_addr; + req.local_port = local_port; Response res; res.version = "HTTP/1.1"; @@ -5908,7 +6507,6 @@ ClientImpl::ClientImpl(const std::string &host, int port, const std::string &client_cert_path, const std::string &client_key_path) : host_(detail::escape_abstract_namespace_unix_domain(host)), port_(port), - host_and_port_(detail::make_host_and_port_string(host_, port, is_ssl())), client_cert_path_(client_cert_path), client_key_path_(client_key_path) {} ClientImpl::~ClientImpl() { @@ -6007,6 +6605,26 @@ bool ClientImpl::create_and_connect_socket(Socket &socket, return true; } +bool ClientImpl::ensure_socket_connection(Socket &socket, Error &error) { + return create_and_connect_socket(socket, error); +} + +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT +bool SSLClient::ensure_socket_connection(Socket &socket, Error &error) { + if (!ClientImpl::ensure_socket_connection(socket, error)) { return false; } + + if (!proxy_host_.empty() && proxy_port_ != -1) { return true; } + + if (!initialize_ssl(socket, error)) { + shutdown_socket(socket); + close_socket(socket); + return false; + } + + return true; +} +#endif + void ClientImpl::shutdown_ssl(Socket & /*socket*/, bool /*shutdown_gracefully*/) { // If there are any requests in flight from threads other than us, then it's @@ -6119,7 +6737,7 @@ bool ClientImpl::send_(Request &req, Response &res, Error &error) { } if (!is_alive) { - if (!create_and_connect_socket(socket_, error)) { + if (!ensure_socket_connection(socket_, error)) { output_error_log(error, &req); return false; } @@ -6137,9 +6755,11 @@ bool ClientImpl::send_(Request &req, Response &res, Error &error) { } } - if (!scli.initialize_ssl(socket_, error)) { - output_error_log(error, &req); - return false; + if (!proxy_host_.empty() && proxy_port_ != -1) { + if (!scli.initialize_ssl(socket_, error)) { + output_error_log(error, &req); + return false; + } } } #endif @@ -6212,6 +6832,343 @@ Result ClientImpl::send_(Request &&req) { #endif } +void ClientImpl::prepare_default_headers(Request &r, bool for_stream, + const std::string &ct) { + (void)for_stream; + for (const auto &header : default_headers_) { + if (!r.has_header(header.first)) { r.headers.insert(header); } + } + + if (!r.has_header("Host")) { + if (address_family_ == AF_UNIX) { + r.headers.emplace("Host", "localhost"); + } else { + r.headers.emplace( + "Host", detail::make_host_and_port_string(host_, port_, is_ssl())); + } + } + + if (!r.has_header("Accept")) { r.headers.emplace("Accept", "*/*"); } + + if (!r.content_receiver) { + if (!r.has_header("Accept-Encoding")) { + std::string accept_encoding; +#ifdef CPPHTTPLIB_BROTLI_SUPPORT + accept_encoding = "br"; +#endif +#ifdef CPPHTTPLIB_ZLIB_SUPPORT + if (!accept_encoding.empty()) { accept_encoding += ", "; } + accept_encoding += "gzip, deflate"; +#endif +#ifdef CPPHTTPLIB_ZSTD_SUPPORT + if (!accept_encoding.empty()) { accept_encoding += ", "; } + accept_encoding += "zstd"; +#endif + r.set_header("Accept-Encoding", accept_encoding); + } + +#ifndef CPPHTTPLIB_NO_DEFAULT_USER_AGENT + if (!r.has_header("User-Agent")) { + auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION; + r.set_header("User-Agent", agent); + } +#endif + } + + if (!r.body.empty()) { + if (!ct.empty() && !r.has_header("Content-Type")) { + r.headers.emplace("Content-Type", ct); + } + if (!r.has_header("Content-Length")) { + r.headers.emplace("Content-Length", std::to_string(r.body.size())); + } + } +} + +ClientImpl::StreamHandle +ClientImpl::open_stream(const std::string &method, const std::string &path, + const Params ¶ms, const Headers &headers, + const std::string &body, + const std::string &content_type) { + StreamHandle handle; + handle.response = detail::make_unique(); + handle.error = Error::Success; + + auto query_path = params.empty() ? path : append_query_params(path, params); + handle.connection_ = detail::make_unique(); + + { + std::lock_guard guard(socket_mutex_); + + auto is_alive = false; + if (socket_.is_open()) { + is_alive = detail::is_socket_alive(socket_.sock); +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + if (is_alive && is_ssl()) { + if (detail::is_ssl_peer_could_be_closed(socket_.ssl, socket_.sock)) { + is_alive = false; + } + } +#endif + if (!is_alive) { + shutdown_ssl(socket_, false); + shutdown_socket(socket_); + close_socket(socket_); + } + } + + if (!is_alive) { + if (!ensure_socket_connection(socket_, handle.error)) { + handle.response.reset(); + return handle; + } + +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + if (is_ssl()) { + auto &scli = static_cast(*this); + if (!proxy_host_.empty() && proxy_port_ != -1) { + if (!scli.initialize_ssl(socket_, handle.error)) { + handle.response.reset(); + return handle; + } + } + } +#endif + } + + transfer_socket_ownership_to_handle(handle); + } + +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + if (is_ssl() && handle.connection_->ssl) { + handle.socket_stream_ = detail::make_unique( + handle.connection_->sock, handle.connection_->ssl, read_timeout_sec_, + read_timeout_usec_, write_timeout_sec_, write_timeout_usec_); + } else { + handle.socket_stream_ = detail::make_unique( + handle.connection_->sock, read_timeout_sec_, read_timeout_usec_, + write_timeout_sec_, write_timeout_usec_); + } +#else + handle.socket_stream_ = detail::make_unique( + handle.connection_->sock, read_timeout_sec_, read_timeout_usec_, + write_timeout_sec_, write_timeout_usec_); +#endif + handle.stream_ = handle.socket_stream_.get(); + + Request req; + req.method = method; + req.path = query_path; + req.headers = headers; + req.body = body; + + prepare_default_headers(req, true, content_type); + + auto &strm = *handle.stream_; + if (detail::write_request_line(strm, req.method, req.path) < 0) { + handle.error = Error::Write; + handle.response.reset(); + return handle; + } + + if (!detail::check_and_write_headers(strm, req.headers, header_writer_, + handle.error)) { + handle.response.reset(); + return handle; + } + + if (!body.empty()) { + if (strm.write(body.data(), body.size()) < 0) { + handle.error = Error::Write; + handle.response.reset(); + return handle; + } + } + + if (!read_response_line(strm, req, *handle.response) || + !detail::read_headers(strm, handle.response->headers)) { + handle.error = Error::Read; + handle.response.reset(); + return handle; + } + + handle.body_reader_.stream = handle.stream_; + + auto content_length_str = handle.response->get_header_value("Content-Length"); + if (!content_length_str.empty()) { + handle.body_reader_.content_length = + static_cast(std::stoull(content_length_str)); + } + + auto transfer_encoding = + handle.response->get_header_value("Transfer-Encoding"); + handle.body_reader_.chunked = (transfer_encoding == "chunked"); + + auto content_encoding = handle.response->get_header_value("Content-Encoding"); + if (!content_encoding.empty()) { + handle.decompressor_ = detail::create_decompressor(content_encoding); + } + + return handle; +} + +ssize_t ClientImpl::StreamHandle::read(char *buf, size_t len) { + if (!is_valid() || !response) { return -1; } + + if (decompressor_) { return read_with_decompression(buf, len); } + auto n = detail::read_body_content(stream_, body_reader_, buf, len); + + if (n <= 0 && body_reader_.chunked && !trailers_parsed_ && stream_) { + trailers_parsed_ = true; + if (body_reader_.chunked_decoder) { + if (!body_reader_.chunked_decoder->parse_trailers_into( + response->trailers, response->headers)) { + return n; + } + } else { + detail::ChunkedDecoder dec(*stream_); + if (!dec.parse_trailers_into(response->trailers, response->headers)) { + return n; + } + } + } + + return n; +} + +ssize_t ClientImpl::StreamHandle::read_with_decompression(char *buf, + size_t len) { + if (decompress_offset_ < decompress_buffer_.size()) { + auto available = decompress_buffer_.size() - decompress_offset_; + auto to_copy = (std::min)(len, available); + std::memcpy(buf, decompress_buffer_.data() + decompress_offset_, to_copy); + decompress_offset_ += to_copy; + return static_cast(to_copy); + } + + decompress_buffer_.clear(); + decompress_offset_ = 0; + + constexpr size_t kDecompressionBufferSize = 8192; + char compressed_buf[kDecompressionBufferSize]; + + while (true) { + auto n = detail::read_body_content(stream_, body_reader_, compressed_buf, + sizeof(compressed_buf)); + + if (n <= 0) { return n; } + + bool decompress_ok = + decompressor_->decompress(compressed_buf, static_cast(n), + [this](const char *data, size_t data_len) { + decompress_buffer_.append(data, data_len); + return true; + }); + + if (!decompress_ok) { + body_reader_.last_error = Error::Read; + return -1; + } + + if (!decompress_buffer_.empty()) { break; } + } + + auto to_copy = (std::min)(len, decompress_buffer_.size()); + std::memcpy(buf, decompress_buffer_.data(), to_copy); + decompress_offset_ = to_copy; + return static_cast(to_copy); +} + +void ClientImpl::StreamHandle::parse_trailers_if_needed() { + if (!response || !stream_ || !body_reader_.chunked || trailers_parsed_) { + return; + } + + trailers_parsed_ = true; + + const auto bufsiz = 128; + char line_buf[bufsiz]; + detail::stream_line_reader line_reader(*stream_, line_buf, bufsiz); + + if (!line_reader.getline()) { return; } + + if (!detail::parse_trailers(line_reader, response->trailers, + response->headers)) { + return; + } +} + +// Inline method implementations for `ChunkedDecoder`. +namespace detail { + +ChunkedDecoder::ChunkedDecoder(Stream &s) : strm(s) {} + +ssize_t ChunkedDecoder::read_payload(char *buf, size_t len, + size_t &out_chunk_offset, + size_t &out_chunk_total) { + if (finished) { return 0; } + + if (chunk_remaining == 0) { + stream_line_reader lr(strm, line_buf, sizeof(line_buf)); + if (!lr.getline()) { return -1; } + + char *endptr = nullptr; + unsigned long chunk_len = std::strtoul(lr.ptr(), &endptr, 16); + if (endptr == lr.ptr()) { return -1; } + if (chunk_len == ULONG_MAX) { return -1; } + + if (chunk_len == 0) { + chunk_remaining = 0; + finished = true; + out_chunk_offset = 0; + out_chunk_total = 0; + return 0; + } + + chunk_remaining = static_cast(chunk_len); + last_chunk_total = chunk_remaining; + last_chunk_offset = 0; + } + + auto to_read = (std::min)(chunk_remaining, len); + auto n = strm.read(buf, to_read); + if (n <= 0) { return -1; } + + auto offset_before = last_chunk_offset; + last_chunk_offset += static_cast(n); + chunk_remaining -= static_cast(n); + + out_chunk_offset = offset_before; + out_chunk_total = last_chunk_total; + + if (chunk_remaining == 0) { + stream_line_reader lr(strm, line_buf, sizeof(line_buf)); + if (!lr.getline()) { return -1; } + if (std::strcmp(lr.ptr(), "\r\n") != 0) { return -1; } + } + + return n; +} + +bool ChunkedDecoder::parse_trailers_into(Headers &dest, + const Headers &src_headers) { + stream_line_reader lr(strm, line_buf, sizeof(line_buf)); + if (!lr.getline()) { return false; } + return parse_trailers(lr, dest, src_headers); +} + +} // namespace detail + +void +ClientImpl::transfer_socket_ownership_to_handle(StreamHandle &handle) { + handle.connection_->sock = socket_.sock; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + handle.connection_->ssl = socket_.ssl; + socket_.ssl = nullptr; +#endif + socket_.sock = INVALID_SOCKET; +} + bool ClientImpl::handle_request(Stream &strm, Request &req, Response &res, bool close_connection, Error &error) { @@ -6227,9 +7184,11 @@ bool ClientImpl::handle_request(Stream &strm, Request &req, if (!is_ssl() && !proxy_host_.empty() && proxy_port_ != -1) { auto req2 = req; - req2.path = "http://" + host_and_port_ + req.path; + req2.path = "http://" + + detail::make_host_and_port_string(host_, port_, false) + + req.path; ret = process_request(strm, req2, res, close_connection, error); - req = req2; + req = std::move(req2); req.path = req_save.path; } else { ret = process_request(strm, req, res, close_connection, error); @@ -6253,7 +7212,7 @@ bool ClientImpl::handle_request(Stream &strm, Request &req, } if (300 < res.status && res.status < 400 && follow_location_) { - req = req_save; + req = std::move(req_save); ret = redirect(req, res, error); } @@ -6281,7 +7240,7 @@ bool ClientImpl::handle_request(Stream &strm, Request &req, Response new_res; ret = send(new_req, new_res, error); - if (ret) { res = new_res; } + if (ret) { res = std::move(new_res); } } } } @@ -6514,42 +7473,11 @@ bool ClientImpl::write_request(Stream &strm, Request &req, } } - if (!req.has_header("Host")) { - // For Unix socket connections, use "localhost" as Host header (similar to - // curl behavior) - if (address_family_ == AF_UNIX) { - req.set_header("Host", "localhost"); - } else { - req.set_header("Host", host_and_port_); - } + std::string ct_for_defaults; + if (!req.has_header("Content-Type") && !req.body.empty()) { + ct_for_defaults = "text/plain"; } - - if (!req.has_header("Accept")) { req.set_header("Accept", "*/*"); } - - if (!req.content_receiver) { - if (!req.has_header("Accept-Encoding")) { - std::string accept_encoding; -#ifdef CPPHTTPLIB_BROTLI_SUPPORT - accept_encoding = "br"; -#endif -#ifdef CPPHTTPLIB_ZLIB_SUPPORT - if (!accept_encoding.empty()) { accept_encoding += ", "; } - accept_encoding += "gzip, deflate"; -#endif -#ifdef CPPHTTPLIB_ZSTD_SUPPORT - if (!accept_encoding.empty()) { accept_encoding += ", "; } - accept_encoding += "zstd"; -#endif - req.set_header("Accept-Encoding", accept_encoding); - } - -#ifndef CPPHTTPLIB_NO_DEFAULT_USER_AGENT - if (!req.has_header("User-Agent")) { - auto agent = std::string("cpp-httplib/") + CPPHTTPLIB_VERSION; - req.set_header("User-Agent", agent); - } -#endif - }; + prepare_default_headers(req, false, ct_for_defaults); if (req.body.empty()) { if (req.content_provider_) { @@ -6565,15 +7493,6 @@ bool ClientImpl::write_request(Stream &strm, Request &req, req.set_header("Content-Length", "0"); } } - } else { - if (!req.has_header("Content-Type")) { - req.set_header("Content-Type", "text/plain"); - } - - if (!req.has_header("Content-Length")) { - auto length = std::to_string(req.body.size()); - req.set_header("Content-Length", length); - } } if (!basic_auth_password_.empty() || !basic_auth_username_.empty()) { @@ -6620,18 +7539,41 @@ bool ClientImpl::write_request(Stream &strm, Request &req, query_part = ""; } - // Encode path and query + // Encode path part. If the original `req.path` already contained a + // query component, preserve its raw query string (including parameter + // order) instead of reparsing and reassembling it which may reorder + // parameters due to container ordering (e.g. `Params` uses + // `std::multimap`). When there is no query in `req.path`, fall back to + // building a query from `req.params` so existing callers that pass + // `Params` continue to work. auto path_with_query = path_encode_ ? detail::encode_path(path_part) : path_part; - detail::parse_query_text(query_part, req.params); - if (!req.params.empty()) { - path_with_query = append_query_params(path_with_query, req.params); + if (!query_part.empty()) { + // Normalize the query string (decode then re-encode) while preserving + // the original parameter order. + auto normalized = detail::normalize_query_string(query_part); + if (!normalized.empty()) { path_with_query += '?' + normalized; } + + // Still populate req.params for handlers/users who read them. + detail::parse_query_text(query_part, req.params); + } else { + // No query in path; parse any query_part (empty) and append params + // from `req.params` when present (preserves prior behavior for + // callers who provide Params separately). + detail::parse_query_text(query_part, req.params); + if (!req.params.empty()) { + path_with_query = append_query_params(path_with_query, req.params); + } } // Write request line and headers detail::write_request_line(bstrm, req.method, path_with_query); - header_writer_(bstrm, req.headers); + if (!detail::check_and_write_headers(bstrm, req.headers, header_writer_, + error)) { + output_error_log(error, &req); + return false; + } // Flush buffer auto &data = bstrm.get_buffer(); @@ -8096,7 +9038,9 @@ bool SSLSocketStream::wait_writable() const { ssize_t SSLSocketStream::read(char *ptr, size_t size) { if (SSL_pending(ssl_) > 0) { - return SSL_read(ssl_, ptr, static_cast(size)); + auto ret = SSL_read(ssl_, ptr, static_cast(size)); + if (ret == 0) { error_ = Error::ConnectionClosed; } + return ret; } else if (wait_readable()) { auto ret = SSL_read(ssl_, ptr, static_cast(size)); if (ret < 0) { @@ -8121,9 +9065,12 @@ ssize_t SSLSocketStream::read(char *ptr, size_t size) { } } assert(ret < 0); + } else if (ret == 0) { + error_ = Error::ConnectionClosed; } return ret; } else { + error_ = Error::Timeout; return -1; } } @@ -8499,7 +9446,8 @@ bool SSLClient::connect_with_proxy( start_time, [&](Stream &strm) { Request req2; req2.method = "CONNECT"; - req2.path = host_and_port_; + req2.path = + detail::make_host_and_port_string_always_port(host_, port_); if (max_timeout_msec_ > 0) { req2.start_time_ = std::chrono::steady_clock::now(); } @@ -8526,7 +9474,7 @@ bool SSLClient::connect_with_proxy( close_socket(socket); // Create a new socket for the authenticated CONNECT request - if (!create_and_connect_socket(socket, error)) { + if (!ensure_socket_connection(socket, error)) { success = false; output_error_log(error, nullptr); return false; @@ -8539,7 +9487,8 @@ bool SSLClient::connect_with_proxy( start_time, [&](Stream &strm) { Request req3; req3.method = "CONNECT"; - req3.path = host_and_port_; + req3.path = detail::make_host_and_port_string_always_port( + host_, port_); req3.headers.insert(detail::make_digest_authentication_header( req3, auth, 1, detail::random_string(10), proxy_digest_auth_username_, proxy_digest_auth_password_, @@ -9424,6 +10373,13 @@ Result Client::Options(const std::string &path, const Headers &headers) { return cli_->Options(path, headers); } +ClientImpl::StreamHandle +Client::open_stream(const std::string &method, const std::string &path, + const Params ¶ms, const Headers &headers, + const std::string &body, const std::string &content_type) { + return cli_->open_stream(method, path, params, headers, body, content_type); +} + bool Client::send(Request &req, Response &res, Error &error) { return cli_->send(req, res, error); } diff --git a/vendor/cpp-httplib/httplib.h b/vendor/cpp-httplib/httplib.h index c9bd9fd86b..43cdbc5832 100644 --- a/vendor/cpp-httplib/httplib.h +++ b/vendor/cpp-httplib/httplib.h @@ -1,15 +1,15 @@ // // httplib.h // -// Copyright (c) 2025 Yuji Hirose. All rights reserved. +// Copyright (c) 2026 Yuji Hirose. All rights reserved. // MIT License // #ifndef CPPHTTPLIB_HTTPLIB_H #define CPPHTTPLIB_HTTPLIB_H -#define CPPHTTPLIB_VERSION "0.28.0" -#define CPPHTTPLIB_VERSION_NUM "0x001C00" +#define CPPHTTPLIB_VERSION "0.30.0" +#define CPPHTTPLIB_VERSION_NUM "0x001E00" /* * Platform compatibility check @@ -838,6 +838,50 @@ struct Response { std::string file_content_content_type_; }; +enum class Error { + Success = 0, + Unknown, + Connection, + BindIPAddress, + Read, + Write, + ExceedRedirectCount, + Canceled, + SSLConnection, + SSLLoadingCerts, + SSLServerVerification, + SSLServerHostnameVerification, + UnsupportedMultipartBoundaryChars, + Compression, + ConnectionTimeout, + ProxyConnection, + ConnectionClosed, + Timeout, + ResourceExhaustion, + TooManyFormDataFiles, + ExceedMaxPayloadSize, + ExceedUriMaxLength, + ExceedMaxSocketDescriptorCount, + InvalidRequestLine, + InvalidHTTPMethod, + InvalidHTTPVersion, + InvalidHeaders, + MultipartParsing, + OpenFile, + Listen, + GetSockName, + UnsupportedAddressFamily, + HTTPParsing, + InvalidRangeHeader, + + // For internal use only + SSLPeerCouldBeClosed_, +}; + +std::string to_string(Error error); + +std::ostream &operator<<(std::ostream &os, const Error &obj); + class Stream { public: virtual ~Stream() = default; @@ -856,6 +900,11 @@ public: ssize_t write(const char *ptr); ssize_t write(const std::string &s); + + Error get_error() const { return error_; } + +protected: + Error error_ = Error::Success; }; class TaskQueue { @@ -873,6 +922,7 @@ class ThreadPool final : public TaskQueue { public: explicit ThreadPool(size_t n, size_t mqr = 0) : shutdown_(false), max_queued_requests_(mqr) { + threads_.reserve(n); while (n) { threads_.emplace_back(worker(*this)); n--; @@ -961,27 +1011,21 @@ using ErrorLogger = std::function; using SocketOptions = std::function; -namespace detail { - -bool set_socket_opt_impl(socket_t sock, int level, int optname, - const void *optval, socklen_t optlen); -bool set_socket_opt(socket_t sock, int level, int optname, int opt); -bool set_socket_opt_time(socket_t sock, int level, int optname, time_t sec, - time_t usec); - -} // namespace detail - void default_socket_options(socket_t sock); const char *status_message(int status); +std::string to_string(Error error); + +std::ostream &operator<<(std::ostream &os, const Error &obj); + std::string get_bearer_token_auth(const Request &req); namespace detail { class MatcherBase { public: - MatcherBase(std::string pattern) : pattern_(pattern) {} + MatcherBase(std::string pattern) : pattern_(std::move(pattern)) {} virtual ~MatcherBase() = default; const std::string &pattern() const { return pattern_; } @@ -1051,10 +1095,9 @@ private: std::regex regex_; }; -ssize_t write_headers(Stream &strm, const Headers &headers); +int close_socket(socket_t sock); -std::string make_host_and_port_string(const std::string &host, int port, - bool is_ssl); +ssize_t write_headers(Stream &strm, const Headers &headers); } // namespace detail @@ -1206,7 +1249,11 @@ private: bool listen_internal(); bool routing(Request &req, Response &res, Stream &strm); - bool handle_file_request(const Request &req, Response &res); + bool handle_file_request(Request &req, Response &res); + bool check_if_not_modified(const Request &req, Response &res, + const std::string &etag, time_t mtime) const; + bool check_if_range(Request &req, const std::string &etag, + time_t mtime) const; bool dispatch_request(Request &req, Response &res, const Handlers &handlers) const; bool dispatch_request_for_content_reader( @@ -1290,48 +1337,6 @@ private: detail::write_headers; }; -enum class Error { - Success = 0, - Unknown, - Connection, - BindIPAddress, - Read, - Write, - ExceedRedirectCount, - Canceled, - SSLConnection, - SSLLoadingCerts, - SSLServerVerification, - SSLServerHostnameVerification, - UnsupportedMultipartBoundaryChars, - Compression, - ConnectionTimeout, - ProxyConnection, - ResourceExhaustion, - TooManyFormDataFiles, - ExceedMaxPayloadSize, - ExceedUriMaxLength, - ExceedMaxSocketDescriptorCount, - InvalidRequestLine, - InvalidHTTPMethod, - InvalidHTTPVersion, - InvalidHeaders, - MultipartParsing, - OpenFile, - Listen, - GetSockName, - UnsupportedAddressFamily, - HTTPParsing, - InvalidRangeHeader, - - // For internal use only - SSLPeerCouldBeClosed_, -}; - -std::string to_string(Error error); - -std::ostream &operator<<(std::ostream &os, const Error &obj); - class Result { public: Result() = default; @@ -1390,6 +1395,87 @@ private: #endif }; +struct ClientConnection { + socket_t sock = INVALID_SOCKET; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + SSL *ssl = nullptr; +#endif + + bool is_open() const { return sock != INVALID_SOCKET; } + + ClientConnection() = default; + + ~ClientConnection() { +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + if (ssl) { + SSL_free(ssl); + ssl = nullptr; + } +#endif + if (sock != INVALID_SOCKET) { + detail::close_socket(sock); + sock = INVALID_SOCKET; + } + } + + ClientConnection(const ClientConnection &) = delete; + ClientConnection &operator=(const ClientConnection &) = delete; + + ClientConnection(ClientConnection &&other) noexcept + : sock(other.sock) +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + , + ssl(other.ssl) +#endif + { + other.sock = INVALID_SOCKET; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + other.ssl = nullptr; +#endif + } + + ClientConnection &operator=(ClientConnection &&other) noexcept { + if (this != &other) { + sock = other.sock; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + ssl = other.ssl; +#endif + other.sock = INVALID_SOCKET; +#ifdef CPPHTTPLIB_OPENSSL_SUPPORT + other.ssl = nullptr; +#endif + } + return *this; + } +}; + +namespace detail { + +struct ChunkedDecoder; + +struct BodyReader { + Stream *stream = nullptr; + size_t content_length = 0; + size_t bytes_read = 0; + bool chunked = false; + bool eof = false; + std::unique_ptr chunked_decoder; + Error last_error = Error::Success; + + ssize_t read(char *buf, size_t len); + bool has_error() const { return last_error != Error::Success; } +}; + +inline ssize_t read_body_content(Stream *stream, BodyReader &br, char *buf, + size_t len) { + (void)stream; + return br.read(buf, len); +} + +class decompressor; + +} // namespace detail + class ClientImpl { public: explicit ClientImpl(const std::string &host); @@ -1404,6 +1490,43 @@ public: virtual bool is_valid() const; + struct StreamHandle { + std::unique_ptr response; + Error error = Error::Success; + + StreamHandle() = default; + StreamHandle(const StreamHandle &) = delete; + StreamHandle &operator=(const StreamHandle &) = delete; + StreamHandle(StreamHandle &&) = default; + StreamHandle &operator=(StreamHandle &&) = default; + ~StreamHandle() = default; + + bool is_valid() const { + return response != nullptr && error == Error::Success; + } + + ssize_t read(char *buf, size_t len); + void parse_trailers_if_needed(); + Error get_read_error() const { return body_reader_.last_error; } + bool has_read_error() const { return body_reader_.has_error(); } + + bool trailers_parsed_ = false; + + private: + friend class ClientImpl; + + ssize_t read_with_decompression(char *buf, size_t len); + + std::unique_ptr connection_; + std::unique_ptr socket_stream_; + Stream *stream_ = nullptr; + detail::BodyReader body_reader_; + + std::unique_ptr decompressor_; + std::string decompress_buffer_; + size_t decompress_offset_ = 0; + }; + // clang-format off Result Get(const std::string &path, DownloadProgress progress = nullptr); Result Get(const std::string &path, ContentReceiver content_receiver, DownloadProgress progress = nullptr); @@ -1497,6 +1620,15 @@ public: Result Options(const std::string &path, const Headers &headers); // clang-format on + // Streaming API: Open a stream for reading response body incrementally + // Socket ownership is transferred to StreamHandle for true streaming + // Supports all HTTP methods (GET, POST, PUT, PATCH, DELETE, etc.) + StreamHandle open_stream(const std::string &method, const std::string &path, + const Params ¶ms = {}, + const Headers &headers = {}, + const std::string &body = {}, + const std::string &content_type = {}); + bool send(Request &req, Response &res, Error &error); Result send(const Request &req); @@ -1592,6 +1724,7 @@ protected: }; virtual bool create_and_connect_socket(Socket &socket, Error &error); + virtual bool ensure_socket_connection(Socket &socket, Error &error); // All of: // shutdown_ssl @@ -1618,7 +1751,6 @@ protected: // Socket endpoint information const std::string host_; const int port_; - const std::string host_and_port_; // Current open socket Socket socket_; @@ -1717,6 +1849,8 @@ private: Response &res) const; bool write_request(Stream &strm, Request &req, bool close_connection, Error &error); + void prepare_default_headers(Request &r, bool for_stream, + const std::string &ct); bool redirect(Request &req, Response &res, Error &error); bool create_redirect_client(const std::string &scheme, const std::string &host, int port, Request &req, @@ -1747,6 +1881,8 @@ private: std::chrono::time_point start_time, std::function callback); virtual bool is_ssl() const; + + void transfer_socket_ownership_to_handle(StreamHandle &handle); }; class Client { @@ -1865,6 +2001,16 @@ public: Result Options(const std::string &path, const Headers &headers); // clang-format on + // Streaming API: Open a stream for reading response body incrementally + // Socket ownership is transferred to StreamHandle for true streaming + // Supports all HTTP methods (GET, POST, PUT, PATCH, DELETE, etc.) + ClientImpl::StreamHandle open_stream(const std::string &method, + const std::string &path, + const Params ¶ms = {}, + const Headers &headers = {}, + const std::string &body = {}, + const std::string &content_type = {}); + bool send(Request &req, Response &res, Error &error); Result send(const Request &req); @@ -2027,6 +2173,7 @@ public: private: bool create_and_connect_socket(Socket &socket, Error &error) override; + bool ensure_socket_connection(Socket &socket, Error &error) override; void shutdown_ssl(Socket &socket, bool shutdown_gracefully) override; void shutdown_ssl_impl(Socket &socket, bool shutdown_gracefully); @@ -2163,82 +2310,6 @@ inline void default_socket_options(socket_t sock) { 1); } -inline const char *status_message(int status) { - switch (status) { - case StatusCode::Continue_100: return "Continue"; - case StatusCode::SwitchingProtocol_101: return "Switching Protocol"; - case StatusCode::Processing_102: return "Processing"; - case StatusCode::EarlyHints_103: return "Early Hints"; - case StatusCode::OK_200: return "OK"; - case StatusCode::Created_201: return "Created"; - case StatusCode::Accepted_202: return "Accepted"; - case StatusCode::NonAuthoritativeInformation_203: - return "Non-Authoritative Information"; - case StatusCode::NoContent_204: return "No Content"; - case StatusCode::ResetContent_205: return "Reset Content"; - case StatusCode::PartialContent_206: return "Partial Content"; - case StatusCode::MultiStatus_207: return "Multi-Status"; - case StatusCode::AlreadyReported_208: return "Already Reported"; - case StatusCode::IMUsed_226: return "IM Used"; - case StatusCode::MultipleChoices_300: return "Multiple Choices"; - case StatusCode::MovedPermanently_301: return "Moved Permanently"; - case StatusCode::Found_302: return "Found"; - case StatusCode::SeeOther_303: return "See Other"; - case StatusCode::NotModified_304: return "Not Modified"; - case StatusCode::UseProxy_305: return "Use Proxy"; - case StatusCode::unused_306: return "unused"; - case StatusCode::TemporaryRedirect_307: return "Temporary Redirect"; - case StatusCode::PermanentRedirect_308: return "Permanent Redirect"; - case StatusCode::BadRequest_400: return "Bad Request"; - case StatusCode::Unauthorized_401: return "Unauthorized"; - case StatusCode::PaymentRequired_402: return "Payment Required"; - case StatusCode::Forbidden_403: return "Forbidden"; - case StatusCode::NotFound_404: return "Not Found"; - case StatusCode::MethodNotAllowed_405: return "Method Not Allowed"; - case StatusCode::NotAcceptable_406: return "Not Acceptable"; - case StatusCode::ProxyAuthenticationRequired_407: - return "Proxy Authentication Required"; - case StatusCode::RequestTimeout_408: return "Request Timeout"; - case StatusCode::Conflict_409: return "Conflict"; - case StatusCode::Gone_410: return "Gone"; - case StatusCode::LengthRequired_411: return "Length Required"; - case StatusCode::PreconditionFailed_412: return "Precondition Failed"; - case StatusCode::PayloadTooLarge_413: return "Payload Too Large"; - case StatusCode::UriTooLong_414: return "URI Too Long"; - case StatusCode::UnsupportedMediaType_415: return "Unsupported Media Type"; - case StatusCode::RangeNotSatisfiable_416: return "Range Not Satisfiable"; - case StatusCode::ExpectationFailed_417: return "Expectation Failed"; - case StatusCode::ImATeapot_418: return "I'm a teapot"; - case StatusCode::MisdirectedRequest_421: return "Misdirected Request"; - case StatusCode::UnprocessableContent_422: return "Unprocessable Content"; - case StatusCode::Locked_423: return "Locked"; - case StatusCode::FailedDependency_424: return "Failed Dependency"; - case StatusCode::TooEarly_425: return "Too Early"; - case StatusCode::UpgradeRequired_426: return "Upgrade Required"; - case StatusCode::PreconditionRequired_428: return "Precondition Required"; - case StatusCode::TooManyRequests_429: return "Too Many Requests"; - case StatusCode::RequestHeaderFieldsTooLarge_431: - return "Request Header Fields Too Large"; - case StatusCode::UnavailableForLegalReasons_451: - return "Unavailable For Legal Reasons"; - case StatusCode::NotImplemented_501: return "Not Implemented"; - case StatusCode::BadGateway_502: return "Bad Gateway"; - case StatusCode::ServiceUnavailable_503: return "Service Unavailable"; - case StatusCode::GatewayTimeout_504: return "Gateway Timeout"; - case StatusCode::HttpVersionNotSupported_505: - return "HTTP Version Not Supported"; - case StatusCode::VariantAlsoNegotiates_506: return "Variant Also Negotiates"; - case StatusCode::InsufficientStorage_507: return "Insufficient Storage"; - case StatusCode::LoopDetected_508: return "Loop Detected"; - case StatusCode::NotExtended_510: return "Not Extended"; - case StatusCode::NetworkAuthenticationRequired_511: - return "Network Authentication Required"; - - default: - case StatusCode::InternalServerError_500: return "Internal Server Error"; - } -} - inline std::string get_bearer_token_auth(const Request &req) { if (req.has_header("Authorization")) { constexpr auto bearer_header_prefix_len = detail::str_len("Bearer "); @@ -2272,55 +2343,6 @@ Server::set_idle_interval(const std::chrono::duration &duration) { return *this; } -inline std::string to_string(const Error error) { - switch (error) { - case Error::Success: return "Success (no error)"; - case Error::Unknown: return "Unknown"; - case Error::Connection: return "Could not establish connection"; - case Error::BindIPAddress: return "Failed to bind IP address"; - case Error::Read: return "Failed to read connection"; - case Error::Write: return "Failed to write connection"; - case Error::ExceedRedirectCount: return "Maximum redirect count exceeded"; - case Error::Canceled: return "Connection handling canceled"; - case Error::SSLConnection: return "SSL connection failed"; - case Error::SSLLoadingCerts: return "SSL certificate loading failed"; - case Error::SSLServerVerification: return "SSL server verification failed"; - case Error::SSLServerHostnameVerification: - return "SSL server hostname verification failed"; - case Error::UnsupportedMultipartBoundaryChars: - return "Unsupported HTTP multipart boundary characters"; - case Error::Compression: return "Compression failed"; - case Error::ConnectionTimeout: return "Connection timed out"; - case Error::ProxyConnection: return "Proxy connection failed"; - case Error::ResourceExhaustion: return "Resource exhaustion"; - case Error::TooManyFormDataFiles: return "Too many form data files"; - case Error::ExceedMaxPayloadSize: return "Exceeded maximum payload size"; - case Error::ExceedUriMaxLength: return "Exceeded maximum URI length"; - case Error::ExceedMaxSocketDescriptorCount: - return "Exceeded maximum socket descriptor count"; - case Error::InvalidRequestLine: return "Invalid request line"; - case Error::InvalidHTTPMethod: return "Invalid HTTP method"; - case Error::InvalidHTTPVersion: return "Invalid HTTP version"; - case Error::InvalidHeaders: return "Invalid headers"; - case Error::MultipartParsing: return "Multipart parsing failed"; - case Error::OpenFile: return "Failed to open file"; - case Error::Listen: return "Failed to listen on socket"; - case Error::GetSockName: return "Failed to get socket name"; - case Error::UnsupportedAddressFamily: return "Unsupported address family"; - case Error::HTTPParsing: return "HTTP parsing failed"; - case Error::InvalidRangeHeader: return "Invalid Range header"; - default: break; - } - - return "Invalid"; -} - -inline std::ostream &operator<<(std::ostream &os, const Error &obj) { - os << to_string(obj); - os << " (" << static_cast::type>(obj) << ')'; - return os; -} - inline size_t Result::get_request_header_value_u64(const std::string &key, size_t def, size_t id) const { @@ -2439,6 +2461,8 @@ struct FileStat { FileStat(const std::string &path); bool is_file() const; bool is_dir() const; + time_t mtime() const; + size_t size() const; private: #if defined(_WIN32) @@ -2449,6 +2473,9 @@ private: int ret_ = -1; }; +std::string make_host_and_port_string(const std::string &host, int port, + bool is_ssl); + std::string trim_copy(const std::string &s); void divide( @@ -2669,6 +2696,25 @@ private: std::string growable_buffer_; }; +bool parse_trailers(stream_line_reader &line_reader, Headers &dest, + const Headers &src_headers); + +struct ChunkedDecoder { + Stream &strm; + size_t chunk_remaining = 0; + bool finished = false; + char line_buf[64]; + size_t last_chunk_total = 0; + size_t last_chunk_offset = 0; + + explicit ChunkedDecoder(Stream &s); + + ssize_t read_payload(char *buf, size_t len, size_t &out_chunk_offset, + size_t &out_chunk_total); + + bool parse_trailers_into(Headers &dest, const Headers &src_headers); +}; + class mmap { public: mmap(const char *path); @@ -2696,59 +2742,669 @@ private: // NOTE: https://www.rfc-editor.org/rfc/rfc9110#section-5 namespace fields { -inline bool is_token_char(char c) { - return std::isalnum(c) || c == '!' || c == '#' || c == '$' || c == '%' || - c == '&' || c == '\'' || c == '*' || c == '+' || c == '-' || - c == '.' || c == '^' || c == '_' || c == '`' || c == '|' || c == '~'; -} - -inline bool is_token(const std::string &s) { - if (s.empty()) { return false; } - for (auto c : s) { - if (!is_token_char(c)) { return false; } - } - return true; -} - -inline bool is_field_name(const std::string &s) { return is_token(s); } - -inline bool is_vchar(char c) { return c >= 33 && c <= 126; } - -inline bool is_obs_text(char c) { return 128 <= static_cast(c); } - -inline bool is_field_vchar(char c) { return is_vchar(c) || is_obs_text(c); } - -inline bool is_field_content(const std::string &s) { - if (s.empty()) { return true; } - - if (s.size() == 1) { - return is_field_vchar(s[0]); - } else if (s.size() == 2) { - return is_field_vchar(s[0]) && is_field_vchar(s[1]); - } else { - size_t i = 0; - - if (!is_field_vchar(s[i])) { return false; } - i++; - - while (i < s.size() - 1) { - auto c = s[i++]; - if (c == ' ' || c == '\t' || is_field_vchar(c)) { - } else { - return false; - } - } - - return is_field_vchar(s[i]); - } -} - -inline bool is_field_value(const std::string &s) { return is_field_content(s); } +bool is_token_char(char c); +bool is_token(const std::string &s); +bool is_field_name(const std::string &s); +bool is_vchar(char c); +bool is_obs_text(char c); +bool is_field_vchar(char c); +bool is_field_content(const std::string &s); +bool is_field_value(const std::string &s); } // namespace fields } // namespace detail +namespace stream { + +class Result { +public: + Result() : chunk_size_(8192) {} + + explicit Result(ClientImpl::StreamHandle &&handle, size_t chunk_size = 8192) + : handle_(std::move(handle)), chunk_size_(chunk_size) {} + + Result(Result &&other) noexcept + : handle_(std::move(other.handle_)), buffer_(std::move(other.buffer_)), + current_size_(other.current_size_), chunk_size_(other.chunk_size_), + finished_(other.finished_) { + other.current_size_ = 0; + other.finished_ = true; + } + + Result &operator=(Result &&other) noexcept { + if (this != &other) { + handle_ = std::move(other.handle_); + buffer_ = std::move(other.buffer_); + current_size_ = other.current_size_; + chunk_size_ = other.chunk_size_; + finished_ = other.finished_; + other.current_size_ = 0; + other.finished_ = true; + } + return *this; + } + + Result(const Result &) = delete; + Result &operator=(const Result &) = delete; + + // Check if the result is valid (connection succeeded and response received) + bool is_valid() const { return handle_.is_valid(); } + explicit operator bool() const { return is_valid(); } + + // Response status code + int status() const { + return handle_.response ? handle_.response->status : -1; + } + + // Response headers + const Headers &headers() const { + static const Headers empty_headers; + return handle_.response ? handle_.response->headers : empty_headers; + } + + std::string get_header_value(const std::string &key, + const char *def = "") const { + return handle_.response ? handle_.response->get_header_value(key, def) + : def; + } + + bool has_header(const std::string &key) const { + return handle_.response ? handle_.response->has_header(key) : false; + } + + // Error information + Error error() const { return handle_.error; } + Error read_error() const { return handle_.get_read_error(); } + bool has_read_error() const { return handle_.has_read_error(); } + + // Streaming iteration API + // Call next() to read the next chunk, then access data via data()/size() + // Returns true if data was read, false when stream is exhausted + bool next() { + if (!handle_.is_valid() || finished_) { return false; } + + if (buffer_.size() < chunk_size_) { buffer_.resize(chunk_size_); } + + ssize_t n = handle_.read(&buffer_[0], chunk_size_); + if (n > 0) { + current_size_ = static_cast(n); + return true; + } + + current_size_ = 0; + finished_ = true; + return false; + } + + // Pointer to current chunk data (valid after next() returns true) + const char *data() const { return buffer_.data(); } + + // Size of current chunk (valid after next() returns true) + size_t size() const { return current_size_; } + + // Convenience method: read all remaining data into a string + std::string read_all() { + std::string result; + while (next()) { + result.append(data(), size()); + } + return result; + } + +private: + ClientImpl::StreamHandle handle_; + std::string buffer_; + size_t current_size_ = 0; + size_t chunk_size_; + bool finished_ = false; +}; + +// GET +template +inline Result Get(ClientType &cli, const std::string &path, + size_t chunk_size = 8192) { + return Result{cli.open_stream("GET", path), chunk_size}; +} + +template +inline Result Get(ClientType &cli, const std::string &path, + const Headers &headers, size_t chunk_size = 8192) { + return Result{cli.open_stream("GET", path, {}, headers), chunk_size}; +} + +template +inline Result Get(ClientType &cli, const std::string &path, + const Params ¶ms, size_t chunk_size = 8192) { + return Result{cli.open_stream("GET", path, params), chunk_size}; +} + +template +inline Result Get(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + size_t chunk_size = 8192) { + return Result{cli.open_stream("GET", path, params, headers), chunk_size}; +} + +// POST +template +inline Result Post(ClientType &cli, const std::string &path, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{cli.open_stream("POST", path, {}, {}, body, content_type), + chunk_size}; +} + +template +inline Result Post(ClientType &cli, const std::string &path, + const Headers &headers, const std::string &body, + const std::string &content_type, size_t chunk_size = 8192) { + return Result{cli.open_stream("POST", path, {}, headers, body, content_type), + chunk_size}; +} + +template +inline Result Post(ClientType &cli, const std::string &path, + const Params ¶ms, const std::string &body, + const std::string &content_type, size_t chunk_size = 8192) { + return Result{cli.open_stream("POST", path, params, {}, body, content_type), + chunk_size}; +} + +template +inline Result Post(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{ + cli.open_stream("POST", path, params, headers, body, content_type), + chunk_size}; +} + +// PUT +template +inline Result Put(ClientType &cli, const std::string &path, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{cli.open_stream("PUT", path, {}, {}, body, content_type), + chunk_size}; +} + +template +inline Result Put(ClientType &cli, const std::string &path, + const Headers &headers, const std::string &body, + const std::string &content_type, size_t chunk_size = 8192) { + return Result{cli.open_stream("PUT", path, {}, headers, body, content_type), + chunk_size}; +} + +template +inline Result Put(ClientType &cli, const std::string &path, + const Params ¶ms, const std::string &body, + const std::string &content_type, size_t chunk_size = 8192) { + return Result{cli.open_stream("PUT", path, params, {}, body, content_type), + chunk_size}; +} + +template +inline Result Put(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{ + cli.open_stream("PUT", path, params, headers, body, content_type), + chunk_size}; +} + +// PATCH +template +inline Result Patch(ClientType &cli, const std::string &path, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{cli.open_stream("PATCH", path, {}, {}, body, content_type), + chunk_size}; +} + +template +inline Result Patch(ClientType &cli, const std::string &path, + const Headers &headers, const std::string &body, + const std::string &content_type, size_t chunk_size = 8192) { + return Result{cli.open_stream("PATCH", path, {}, headers, body, content_type), + chunk_size}; +} + +template +inline Result Patch(ClientType &cli, const std::string &path, + const Params ¶ms, const std::string &body, + const std::string &content_type, size_t chunk_size = 8192) { + return Result{cli.open_stream("PATCH", path, params, {}, body, content_type), + chunk_size}; +} + +template +inline Result Patch(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{ + cli.open_stream("PATCH", path, params, headers, body, content_type), + chunk_size}; +} + +// DELETE +template +inline Result Delete(ClientType &cli, const std::string &path, + size_t chunk_size = 8192) { + return Result{cli.open_stream("DELETE", path), chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const Headers &headers, size_t chunk_size = 8192) { + return Result{cli.open_stream("DELETE", path, {}, headers), chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{cli.open_stream("DELETE", path, {}, {}, body, content_type), + chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const Headers &headers, const std::string &body, + const std::string &content_type, + size_t chunk_size = 8192) { + return Result{ + cli.open_stream("DELETE", path, {}, headers, body, content_type), + chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const Params ¶ms, size_t chunk_size = 8192) { + return Result{cli.open_stream("DELETE", path, params), chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + size_t chunk_size = 8192) { + return Result{cli.open_stream("DELETE", path, params, headers), chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const Params ¶ms, const std::string &body, + const std::string &content_type, + size_t chunk_size = 8192) { + return Result{cli.open_stream("DELETE", path, params, {}, body, content_type), + chunk_size}; +} + +template +inline Result Delete(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + const std::string &body, const std::string &content_type, + size_t chunk_size = 8192) { + return Result{ + cli.open_stream("DELETE", path, params, headers, body, content_type), + chunk_size}; +} + +// HEAD +template +inline Result Head(ClientType &cli, const std::string &path, + size_t chunk_size = 8192) { + return Result{cli.open_stream("HEAD", path), chunk_size}; +} + +template +inline Result Head(ClientType &cli, const std::string &path, + const Headers &headers, size_t chunk_size = 8192) { + return Result{cli.open_stream("HEAD", path, {}, headers), chunk_size}; +} + +template +inline Result Head(ClientType &cli, const std::string &path, + const Params ¶ms, size_t chunk_size = 8192) { + return Result{cli.open_stream("HEAD", path, params), chunk_size}; +} + +template +inline Result Head(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + size_t chunk_size = 8192) { + return Result{cli.open_stream("HEAD", path, params, headers), chunk_size}; +} + +// OPTIONS +template +inline Result Options(ClientType &cli, const std::string &path, + size_t chunk_size = 8192) { + return Result{cli.open_stream("OPTIONS", path), chunk_size}; +} + +template +inline Result Options(ClientType &cli, const std::string &path, + const Headers &headers, size_t chunk_size = 8192) { + return Result{cli.open_stream("OPTIONS", path, {}, headers), chunk_size}; +} + +template +inline Result Options(ClientType &cli, const std::string &path, + const Params ¶ms, size_t chunk_size = 8192) { + return Result{cli.open_stream("OPTIONS", path, params), chunk_size}; +} + +template +inline Result Options(ClientType &cli, const std::string &path, + const Params ¶ms, const Headers &headers, + size_t chunk_size = 8192) { + return Result{cli.open_stream("OPTIONS", path, params, headers), chunk_size}; +} + +} // namespace stream + +namespace sse { + +struct SSEMessage { + std::string event; // Event type (default: "message") + std::string data; // Event payload + std::string id; // Event ID for Last-Event-ID header + + SSEMessage() : event("message") {} + + void clear() { + event = "message"; + data.clear(); + id.clear(); + } +}; + +class SSEClient { +public: + using MessageHandler = std::function; + using ErrorHandler = std::function; + using OpenHandler = std::function; + + SSEClient(Client &client, const std::string &path) + : client_(client), path_(path) {} + + SSEClient(Client &client, const std::string &path, const Headers &headers) + : client_(client), path_(path), headers_(headers) {} + + ~SSEClient() { stop(); } + + SSEClient(const SSEClient &) = delete; + SSEClient &operator=(const SSEClient &) = delete; + + // Event handlers + SSEClient &on_message(MessageHandler handler) { + on_message_ = std::move(handler); + return *this; + } + + SSEClient &on_event(const std::string &type, MessageHandler handler) { + event_handlers_[type] = std::move(handler); + return *this; + } + + SSEClient &on_open(OpenHandler handler) { + on_open_ = std::move(handler); + return *this; + } + + SSEClient &on_error(ErrorHandler handler) { + on_error_ = std::move(handler); + return *this; + } + + SSEClient &set_reconnect_interval(int ms) { + reconnect_interval_ms_ = ms; + return *this; + } + + SSEClient &set_max_reconnect_attempts(int n) { + max_reconnect_attempts_ = n; + return *this; + } + + // State accessors + bool is_connected() const { return connected_.load(); } + const std::string &last_event_id() const { return last_event_id_; } + + // Blocking start - runs event loop with auto-reconnect + void start() { + running_.store(true); + run_event_loop(); + } + + // Non-blocking start - runs in background thread + void start_async() { + running_.store(true); + async_thread_ = std::thread([this]() { run_event_loop(); }); + } + + // Stop the client (thread-safe) + void stop() { + running_.store(false); + client_.stop(); // Cancel any pending operations + if (async_thread_.joinable()) { async_thread_.join(); } + } + +private: + // Parse a single SSE field line + // Returns true if this line ends an event (blank line) + bool parse_sse_line(const std::string &line, SSEMessage &msg, int &retry_ms) { + // Blank line signals end of event + if (line.empty() || line == "\r") { return true; } + + // Lines starting with ':' are comments (ignored) + if (!line.empty() && line[0] == ':') { return false; } + + // Find the colon separator + auto colon_pos = line.find(':'); + if (colon_pos == std::string::npos) { + // Line with no colon is treated as field name with empty value + return false; + } + + auto field = line.substr(0, colon_pos); + std::string value; + + // Value starts after colon, skip optional single space + if (colon_pos + 1 < line.size()) { + auto value_start = colon_pos + 1; + if (line[value_start] == ' ') { value_start++; } + value = line.substr(value_start); + // Remove trailing \r if present + if (!value.empty() && value.back() == '\r') { value.pop_back(); } + } + + // Handle known fields + if (field == "event") { + msg.event = value; + } else if (field == "data") { + // Multiple data lines are concatenated with newlines + if (!msg.data.empty()) { msg.data += "\n"; } + msg.data += value; + } else if (field == "id") { + // Empty id is valid (clears the last event ID) + msg.id = value; + } else if (field == "retry") { + // Parse retry interval in milliseconds + try { + retry_ms = std::stoi(value); + } catch (...) { + // Invalid retry value, ignore + } + } + // Unknown fields are ignored per SSE spec + + return false; + } + + // Main event loop with auto-reconnect + void run_event_loop() { + auto reconnect_count = 0; + + while (running_.load()) { + // Build headers, including Last-Event-ID if we have one + auto request_headers = headers_; + if (!last_event_id_.empty()) { + request_headers.emplace("Last-Event-ID", last_event_id_); + } + + // Open streaming connection + auto result = stream::Get(client_, path_, request_headers); + + // Connection error handling + if (!result) { + connected_.store(false); + if (on_error_) { on_error_(result.error()); } + + if (!should_reconnect(reconnect_count)) { break; } + wait_for_reconnect(); + reconnect_count++; + continue; + } + + if (result.status() != 200) { + connected_.store(false); + // For certain errors, don't reconnect + if (result.status() == 204 || // No Content - server wants us to stop + result.status() == 404 || // Not Found + result.status() == 401 || // Unauthorized + result.status() == 403) { // Forbidden + if (on_error_) { on_error_(Error::Connection); } + break; + } + + if (on_error_) { on_error_(Error::Connection); } + + if (!should_reconnect(reconnect_count)) { break; } + wait_for_reconnect(); + reconnect_count++; + continue; + } + + // Connection successful + connected_.store(true); + reconnect_count = 0; + if (on_open_) { on_open_(); } + + // Event receiving loop + std::string buffer; + SSEMessage current_msg; + + while (running_.load() && result.next()) { + buffer.append(result.data(), result.size()); + + // Process complete lines in the buffer + size_t line_start = 0; + size_t newline_pos; + + while ((newline_pos = buffer.find('\n', line_start)) != + std::string::npos) { + auto line = buffer.substr(line_start, newline_pos - line_start); + line_start = newline_pos + 1; + + // Parse the line and check if event is complete + auto event_complete = + parse_sse_line(line, current_msg, reconnect_interval_ms_); + + if (event_complete && !current_msg.data.empty()) { + // Update last_event_id for reconnection + if (!current_msg.id.empty()) { last_event_id_ = current_msg.id; } + + // Dispatch event to appropriate handler + dispatch_event(current_msg); + + current_msg.clear(); + } + } + + // Keep unprocessed data in buffer + buffer.erase(0, line_start); + } + + // Connection ended + connected_.store(false); + + if (!running_.load()) { break; } + + // Check for read errors + if (result.has_read_error()) { + if (on_error_) { on_error_(result.read_error()); } + } + + if (!should_reconnect(reconnect_count)) { break; } + wait_for_reconnect(); + reconnect_count++; + } + + connected_.store(false); + } + + // Dispatch event to appropriate handler + void dispatch_event(const SSEMessage &msg) { + // Check for specific event type handler first + auto it = event_handlers_.find(msg.event); + if (it != event_handlers_.end()) { + it->second(msg); + return; + } + + // Fall back to generic message handler + if (on_message_) { on_message_(msg); } + } + + // Check if we should attempt to reconnect + bool should_reconnect(int count) const { + if (!running_.load()) { return false; } + if (max_reconnect_attempts_ == 0) { return true; } // unlimited + return count < max_reconnect_attempts_; + } + + // Wait for reconnect interval + void wait_for_reconnect() { + // Use small increments to check running_ flag frequently + auto waited = 0; + while (running_.load() && waited < reconnect_interval_ms_) { + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + waited += 100; + } + } + + // Client and path + Client &client_; + std::string path_; + Headers headers_; + + // Callbacks + MessageHandler on_message_; + std::map event_handlers_; + OpenHandler on_open_; + ErrorHandler on_error_; + + // Configuration + int reconnect_interval_ms_ = 3000; + int max_reconnect_attempts_ = 0; // 0 = unlimited + + // State + std::atomic running_{false}; + std::atomic connected_{false}; + std::string last_event_id_; + + // Async support + std::thread async_thread_; +}; + +} // namespace sse + } // namespace httplib From cb14b069955f12992f6c47be98a061f23ea13cf5 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 8 Jan 2026 08:16:54 -0600 Subject: [PATCH 015/100] vulkan: optimize ssm_scan (#18630) * vulkan: optimize ssm_scan * fix warp vs subgroup naming --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 20 ++-- .../ggml-vulkan/vulkan-shaders/ssm_scan.comp | 108 ++++++++---------- 2 files changed, 59 insertions(+), 69 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 4d3c085f67..7e17f4945d 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -570,6 +570,7 @@ struct vk_device_struct { bool uma; bool prefer_host_memory; bool float_controls_rte_fp16; + bool subgroup_basic; bool subgroup_arithmetic; bool subgroup_shuffle; bool subgroup_ballot; @@ -4301,8 +4302,8 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_rwkv_wkv7_f32, "rwkv_wkv7_f32", rwkv_wkv7_f32_len, rwkv_wkv7_f32_data, "main", 8, sizeof(vk_op_rwkv_wkv7_push_constants), {1, 1, 1}, {device->subgroup_size}, 1); if (device->subgroup_arithmetic && device->subgroup_require_full_support) { - ggml_vk_create_pipeline(device, device->pipeline_ssm_scan_f32_d128, "ssm_scan_128_f32", ssm_scan_subgroup_f32_len, ssm_scan_subgroup_f32_data, "main", 8, sizeof(vk_op_ssm_scan_push_constants), {1, 1, 1}, {128, device->subgroup_size, 16}, 1, true, true); - ggml_vk_create_pipeline(device, device->pipeline_ssm_scan_f32_d256, "ssm_scan_256_f32", ssm_scan_subgroup_f32_len, ssm_scan_subgroup_f32_data, "main", 8, sizeof(vk_op_ssm_scan_push_constants), {1, 1, 1}, {256, device->subgroup_size, 16}, 1, true, true); + ggml_vk_create_pipeline(device, device->pipeline_ssm_scan_f32_d128, "ssm_scan_128_f32", ssm_scan_subgroup_f32_len, ssm_scan_subgroup_f32_data, "main", 8, sizeof(vk_op_ssm_scan_push_constants), {1, 1, 1}, {128, device->subgroup_size}, 1, true, true); + ggml_vk_create_pipeline(device, device->pipeline_ssm_scan_f32_d256, "ssm_scan_256_f32", ssm_scan_subgroup_f32_len, ssm_scan_subgroup_f32_data, "main", 8, sizeof(vk_op_ssm_scan_push_constants), {1, 1, 1}, {256, device->subgroup_size}, 1, true, true); } else { ggml_vk_create_pipeline(device, device->pipeline_ssm_scan_f32_d128, "ssm_scan_128_f32", ssm_scan_f32_len, ssm_scan_f32_data, "main", 8, sizeof(vk_op_ssm_scan_push_constants), {1, 1, 1}, {128, device->subgroup_size, 16}, 1, true, true); ggml_vk_create_pipeline(device, device->pipeline_ssm_scan_f32_d256, "ssm_scan_256_f32", ssm_scan_f32_len, ssm_scan_f32_data, "main", 8, sizeof(vk_op_ssm_scan_push_constants), {1, 1, 1}, {256, device->subgroup_size, 16}, 1, true, true); @@ -4638,6 +4639,8 @@ static vk_device ggml_vk_get_device(size_t idx) { } device->float_controls_rte_fp16 = vk12_props.shaderRoundingModeRTEFloat16; + device->subgroup_basic = (vk11_props.subgroupSupportedStages & vk::ShaderStageFlagBits::eCompute) && + (vk11_props.subgroupSupportedOperations & vk::SubgroupFeatureFlagBits::eBasic); device->subgroup_arithmetic = (vk11_props.subgroupSupportedStages & vk::ShaderStageFlagBits::eCompute) && (vk11_props.subgroupSupportedOperations & vk::SubgroupFeatureFlagBits::eArithmetic); #ifdef __APPLE__ @@ -9870,8 +9873,9 @@ static void ggml_vk_ssm_scan(ggml_backend_vk_context * ctx, vk_context& subctx, std::array elements; - const int splitH = 16; - const uint32_t num_workgroups_x = CEIL_DIV(n_head * head_dim, splitH); + const uint32_t d_state = src0->ne[0]; + uint32_t num_subgroups = d_state / ctx->device->subgroup_size; + const uint32_t num_workgroups_x = CEIL_DIV(n_head * head_dim, num_subgroups); const uint32_t num_workgroups_y = n_seq; elements = { num_workgroups_x, num_workgroups_y, 1 }; @@ -14777,11 +14781,13 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm return false; } - const uint32_t SPLIT_H = 16; + size_t shmem_size = d_state * sizeof(float); - size_t stateC_size = SPLIT_H * d_state * sizeof(float); + if (shmem_size > device->properties.limits.maxComputeSharedMemorySize) { + return false; + } - if (stateC_size > device->properties.limits.maxComputeSharedMemorySize) { + if (!device->subgroup_basic) { return false; } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/ssm_scan.comp b/ggml/src/ggml-vulkan/vulkan-shaders/ssm_scan.comp index 8f67be9799..c7416206db 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/ssm_scan.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/ssm_scan.comp @@ -1,6 +1,7 @@ #version 450 #extension GL_EXT_control_flow_attributes : require +#extension GL_KHR_shader_subgroup_basic : enable #if USE_SUBGROUP_ADD #extension GL_KHR_shader_subgroup_arithmetic : enable #endif @@ -9,7 +10,8 @@ layout(constant_id = 0) const uint D_STATE = 128; layout(constant_id = 1) const uint SUBGROUP_SIZE = 32; -layout(constant_id = 2) const uint SPLIT_H = 16; + +const uint32_t c_factor = D_STATE / SUBGROUP_SIZE; layout(local_size_x_id = 0, local_size_y = 1, local_size_z = 1) in; @@ -41,22 +43,28 @@ float softplus(float x) { } } -shared float stateC[SPLIT_H * D_STATE]; +#if !USE_SUBGROUP_ADD +shared float temp[D_STATE]; +#endif void main() { - const uint tid = gl_LocalInvocationID.x; - const uint head_idx = (gl_WorkGroupID.x * SPLIT_H) / d_head; - const uint head_off = ((gl_WorkGroupID.x * SPLIT_H) % d_head) * 4; - const uint seq_idx = gl_WorkGroupID.y; + const uint subgroup = gl_SubgroupID; + const uint lane = gl_SubgroupInvocationID; + const uint tid = gl_SubgroupID * SUBGROUP_SIZE + lane; + const uint subgroup_idx = gl_WorkGroupID.x * c_factor + subgroup; + + const uint head_idx = subgroup_idx / d_head; + const uint head_off = (subgroup_idx % d_head) * 4; + const uint seq_idx = gl_WorkGroupID.y; const uint group_off = (head_idx / (n_head / n_group)) * D_STATE * 4; const uint s0_base_idx = (uint(ids[seq_idx]) * nb03 + head_idx * nb02 + head_off * D_STATE) / 4; - const uint x_base_idx = (seq_idx * nb13 + gl_WorkGroupID.x * SPLIT_H * 4) / 4; + const uint x_base_idx = (seq_idx * nb13 + subgroup_idx * 4) / 4; const uint dt_base_idx = (seq_idx * nb22 + head_idx * 4) / 4; const uint A_base_idx = (head_idx * nb31) / 4; const uint B_base_idx = (seq_idx * nb43 + group_off) / 4; const uint C_base_idx = (seq_idx * nb53 + group_off) / 4; - const uint y_base_idx = seq_idx * n_tok * n_head * d_head + gl_WorkGroupID.x * SPLIT_H; + const uint y_base_idx = seq_idx * n_tok * n_head * d_head + subgroup_idx; const uint s_base_idx = (s_off + seq_idx * nb03 + head_idx * nb02 + head_off * D_STATE) / 4; const uint stride_x = nb12 / 4; @@ -65,76 +73,52 @@ void main() { const uint stride_C = nb52 / 4; const uint stride_y = n_head * d_head; - float state[SPLIT_H]; - [[unroll]] for (uint j = 0; j < SPLIT_H; j++) { - state[j] = s0[s0_base_idx + j * D_STATE + tid]; + float state[c_factor]; + + [[unroll]] for (uint j = 0; j < c_factor; j++) { + state[j] = s0[s0_base_idx + SUBGROUP_SIZE * j + lane]; } + float a = A[A_base_idx]; + for (uint i = 0; i < n_tok; i++) { - const float dt_soft_plus = softplus(dt[dt_base_idx + i * stride_dt]); + float dt_soft_plus = softplus(dt[dt_base_idx + i * stride_dt]); - const float dA = exp(dt_soft_plus * A[A_base_idx]); - - const float B_val = B[B_base_idx + i * stride_B + tid]; - const float C_val = C[C_base_idx + i * stride_C + tid]; - - [[unroll]] for (uint j = 0; j < SPLIT_H; j++) { - const float x_dt = x[x_base_idx + i * stride_x + j] * dt_soft_plus; + float state_sum = 0.0f; + const float dA = exp(dt_soft_plus * a); + const float x_dt = x[x_base_idx + i * stride_x] * dt_soft_plus; + [[unroll]] for (uint j = 0; j < c_factor; j++) { + float B_val = B[B_base_idx + i * stride_B + SUBGROUP_SIZE * j + lane]; + float C_val = C[C_base_idx + i * stride_C + SUBGROUP_SIZE * j + lane]; state[j] = (state[j] * dA) + (B_val * x_dt); - - stateC[j * D_STATE + tid] = state[j] * C_val; + state_sum += state[j] * C_val; } +#if USE_SUBGROUP_ADD + state_sum = subgroupAdd(state_sum); +#else + temp[tid] = state_sum; barrier(); - [[unroll]] - for (uint w = D_STATE / 2; w >= SUBGROUP_SIZE; w >>= 1) { - [[unroll]] for (uint j = 0; j < (w * SPLIT_H + D_STATE - 1) / D_STATE; j++) { - const uint k = (tid % w) + (D_STATE * (tid / w)) + j * D_STATE * (D_STATE / w); - if (k < SPLIT_H * D_STATE && (k + w) < SPLIT_H * D_STATE) { - stateC[k] += stateC[k + w]; - } + [[unroll]] for (uint s = SUBGROUP_SIZE / 2; s > 0; s >>= 1) { + if (lane < s) { + temp[tid] += temp[tid + s]; } barrier(); } - - [[unroll]] for (uint j = 0; j < max(1, SPLIT_H / (D_STATE / SUBGROUP_SIZE)); j++) { - const uint idx = (tid % SUBGROUP_SIZE) + - D_STATE * (tid / SUBGROUP_SIZE) + - j * D_STATE * (D_STATE / SUBGROUP_SIZE); - const uint max_idx = SUBGROUP_SIZE - 1 + - D_STATE * ((D_STATE - 1) / SUBGROUP_SIZE) + - j * D_STATE * (D_STATE / SUBGROUP_SIZE); - - if (idx < SPLIT_H * D_STATE || - max_idx < SPLIT_H * D_STATE) { - float sc; -#if USE_SUBGROUP_ADD - sc = stateC[idx]; - sc = subgroupAdd(sc); -#else - [[unroll]] for (uint offset = SUBGROUP_SIZE / 2; offset > 0; offset >>= 1) { - if (idx + offset < SPLIT_H * D_STATE) { - stateC[idx] += stateC[idx + offset]; - } - barrier(); - } - if (tid % SUBGROUP_SIZE == 0) { - sc = stateC[idx]; - } + // get the value from lane 0 + state_sum = temp[subgroup * SUBGROUP_SIZE]; + barrier(); #endif - if (tid % SUBGROUP_SIZE == 0) { - const uint k = tid / SUBGROUP_SIZE + j * (D_STATE / SUBGROUP_SIZE); - d[y_base_idx + i * stride_y + k] = sc; - } - } + if (lane == 0) { + d[y_base_idx + i * stride_y] = state_sum; } - - barrier(); } - [[unroll]] for (uint j = 0; j < SPLIT_H; j++) { - d[s_base_idx + j * D_STATE + tid] = state[j]; + // write back the state + [[unroll]] + for (int j = 0; j < c_factor; j++) { + d[s_base_idx + SUBGROUP_SIZE * j + lane] = state[j]; } } From 2524c2616458c7d6ee62fa4b4fa17e5091833544 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 8 Jan 2026 08:40:58 -0600 Subject: [PATCH 016/100] vulkan: fix push constant size for quantize_q8_1 (#18687) I added an assert to catch further mismatches, and it found several. Fix those, too. --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 79 ++++++++++++++++------------ 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 7e17f4945d..b1a51a4365 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -1505,6 +1505,11 @@ template <> void init_pushconst_fastdiv(vk_op_sum_rows_push_constants &p) { init_fastdiv_values(p.ne01, p.ne0_1mp, p.ne0_1L); } +struct vk_quantize_q8_1_push_constants { + uint32_t ne; + uint32_t num_blocks; +}; + // Allow pre-recording command buffers struct vk_staging_memcpy { vk_staging_memcpy(void * _dst, const void * _src, size_t _n) : dst(_dst), src(_src), n(_n) {} @@ -3341,12 +3346,12 @@ static void ggml_vk_load_shaders(vk_device& device) { GGML_ASSERT(device->subgroup_ballot); - CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_subgroup_f32_f32, , wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id); - CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16, matmul_id_subgroup_f16, wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id); - CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16_f32, matmul_id_subgroup_f16_f32, wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id); + CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_subgroup_f32_f32, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id); + CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16, matmul_id_subgroup_f16, wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id); + CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16_f32, matmul_id_subgroup_f16_f32, wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id); #if defined(GGML_VULKAN_BFLOAT16_GLSLC_SUPPORT) if (device->coopmat_bf16_support) { - CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_subgroup_bf16, , wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id); + CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_subgroup_bf16, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id); } #endif @@ -3454,9 +3459,9 @@ static void ggml_vk_load_shaders(vk_device& device) { #endif if (device->subgroup_ballot && device->subgroup_require_full_support && subgroup_min_size_16) { - CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_subgroup_f32_f32, , wg_denoms, warptile_id, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); - CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16, matmul_id_subgroup_f16, wg_denoms, warptile_id, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); - CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16_f32, matmul_id_subgroup_f16_f32, wg_denoms, warptile_id, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); + CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_subgroup_f32_f32, , wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); + CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16, matmul_id_subgroup_f16, wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); + CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16_f32, matmul_id_subgroup_f16_f32, wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_subgroup_bf16, , wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); CREATE_MM2(GGML_TYPE_Q4_0, pipeline_dequant_mul_mat_mat_id[GGML_TYPE_Q4_0], matmul_id_subgroup_q4_0_f32, mmq_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size); @@ -3498,9 +3503,9 @@ static void ggml_vk_load_shaders(vk_device& device) { } #endif } else { - CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_f32_f32, , wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, 0); - CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16, matmul_id_f16, wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, 0); - CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16_f32, matmul_id_f16_f32, wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, 0); + CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_f32_f32, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); + CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16, matmul_id_f16, wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); + CREATE_MM2(GGML_TYPE_F16, pipeline_matmul_id_f16_f32, matmul_id_f16_f32, wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_bf16, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); CREATE_MM2(GGML_TYPE_Q4_0, pipeline_dequant_mul_mat_mat_id[GGML_TYPE_Q4_0], matmul_id_q4_0_f32, mmq_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); @@ -3615,9 +3620,9 @@ static void ggml_vk_load_shaders(vk_device& device) { #endif if (device->subgroup_ballot && device->subgroup_require_full_support && subgroup_min_size_16) { - CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_subgroup_f32_f32, , wg_denoms, warptile_id, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); - CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16.f32acc, matmul_id_subgroup_f16, , wg_denoms, warptile_id, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); - CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16_f32.f32acc, matmul_id_subgroup_f16_f32, , wg_denoms, warptile_id, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); + CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_subgroup_f32_f32, , wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); + CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16.f32acc, matmul_id_subgroup_f16, , wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); + CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16_f32.f32acc, matmul_id_subgroup_f16_f32, , wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_subgroup_bf16, , wg_denoms, warptile_id, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size_16); CREATE_MM(GGML_TYPE_Q4_0, pipeline_dequant_mul_mat_mat_id[GGML_TYPE_Q4_0].f32acc, matmul_id_subgroup_q4_0_f32, , mmq_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size); @@ -3641,9 +3646,9 @@ static void ggml_vk_load_shaders(vk_device& device) { CREATE_MM(GGML_TYPE_IQ4_NL, pipeline_dequant_mul_mat_mat_id[GGML_TYPE_IQ4_NL].f32acc, matmul_id_subgroup_iq4_nl_f32, , mmq_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size); CREATE_MM(GGML_TYPE_MXFP4, pipeline_dequant_mul_mat_mat_id[GGML_TYPE_MXFP4].f32acc, matmul_id_subgroup_mxfp4_f32, , mmq_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, mul_mat_subgroup_size); } else { - CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_f32_f32, , wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, 0); - CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16.f32acc, matmul_id_f16, , wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, 0); - CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16_f32.f32acc, matmul_id_f16_f32, , wg_denoms, warptile, vk_mat_mat_push_constants, mul_mat_id_param_count, _id, 0); + CREATE_MM(GGML_TYPE_F32, pipeline_matmul_id_f32, matmul_id_f32_f32, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); + CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16.f32acc, matmul_id_f16, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); + CREATE_MM(GGML_TYPE_F16, pipeline_matmul_id_f16_f32.f32acc, matmul_id_f16_f32, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); CREATE_MM(GGML_TYPE_BF16, pipeline_matmul_id_bf16, matmul_id_bf16, , wg_denoms, warptile, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); CREATE_MM(GGML_TYPE_Q4_0, pipeline_dequant_mul_mat_mat_id[GGML_TYPE_Q4_0].f32acc, matmul_id_q4_0_f32, , mmq_wg_denoms, warptile_mmqid, vk_mat_mat_id_push_constants, mul_mat_id_param_count, _id, 0); @@ -3841,22 +3846,22 @@ static void ggml_vk_load_shaders(vk_device& device) { const uint32_t subgroup_size_int = (device->vendor_id == VK_VENDOR_ID_INTEL && device->subgroup_size_control) ? device->subgroup_min_size : device->subgroup_size; const uint32_t wg_size_subgroup_int = (w == DMMV_WG_SIZE_SUBGROUP) ? subgroup_size_int : (subgroup_size_int * 4); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q4_0], "mul_mat_vec_id_q4_0_q8_1_f32", arr_dmmv_id_q4_0_q8_1_f32_len[reduc], arr_dmmv_id_q4_0_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q4_1], "mul_mat_vec_id_q4_1_q8_1_f32", arr_dmmv_id_q4_1_q8_1_f32_len[reduc], arr_dmmv_id_q4_1_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q5_0], "mul_mat_vec_id_q5_0_q8_1_f32", arr_dmmv_id_q5_0_q8_1_f32_len[reduc], arr_dmmv_id_q5_0_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q5_1], "mul_mat_vec_id_q5_1_q8_1_f32", arr_dmmv_id_q5_1_q8_1_f32_len[reduc], arr_dmmv_id_q5_1_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q8_0], "mul_mat_vec_id_q8_0_q8_1_f32", arr_dmmv_id_q8_0_q8_1_f32_len[reduc], arr_dmmv_id_q8_0_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q4_0], "mul_mat_vec_id_q4_0_q8_1_f32", arr_dmmv_id_q4_0_q8_1_f32_len[reduc], arr_dmmv_id_q4_0_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q4_1], "mul_mat_vec_id_q4_1_q8_1_f32", arr_dmmv_id_q4_1_q8_1_f32_len[reduc], arr_dmmv_id_q4_1_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q5_0], "mul_mat_vec_id_q5_0_q8_1_f32", arr_dmmv_id_q5_0_q8_1_f32_len[reduc], arr_dmmv_id_q5_0_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q5_1], "mul_mat_vec_id_q5_1_q8_1_f32", arr_dmmv_id_q5_1_q8_1_f32_len[reduc], arr_dmmv_id_q5_1_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q8_0], "mul_mat_vec_id_q8_0_q8_1_f32", arr_dmmv_id_q8_0_q8_1_f32_len[reduc], arr_dmmv_id_q8_0_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_MXFP4], "mul_mat_vec_id_mxfp4_q8_1_f32", arr_dmmv_id_mxfp4_q8_1_f32_len[reduc], arr_dmmv_id_mxfp4_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {2*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 2*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_MXFP4], "mul_mat_vec_id_mxfp4_q8_1_f32", arr_dmmv_id_mxfp4_q8_1_f32_len[reduc], arr_dmmv_id_mxfp4_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {2*rm_stdq_int, 1, 1}, {wg_size_subgroup_int, 2*rm_stdq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q2_K], "mul_mat_vec_id_q2_k_q8_1_f32", arr_dmmv_id_q2_k_q8_1_f32_len[reduc], arr_dmmv_id_q2_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {2*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 2*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q3_K], "mul_mat_vec_id_q3_k_q8_1_f32", arr_dmmv_id_q3_k_q8_1_f32_len[reduc], arr_dmmv_id_q3_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q4_K], "mul_mat_vec_id_q4_k_q8_1_f32", arr_dmmv_id_q4_k_q8_1_f32_len[reduc], arr_dmmv_id_q4_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q5_K], "mul_mat_vec_id_q5_k_q8_1_f32", arr_dmmv_id_q5_k_q8_1_f32_len[reduc], arr_dmmv_id_q5_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q6_K], "mul_mat_vec_id_q6_k_q8_1_f32", arr_dmmv_id_q6_k_q8_1_f32_len[reduc], arr_dmmv_id_q6_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q2_K], "mul_mat_vec_id_q2_k_q8_1_f32", arr_dmmv_id_q2_k_q8_1_f32_len[reduc], arr_dmmv_id_q2_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {2*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 2*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q3_K], "mul_mat_vec_id_q3_k_q8_1_f32", arr_dmmv_id_q3_k_q8_1_f32_len[reduc], arr_dmmv_id_q3_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q4_K], "mul_mat_vec_id_q4_k_q8_1_f32", arr_dmmv_id_q4_k_q8_1_f32_len[reduc], arr_dmmv_id_q4_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q5_K], "mul_mat_vec_id_q5_k_q8_1_f32", arr_dmmv_id_q5_k_q8_1_f32_len[reduc], arr_dmmv_id_q5_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_Q6_K], "mul_mat_vec_id_q6_k_q8_1_f32", arr_dmmv_id_q6_k_q8_1_f32_len[reduc], arr_dmmv_id_q6_k_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_kq_int, 1, 1}, {wg_size_subgroup_int, 1*rm_kq_int}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_IQ1_S], "mul_mat_vec_id_iq1_s_q8_1_f32", arr_dmmv_id_iq1_s_q8_1_f32_len[reduc], arr_dmmv_id_iq1_s_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_iq_int(0), 1, 1}, {wg_size_subgroup_int, 1*rm_iq_int(0)}, 1, true, use_subgroups, subgroup_size_int); - ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_IQ1_M], "mul_mat_vec_id_iq1_m_q8_1_f32", arr_dmmv_id_iq1_m_q8_1_f32_len[reduc], arr_dmmv_id_iq1_m_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_push_constants), {1*rm_iq_int(0), 1, 1}, {wg_size_subgroup_int, 1*rm_iq_int(0)}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_IQ1_S], "mul_mat_vec_id_iq1_s_q8_1_f32", arr_dmmv_id_iq1_s_q8_1_f32_len[reduc], arr_dmmv_id_iq1_s_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_iq_int(0), 1, 1}, {wg_size_subgroup_int, 1*rm_iq_int(0)}, 1, true, use_subgroups, subgroup_size_int); + ggml_vk_create_pipeline(device, device->pipeline_dequant_mul_mat_vec_id_q8_1_f32[w][GGML_TYPE_IQ1_M], "mul_mat_vec_id_iq1_m_q8_1_f32", arr_dmmv_id_iq1_m_q8_1_f32_len[reduc], arr_dmmv_id_iq1_m_q8_1_f32_data[reduc], "main", mul_mat_vec_id_num_bindings, sizeof(vk_mat_vec_id_push_constants), {1*rm_iq_int(0), 1, 1}, {wg_size_subgroup_int, 1*rm_iq_int(0)}, 1, true, use_subgroups, subgroup_size_int); } #endif // GGML_VULKAN_INTEGER_DOT_GLSLC_SUPPORT } @@ -3944,9 +3949,9 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_flash_attn_split_k_reduce, "fa_split_k_reduce", fa_split_k_reduce_len, fa_split_k_reduce_data, "main", 3, 5 * sizeof(uint32_t), {1, device->subgroup_size, 1}, {device->subgroup_size}, 1, true); if (device->subgroup_clustered && device->subgroup_require_full_support) { - ggml_vk_create_pipeline(device, device->pipeline_quantize_q8_1_x4, "quantize_q8_1_x4", quantize_q8_1_x4_subgroup_len, quantize_q8_1_x4_subgroup_data, "main", 2, 1 * sizeof(uint32_t), {32 * device->subgroup_size / 8, 1, 1}, { device->subgroup_size }, 1, true, true); + ggml_vk_create_pipeline(device, device->pipeline_quantize_q8_1_x4, "quantize_q8_1_x4", quantize_q8_1_x4_subgroup_len, quantize_q8_1_x4_subgroup_data, "main", 2, sizeof(vk_quantize_q8_1_push_constants), {32 * device->subgroup_size / 8, 1, 1}, { device->subgroup_size }, 1, true, true); } else { - ggml_vk_create_pipeline(device, device->pipeline_quantize_q8_1_x4, "quantize_q8_1_x4", quantize_q8_1_x4_len, quantize_q8_1_x4_data, "main", 2, 1 * sizeof(uint32_t), {32 * device->subgroup_size / 8, 1, 1}, { device->subgroup_size }, 1); + ggml_vk_create_pipeline(device, device->pipeline_quantize_q8_1_x4, "quantize_q8_1_x4", quantize_q8_1_x4_len, quantize_q8_1_x4_data, "main", 2, sizeof(vk_quantize_q8_1_push_constants), {32 * device->subgroup_size / 8, 1, 1}, { device->subgroup_size }, 1); } for (uint32_t i = 0; i < p021_max_gqa_ratio; ++i) { @@ -4154,9 +4159,9 @@ static void ggml_vk_load_shaders(vk_device& device) { ggml_vk_create_pipeline(device, device->pipeline_add1_f16_f32, "add1_f16_f32", add1_f16_f32_len, add1_f16_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, {}, 1); ggml_vk_create_pipeline(device, device->pipeline_add1_f32_f32, "add1_f32_f32", add1_f32_f32_len, add1_f32_f32_data, "main", 3, sizeof(vk_op_binary_push_constants), {512, 1, 1}, {}, 1); - ggml_vk_create_pipeline(device, device->pipeline_arange_f32, "arange_f32", arange_f32_len, arange_f32_data, "main", 1, sizeof(vk_op_unary_push_constants), {512, 1, 1}, {}, 1); + ggml_vk_create_pipeline(device, device->pipeline_arange_f32, "arange_f32", arange_f32_len, arange_f32_data, "main", 1, sizeof(vk_op_push_constants), {512, 1, 1}, {}, 1); - ggml_vk_create_pipeline(device, device->pipeline_fill_f32, "fill_f32", fill_f32_len, fill_f32_data, "main", 1, sizeof(vk_op_unary_push_constants), {512, 1, 1}, {}, 1); + ggml_vk_create_pipeline(device, device->pipeline_fill_f32, "fill_f32", fill_f32_len, fill_f32_data, "main", 1, sizeof(vk_op_push_constants), {512, 1, 1}, {}, 1); #define CREATE_GLU(name) \ if (device->float_controls_rte_fp16) { \ @@ -6100,6 +6105,7 @@ static void ggml_vk_dispatch_pipeline(ggml_backend_vk_context* ctx, vk_context& GGML_ASSERT(ctx->descriptor_set_idx < ctx->descriptor_sets.size()); GGML_ASSERT(descriptor_buffer_infos.size() <= MAX_PARAMETER_COUNT); GGML_ASSERT(pipeline->parameter_count == descriptor_buffer_infos.size()); + GGML_ASSERT(pipeline->push_constant_size == push_constant_size(push_constants)); vk::DescriptorSet& descriptor_set = ctx->descriptor_sets[ctx->descriptor_set_idx++]; vk::WriteDescriptorSet write_descriptor_set{ descriptor_set, 0, 0, pipeline->parameter_count, vk::DescriptorType::eStorageBuffer, nullptr, descriptor_buffer_infos.begin() }; @@ -6882,7 +6888,12 @@ static void ggml_vk_quantize_q8_1(ggml_backend_vk_context * ctx, vk_context& sub const uint64_t max_elements = std::min(uint64_t{ctx->device->properties.limits.maxComputeWorkGroupCount[0]} * pipeline->wg_denoms[0], std::numeric_limits::max()); const uint32_t elements = std::min(ne, static_cast(max_elements)); - ggml_vk_dispatch_pipeline(ctx, subctx, pipeline, { in, out }, std::array{ ne, num_blocks }, { elements, 1, 1 }); + const vk_quantize_q8_1_push_constants pc = { + ne, + num_blocks, + }; + + ggml_vk_dispatch_pipeline(ctx, subctx, pipeline, { in, out }, pc, { elements, 1, 1 }); ggml_vk_sync_buffers(ctx, subctx); } From 15bff84bf56651d6f991f166a2bf0f362996f7f9 Mon Sep 17 00:00:00 2001 From: Reese Levine Date: Thu, 8 Jan 2026 08:23:39 -0800 Subject: [PATCH 017/100] ggml webgpu: initial flashattention implementation (#18610) * FlashAttention (#13) * Add inplace softmax * Move rms_norm to split row approach * Update debug for supports_op * clean up debug statements * neg f16xf32xip builds and runs, havent actually ran a model that uses neg kernel yet though * neg passes backend test * unary operators pass ggml tests * rms_norm double declaration bug atoned * abides by editor-config * removed vestigial files * fixed autoconfig * All operators (inlcluding xielu) working * removed unnecesarry checking if node->src[1] exists for unary operators * responded and dealt with PR comments * implemented REPL_Template support and removed bug in unary operators kernel * formatted embed wgsl and ggml-webgpu.cpp * Faster tensors (#8) Add fast matrix and matrix/vector multiplication. * Use map for shader replacements instead of pair of strings * Wasm (#9) * webgpu : fix build on emscripten * more debugging stuff * test-backend-ops: force single thread on wasm * fix single-thread case for init_tensor_uniform * use jspi * add pthread * test: remember to set n_thread for cpu backend * Add buffer label and enable dawn-specific toggles to turn off some checks * Intermediate state * Fast working f16/f32 vec4 * Working float fast mul mat * Clean up naming of mul_mat to match logical model, start work on q mul_mat * Setup for subgroup matrix mat mul * Basic working subgroup matrix * Working subgroup matrix tiling * Handle weirder sg matrix sizes (but still % sg matrix size) * Working start to gemv * working f16 accumulation with shared memory staging * Print out available subgroup matrix configurations * Vectorize dst stores for sg matrix shader * Gemv working scalar * Minor set_rows optimization (#4) * updated optimization, fixed errors * non vectorized version now dispatches one thread per element * Simplify * Change logic for set_rows pipelines --------- Co-authored-by: Neha Abbas Co-authored-by: Neha Abbas Co-authored-by: Reese Levine * Comment on dawn toggles * Working subgroup matrix code for (semi)generic sizes * Remove some comments * Cleanup code * Update dawn version and move to portable subgroup size * Try to fix new dawn release * Update subgroup size comment * Only check for subgroup matrix configs if they are supported * Add toggles for subgroup matrix/f16 support on nvidia+vulkan * Make row/col naming consistent * Refactor shared memory loading * Move sg matrix stores to correct file * Working q4_0 * Formatting * Work with emscripten builds * Fix test-backend-ops emscripten for f16/quantized types * Use emscripten memory64 to support get_memory * Add build flags and try ci --------- Co-authored-by: Xuan Son Nguyen * Remove extra whitespace * Move wasm single-thread logic out of test-backend-ops for cpu backend * Disable multiple threads for emscripten single-thread builds in ggml_graph_plan * Refactored pipelines and workgroup calculations (#10) * refactored pipelines * refactored workgroup calculation * removed commented out block of prior maps * Clean up ceiling division pattern --------- Co-authored-by: Neha Abbas Co-authored-by: Reese Levine * Start work on flash attention * Shader structure set up (many bugs still) * debugging * Working first test * Working with head grouping, head sizes to 128, logit softcap, mask/sinks enabled, f32 * Generalize softmax to work with multiple subgroups, f16 accumulation, mask shared memory tiling * Start work on integrating pre-wgsl * Separate structs/initial shader compilation library into separate files * Work on compilation choices for flashattention * Work on subgroup matrix/tile size portability * subgroup size agnostic online softmax * Cleanups, quantization types * more cleanup * fix wasm build * Refactor flashattention to increase parallelism, use direct loads for KV in somce cases * Checkpoint * formatting * Update to account for default kv cache padding * formatting shader * Add workflow for ggml-ci webgpu * Try passing absolute path to dawn in ggml-ci * Avoid error on device destruction, add todos for proper cleanup * Fix unused warning * Forgot one parameter unused * Move some flashattn computation to f32 for correctness --- .github/workflows/build.yml | 44 +- ci/run.sh | 15 +- .../ggml-webgpu/ggml-webgpu-shader-lib.hpp | 169 ++++ ggml/src/ggml-webgpu/ggml-webgpu.cpp | 288 ++++++- ggml/src/ggml-webgpu/pre_wgsl.hpp | 778 ++++++++++++++++++ .../ggml-webgpu/wgsl-shaders/flash_attn.wgsl | 591 +++++++++++++ 6 files changed, 1838 insertions(+), 47 deletions(-) create mode 100644 ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp create mode 100644 ggml/src/ggml-webgpu/pre_wgsl.hpp create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 85601b3712..446a3750d7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -152,13 +152,13 @@ jobs: DAWN_VERSION="v2.0.0" DAWN_OWNER="reeselevine" DAWN_REPO="dawn" - DAWN_ASSET_NAME="Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-macos-latest-Release.zip" - echo "Fetching release asset from https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}" + DAWN_ASSET_NAME="Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-macos-latest-Release" + echo "Fetching release asset from https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip" curl -L -o artifact.zip \ - "https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}" + "https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip" mkdir dawn unzip artifact.zip - tar -xvf Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-macos-latest-Release.tar.gz -C dawn --strip-components=1 + tar -xvf ${DAWN_ASSET_NAME}.tar.gz -C dawn --strip-components=1 - name: Build id: cmake_build @@ -532,13 +532,13 @@ jobs: DAWN_VERSION="v2.0.0" DAWN_OWNER="reeselevine" DAWN_REPO="dawn" - DAWN_ASSET_NAME="Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-ubuntu-latest-Release.zip" - echo "Fetching release asset from https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}" + DAWN_ASSET_NAME="Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-ubuntu-latest-Release" + echo "Fetching release asset from https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip" curl -L -o artifact.zip \ - "https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}" + "https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip" mkdir dawn unzip artifact.zip - tar -xvf Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-ubuntu-latest-Release.tar.gz -C dawn --strip-components=1 + tar -xvf ${DAWN_ASSET_NAME}.tar.gz -C dawn --strip-components=1 - name: Build id: cmake_build @@ -1704,6 +1704,34 @@ jobs: run: | GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp + ggml-ci-mac-webgpu: + runs-on: [self-hosted, macOS, ARM64] + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v4 + + - name: Dawn Dependency + id: dawn-depends + run: | + DAWN_VERSION="v2.0.0" + DAWN_OWNER="reeselevine" + DAWN_REPO="dawn" + DAWN_ASSET_NAME="Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-macos-latest-Release" + echo "Fetching release asset from https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip" + curl -L -o artifact.zip \ + "https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip" + mkdir dawn + unzip artifact.zip + tar -xvf ${DAWN_ASSET_NAME}.tar.gz -C dawn --strip-components=1 + + - name: Test + id: ggml-ci + run: | + GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \ + bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp + ggml-ci-mac-vulkan: runs-on: [self-hosted, macOS, ARM64] diff --git a/ci/run.sh b/ci/run.sh index 5c2d325a56..3deebd5dd3 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -105,7 +105,20 @@ if [ ! -z ${GG_BUILD_VULKAN} ]; then fi if [ ! -z ${GG_BUILD_WEBGPU} ]; then - CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_WEBGPU=1" + CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_WEBGPU=1 -DGGML_METAL=OFF -DGGML_BLAS=OFF" + + if [ ! -z "${GG_BUILD_WEBGPU_DAWN_PREFIX}" ]; then + if [ -z "${CMAKE_PREFIX_PATH}" ]; then + export CMAKE_PREFIX_PATH="${GG_BUILD_WEBGPU_DAWN_PREFIX}" + else + export CMAKE_PREFIX_PATH="${GG_BUILD_WEBGPU_DAWN_PREFIX}:${CMAKE_PREFIX_PATH}" + fi + fi + + # For some systems, Dawn_DIR needs to be set explicitly, e.g., the lib64 path + if [ ! -z "${GG_BUILD_WEBGPU_DAWN_DIR}" ]; then + CMAKE_EXTRA="${CMAKE_EXTRA} -DDawn_DIR=${GG_BUILD_WEBGPU_DAWN_DIR}" + fi fi if [ ! -z ${GG_BUILD_MUSA} ]; then diff --git a/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp b/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp new file mode 100644 index 0000000000..7fdb4c8c8d --- /dev/null +++ b/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp @@ -0,0 +1,169 @@ +#ifndef GGML_WEBGPU_SHADER_LIB_HPP +#define GGML_WEBGPU_SHADER_LIB_HPP + +#include "ggml.h" +#include "pre_wgsl.hpp" + +#include +#include + +#define GGML_WEBGPU_F16_SIZE_BYTES 2 +#define GGML_WEBGPU_F32_SIZE_BYTES 4 +#define GGML_WEBGPU_FLASH_ATTN_PREFERRED_KV_SG_TILES 8u +#define GGML_WEBGPU_FLASH_ATTN_PREFERRED_WG_SIZE 128u +// Matches GGML_PAD(..., 256) in src/llama-context.cpp for KV cache sizing. +#define GGML_WEBGPU_KV_SEQ_PAD 256u + +struct ggml_webgpu_flash_attn_shader_lib_context { + ggml_type kv_type; + uint32_t head_dim_qk; + uint32_t head_dim_v; + bool kv_direct; + bool has_mask; + bool has_sinks; + bool uses_logit_softcap; + uint32_t sg_mat_m; + uint32_t sg_mat_n; + uint32_t sg_mat_k; + size_t wg_mem_limit_bytes; + uint32_t max_subgroup_size; +}; + +struct ggml_webgpu_flash_attn_shader_decisions { + uint32_t q_tile = 0; + uint32_t kv_tile = 0; + uint32_t wg_size = 0; +}; + +struct ggml_webgpu_processed_shader { + std::string wgsl; + std::string variant; + ggml_webgpu_flash_attn_shader_decisions decisions; +}; + +// This is exposed because it's necessary in supports_op +inline size_t ggml_webgpu_flash_attn_wg_mem_bytes(uint32_t q_tile, + uint32_t kv_tile, + uint32_t head_dim_qk, + uint32_t head_dim_v, + bool has_mask, + bool kv_direct) { + const uint32_t max_head_dim = std::max(head_dim_qk, head_dim_v); + size_t f16_elems = 0; + size_t f32_elems = 0; + f16_elems += q_tile * head_dim_qk; // q_shmem + if (!kv_direct) { + f16_elems += kv_tile * max_head_dim; // kv_shmem + } + f16_elems += q_tile * head_dim_v; // o_shmem + if (has_mask) { + f16_elems += q_tile * kv_tile; // mask_shmem + } + f16_elems += q_tile * kv_tile; // inter_shmem + f32_elems += q_tile; // row_max_shmem + f32_elems += q_tile; // exp_sum_shmem + return f16_elems * GGML_WEBGPU_F16_SIZE_BYTES + f32_elems * GGML_WEBGPU_F32_SIZE_BYTES; +} + +static uint32_t ggml_webgpu_flash_attn_max_kv_tile(const ggml_webgpu_flash_attn_shader_lib_context & context) { + const size_t limit_bytes = context.wg_mem_limit_bytes; + const size_t q_tile = context.sg_mat_m; + const size_t base_q_bytes = (context.head_dim_qk + context.head_dim_v) * q_tile * GGML_WEBGPU_F16_SIZE_BYTES + + 2 * q_tile * GGML_WEBGPU_F32_SIZE_BYTES; + size_t bytes_per_kv = 0; + if (!context.kv_direct) { + bytes_per_kv += std::max(context.head_dim_qk, context.head_dim_v); + } + if (context.has_mask) { + bytes_per_kv += q_tile; + } + bytes_per_kv += q_tile; + bytes_per_kv *= GGML_WEBGPU_F16_SIZE_BYTES; + const uint32_t max_kv_tile = (limit_bytes - base_q_bytes) / bytes_per_kv; + return (max_kv_tile / context.sg_mat_n) * context.sg_mat_n; +} + +inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_flash_attn_shader( + pre_wgsl::Preprocessor & preprocessor, + const char * shader_src, + const ggml_webgpu_flash_attn_shader_lib_context & context) { + std::vector defines; + std::string variant = "flash_attn"; + + switch (context.kv_type) { + case GGML_TYPE_F32: + defines.push_back("KV_F32"); + break; + case GGML_TYPE_F16: + defines.push_back("KV_F16"); + break; + case GGML_TYPE_Q4_0: + defines.push_back("KV_Q4_0"); + break; + case GGML_TYPE_Q8_0: + defines.push_back("KV_Q8_0"); + break; + default: + GGML_ABORT("Unsupported KV type for flash attention shader"); + } + variant += std::string("_") + ggml_type_name(context.kv_type); + + if (context.has_mask) { + defines.push_back("MASK"); + variant += "_mask"; + } + if (context.has_sinks) { + defines.push_back("SINKS"); + variant += "_sinks"; + } + if (context.uses_logit_softcap) { + defines.push_back("LOGIT_SOFTCAP"); + variant += "_lgsc"; + } + + if (context.kv_direct) { + defines.push_back("KV_DIRECT"); + variant += "_kvdirect"; + } + + defines.push_back(std::string("HEAD_DIM_QK=") + std::to_string(context.head_dim_qk)); + variant += std::string("_hsqk") + std::to_string(context.head_dim_qk); + + defines.push_back(std::string("HEAD_DIM_V=") + std::to_string(context.head_dim_v)); + variant += std::string("_hsv") + std::to_string(context.head_dim_v); + + // For now these are not part of the variant name + defines.push_back(std::string("SG_MAT_M=") + std::to_string(context.sg_mat_m)); + defines.push_back(std::string("SG_MAT_N=") + std::to_string(context.sg_mat_n)); + defines.push_back(std::string("SG_MAT_K=") + std::to_string(context.sg_mat_k)); + + // Add chosen Q/KV tile sizes + uint32_t q_tile = context.sg_mat_m; + uint32_t kv_tile = std::min(ggml_webgpu_flash_attn_max_kv_tile(context), + context.sg_mat_n * GGML_WEBGPU_FLASH_ATTN_PREFERRED_KV_SG_TILES); + if (context.kv_direct) { + GGML_ASSERT(kv_tile <= GGML_WEBGPU_KV_SEQ_PAD); + // Avoids having to use bounds-checks and decreasing performance for direct KV loads + while (GGML_WEBGPU_KV_SEQ_PAD % kv_tile != 0) { + kv_tile -= context.sg_mat_n; + } + } + + defines.push_back(std::string("Q_TILE=") + std::to_string(q_tile)); + defines.push_back(std::string("KV_TILE=") + std::to_string(kv_tile)); + + // workgroup size + uint32_t wg_size = std::max(context.max_subgroup_size, GGML_WEBGPU_FLASH_ATTN_PREFERRED_WG_SIZE); + + defines.push_back(std::string("WG_SIZE=") + std::to_string(wg_size)); + + ggml_webgpu_processed_shader result; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + result.decisions.q_tile = q_tile; + result.decisions.kv_tile = kv_tile; + result.decisions.wg_size = wg_size; + return result; +} + +#endif // GGML_WEBGPU_SHADER_LIB_HPP diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index c7afdfb8e9..f64f94b96f 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -7,7 +7,9 @@ #include "ggml-backend-impl.h" #include "ggml-impl.h" +#include "ggml-webgpu-shader-lib.hpp" #include "ggml-wgsl-shaders.hpp" +#include "pre_wgsl.hpp" #ifdef __EMSCRIPTEN__ # include @@ -30,7 +32,7 @@ #ifdef GGML_WEBGPU_DEBUG # define WEBGPU_LOG_DEBUG(msg) std::cout << msg << std::endl -# define WEBGPU_DEBUG_BUF_ELEMS 32 +# define WEBGPU_DEBUG_BUF_ELEMS 512 #else # define WEBGPU_LOG_DEBUG(msg) ((void) 0) #endif // GGML_WEBGPU_DEBUG @@ -251,6 +253,7 @@ struct webgpu_gpu_profile_buf_pool { struct webgpu_pipeline { wgpu::ComputePipeline pipeline; std::string name; + void * context = nullptr; }; struct webgpu_command { @@ -263,6 +266,46 @@ struct webgpu_command { #endif }; +struct flash_attn_pipeline_key { + int q_type; + int kv_type; + int dst_type; + uint32_t head_dim_qk; + uint32_t head_dim_v; + bool kv_direct; + bool has_mask; + bool has_sinks; + bool uses_logit_softcap; + + bool operator==(const flash_attn_pipeline_key & other) const { + return q_type == other.q_type && kv_type == other.kv_type && dst_type == other.dst_type && + head_dim_qk == other.head_dim_qk && head_dim_v == other.head_dim_v && kv_direct == other.kv_direct && + has_mask == other.has_mask && has_sinks == other.has_sinks && + uses_logit_softcap == other.uses_logit_softcap; + } +}; + +// Same hash combine function as in boost +template inline void ggml_webgpu_hash_combine(size_t & seed, const T & value) { + seed ^= std::hash{}(value) + 0x9e3779b9 + (seed << 6) + (seed >> 2); +} + +struct flash_attn_pipeline_key_hash { + size_t operator()(const flash_attn_pipeline_key & key) const { + size_t seed = 0; + ggml_webgpu_hash_combine(seed, key.q_type); + ggml_webgpu_hash_combine(seed, key.kv_type); + ggml_webgpu_hash_combine(seed, key.dst_type); + ggml_webgpu_hash_combine(seed, key.head_dim_qk); + ggml_webgpu_hash_combine(seed, key.head_dim_v); + ggml_webgpu_hash_combine(seed, key.kv_direct); + ggml_webgpu_hash_combine(seed, key.has_mask); + ggml_webgpu_hash_combine(seed, key.has_sinks); + ggml_webgpu_hash_combine(seed, key.uses_logit_softcap); + return seed; + } +}; + // All the base objects needed to run operations on a WebGPU device struct webgpu_context_struct { wgpu::Instance instance; @@ -271,12 +314,12 @@ struct webgpu_context_struct { wgpu::Queue queue; wgpu::Limits limits; - uint32_t subgroup_size; + uint32_t max_subgroup_size; -#ifndef __EMSCRIPTEN__ - bool supports_subgroup_matrix = false; - wgpu::SubgroupMatrixConfig subgroup_matrix_config; -#endif + bool supports_subgroup_matrix = false; + uint32_t sg_mat_m; + uint32_t sg_mat_n; + uint32_t sg_mat_k; std::recursive_mutex mutex; std::atomic_uint inflight_threads = 0; @@ -284,20 +327,24 @@ struct webgpu_context_struct { webgpu_buf_pool param_buf_pool; webgpu_buf_pool set_rows_error_buf_pool; + pre_wgsl::Preprocessor p; + std::map memset_pipelines; // variant or type index std::map>> mul_mat_pipelines; // src0_type, src1_type, vectorized std::map>> mul_mat_vec_pipelines; // src0_type, src1_type, vectorized - std::map> set_rows_pipelines; // dst_type, vectorized - std::map> get_rows_pipelines; // src_type, vectorized + std::unordered_map flash_attn_pipelines; - std::map> cpy_pipelines; // src_type, dst_type - std::map> add_pipelines; // type, inplace - std::map> sub_pipelines; // type, inplace - std::map> mul_pipelines; // type, inplace - std::map> div_pipelines; // type, inplace + std::map> set_rows_pipelines; // dst_type, vectorized + std::map> get_rows_pipelines; // src_type, vectorized + + std::map> cpy_pipelines; // src_type, dst_type + std::map> add_pipelines; // type, inplace + std::map> sub_pipelines; // type, inplace + std::map> mul_pipelines; // type, inplace + std::map> div_pipelines; // type, inplace std::map rms_norm_pipelines; // inplace std::map>> rope_pipelines; // type, ff, inplace @@ -361,8 +408,6 @@ struct ggml_backend_webgpu_buffer_context { label(std::move(lbl)) {} }; -/* End struct definitions */ - /* WebGPU object initializations */ // Process a WGSL shader string, replacing tokens of the form {{KEY}} with @@ -484,14 +529,9 @@ static void ggml_backend_webgpu_debug(webgpu_context & ctx) { encoder.CopyBufferToBuffer(ctx->debug_dev_buf, 0, ctx->debug_host_buf, 0, ctx->debug_host_buf.GetSize()); wgpu::CommandBuffer commands = encoder.Finish(); ctx->queue.Submit(1, &commands); - ggml_backend_webgpu_map_buffer(ctx, ctx->debug_host_buf, wgpu::MapMode::Read, 0, ctx->debug_host_buf.GetSize()); - const uint32_t * debug_data = (const uint32_t *) ctx->debug_host_buf.GetConstMappedRange(); - std::cout << "debug data:"; - for (size_t i = 0; i < WEBGPU_DEBUG_BUF_ELEMS; i++) { - std::cout << " " << i << ": " << debug_data[i]; - } - std::cout << "\n"; + const float * debug_data = (const float *) ctx->debug_host_buf.GetConstMappedRange(); + std::cout << "debug[0]: " << debug_data[0] << "\n"; ctx->debug_host_buf.Unmap(); } #endif @@ -673,6 +713,7 @@ static const char * ggml_backend_webgpu_name(ggml_backend_t backend) { return ctx->name.c_str(); } +// TODO: implement proper cleanup static void ggml_backend_webgpu_free(ggml_backend_t backend) { ggml_backend_webgpu_context * ctx = (ggml_backend_webgpu_context *) backend->context; WEBGPU_LOG_DEBUG("ggml_backend_webgpu_free(" << ctx->name << ")"); @@ -730,12 +771,12 @@ static wgpu::Buffer ggml_webgpu_tensor_buf(const ggml_tensor * tensor) { return ctx->buffer; } -static size_t ggml_webgpu_tensor_misalignment(webgpu_context & ctx, ggml_tensor * t) { +static size_t ggml_webgpu_tensor_misalignment(webgpu_context & ctx, const ggml_tensor * t) { size_t offset = ggml_webgpu_tensor_offset(t); return offset & (ctx->limits.minStorageBufferOffsetAlignment - 1); } -static size_t ggml_webgpu_tensor_align_offset(webgpu_context & ctx, ggml_tensor * t) { +static size_t ggml_webgpu_tensor_align_offset(webgpu_context & ctx, const ggml_tensor * t) { size_t offset = ggml_webgpu_tensor_offset(t); return offset & ~(ctx->limits.minStorageBufferOffsetAlignment - 1); } @@ -964,12 +1005,10 @@ static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, #ifndef __EMSCRIPTEN__ if (ctx->supports_subgroup_matrix) { // The total number of subgroups/workgroups needed per matrix. - uint32_t wg_m_sg_tile = - WEBGPU_MUL_MAT_SUBGROUP_M * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_M * ctx->subgroup_matrix_config.M; - wg_m = CEIL_DIV(dst->ne[0], wg_m_sg_tile); - uint32_t wg_n_sg_tile = - WEBGPU_MUL_MAT_SUBGROUP_N * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N * ctx->subgroup_matrix_config.N; - wg_n = CEIL_DIV(dst->ne[1], wg_n_sg_tile); + uint32_t wg_m_sg_tile = WEBGPU_MUL_MAT_SUBGROUP_M * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_M * ctx->sg_mat_m; + wg_m = CEIL_DIV(dst->ne[0], wg_m_sg_tile); + uint32_t wg_n_sg_tile = WEBGPU_MUL_MAT_SUBGROUP_N * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N * ctx->sg_mat_n; + wg_n = CEIL_DIV(dst->ne[1], wg_n_sg_tile); } else { #endif uint32_t tile_m_s = WEBGPU_MUL_MAT_TILE_M * WEBGPU_MUL_MAT_WG_SIZE_M; @@ -986,6 +1025,146 @@ static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x, wg_y); } +static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, + ggml_tensor * Q, + ggml_tensor * K, + ggml_tensor * V, + ggml_tensor * mask, + ggml_tensor * sinks, + ggml_tensor * dst) { + float scale = *(float *) dst->op_params; + float max_bias; + memcpy(&max_bias, (float *) dst->op_params + 1, sizeof(float)); + float logit_softcap; + memcpy(&logit_softcap, (float *) dst->op_params + 2, sizeof(float)); + if (logit_softcap != 0.0f) { + scale /= logit_softcap; + } + float n_head_log2 = float(1u << (uint32_t) floor(log2(Q->ne[2]))); + float m0 = powf(2.0f, -(max_bias) / n_head_log2); + float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); + + const int has_mask = (mask != nullptr); + const int has_sinks = (sinks != nullptr); + + std::vector params = { + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, Q) / ggml_type_size(Q->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, K) / ggml_type_size(K->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, V) / ggml_type_size(V->type)), + has_mask ? (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, mask) / ggml_type_size(mask->type)) : 0, + has_sinks ? (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, sinks) / ggml_type_size(sinks->type)) : 0, + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), + (uint32_t) Q->ne[2], // number of heads + (uint32_t) Q->ne[1], // sequence length (Q) + (uint32_t) K->ne[1], // sequence length (K/V) + (uint32_t) (Q->nb[1] / ggml_type_size(Q->type)), // stride (elements/blocks) of Q in dimension 1 + (uint32_t) (Q->nb[2] / ggml_type_size(Q->type)), // stride (elements/blocks) of Q in dimension 2 + (uint32_t) (Q->nb[3] / ggml_type_size(Q->type)), // stride (elements/blocks) of Q in dimension 3 + (uint32_t) (K->nb[1] / ggml_type_size(K->type)), // stride (elements/blocks) of K in dimension 1 + (uint32_t) (K->nb[2] / ggml_type_size(K->type)), // stride (elements/blocks) of K in dimension 2 + (uint32_t) (K->nb[3] / ggml_type_size(K->type)), // stride (elements/blocks) of K in dimension 3 + (uint32_t) (V->nb[1] / ggml_type_size(V->type)), // stride (elements/blocks) of V in dimension 1 + (uint32_t) (V->nb[2] / ggml_type_size(V->type)), // stride (elements/blocks) of V in dimension 2 + (uint32_t) (V->nb[3] / ggml_type_size(V->type)), // stride (elements/blocks) of V in dimension 3 + has_mask ? (uint32_t) (mask->nb[3] / ggml_type_size(mask->type)) : 0, // stride of mask dim 3 + (uint32_t) (Q->ne[2] / K->ne[2]), // repeat factor for K/V in dim 2 (MHA/MQA/GQA) + *(uint32_t *) &scale, // scale (possibly adjusted for logit softcap) + *(uint32_t *) &max_bias, + *(uint32_t *) &logit_softcap, + *(uint32_t *) &n_head_log2, + *(uint32_t *) &m0, + *(uint32_t *) &m1 + + }; + std::vector entries = { + { .binding = 0, + .buffer = ggml_webgpu_tensor_buf(Q), + .offset = ggml_webgpu_tensor_align_offset(ctx, Q), + .size = ggml_webgpu_tensor_binding_size(ctx, Q) }, + { .binding = 1, + .buffer = ggml_webgpu_tensor_buf(K), + .offset = ggml_webgpu_tensor_align_offset(ctx, K), + .size = ggml_webgpu_tensor_binding_size(ctx, K) }, + { .binding = 2, + .buffer = ggml_webgpu_tensor_buf(V), + .offset = ggml_webgpu_tensor_align_offset(ctx, V), + .size = ggml_webgpu_tensor_binding_size(ctx, V) } + }; + uint32_t binding_index = 3; + if (has_mask) { + entries.push_back({ .binding = binding_index++, + .buffer = ggml_webgpu_tensor_buf(mask), + .offset = ggml_webgpu_tensor_align_offset(ctx, mask), + .size = ggml_webgpu_tensor_binding_size(ctx, mask) }); + } + if (has_sinks) { + entries.push_back({ .binding = binding_index++, + .buffer = ggml_webgpu_tensor_buf(sinks), + .offset = ggml_webgpu_tensor_align_offset(ctx, sinks), + .size = ggml_webgpu_tensor_binding_size(ctx, sinks) }); + } + entries.push_back({ .binding = binding_index++, + .buffer = ggml_webgpu_tensor_buf(dst), + .offset = ggml_webgpu_tensor_align_offset(ctx, dst), + .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); + + bool kv_direct = + (K->type == GGML_TYPE_F16) && (Q->ne[0] % ctx->sg_mat_k == 0) && (K->ne[1] % GGML_WEBGPU_KV_SEQ_PAD == 0); + + flash_attn_pipeline_key key = { + .q_type = Q->type, + .kv_type = K->type, + .dst_type = dst->type, + .head_dim_qk = (uint32_t) Q->ne[0], + .head_dim_v = (uint32_t) V->ne[0], + .kv_direct = kv_direct, + .has_mask = static_cast(has_mask), + .has_sinks = static_cast(has_sinks), + .uses_logit_softcap = logit_softcap != 0.0f, + }; + + webgpu_pipeline pipeline; + ggml_webgpu_flash_attn_shader_decisions decisions = {}; + + auto it = ctx->flash_attn_pipelines.find(key); + if (it != ctx->flash_attn_pipelines.end()) { + pipeline = it->second; + decisions = *static_cast(pipeline.context); + } else { + std::lock_guard lock(ctx->mutex); + it = ctx->flash_attn_pipelines.find(key); + if (it != ctx->flash_attn_pipelines.end()) { + pipeline = it->second; + decisions = *static_cast(pipeline.context); + } else { + ggml_webgpu_flash_attn_shader_lib_context shader_lib_ctx = { .kv_type = K->type, + .head_dim_qk = (uint32_t) Q->ne[0], + .head_dim_v = (uint32_t) V->ne[0], + .kv_direct = kv_direct, + .has_mask = static_cast(has_mask), + .has_sinks = static_cast(has_sinks), + .uses_logit_softcap = logit_softcap != 0.0f, + .sg_mat_m = ctx->sg_mat_m, + .sg_mat_n = ctx->sg_mat_n, + .sg_mat_k = ctx->sg_mat_k, + .wg_mem_limit_bytes = + ctx->limits.maxComputeWorkgroupStorageSize, + .max_subgroup_size = ctx->max_subgroup_size }; + + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_flash_attn_shader(ctx->p, wgsl_flash_attn, shader_lib_ctx); + pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline.context = new ggml_webgpu_flash_attn_shader_decisions(processed.decisions); + ctx->flash_attn_pipelines.emplace(key, pipeline); + decisions = processed.decisions; + } + } + + uint32_t wg_per_head = CEIL_DIV(Q->ne[1], decisions.q_tile); + uint32_t wg_x = wg_per_head * Q->ne[2] * Q->ne[3]; // wg per head * number of heads * number of batches + return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); +} + static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { uint32_t ne = (uint32_t) ggml_nelements(dst); ggml_unary_op unary_op = ggml_get_unary_op(dst); @@ -1397,6 +1576,8 @@ static std::optional ggml_webgpu_encode_node(webgpu_context ctx, return ggml_webgpu_get_rows(ctx, src0, src1, node); case GGML_OP_MUL_MAT: return ggml_webgpu_mul_mat(ctx, src0, src1, node); + case GGML_OP_FLASH_ATTN_EXT: + return ggml_webgpu_flash_attn(ctx, src0, src1, src2, node->src[3], node->src[4], node); case GGML_OP_ADD: { int inplace = ggml_webgpu_tensor_equal(src0, node); @@ -1466,6 +1647,7 @@ static ggml_status ggml_backend_webgpu_graph_compute(ggml_backend_t backend, str webgpu_submission_futures new_futures = ggml_backend_webgpu_submit(ctx, commands); futures.push_back(new_futures); } + ggml_backend_webgpu_wait(ctx, futures); ctx->inflight_threads--; WEBGPU_CPU_PROFILE_TOTAL_END(graph_compute, ctx); @@ -1808,15 +1990,15 @@ static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { #ifndef __EMSCRIPTEN__ if (webgpu_ctx->supports_subgroup_matrix) { std::map sg_matrix_repls; - sg_matrix_repls["WEBGPU_MAX_SUBGROUP_SIZE"] = std::to_string(webgpu_ctx->subgroup_size); + sg_matrix_repls["WEBGPU_MAX_SUBGROUP_SIZE"] = std::to_string(webgpu_ctx->max_subgroup_size); sg_matrix_repls["WEBGPU_TILE_K"] = std::to_string(WEBGPU_MUL_MAT_TILE_K); sg_matrix_repls["WEBGPU_SUBGROUP_M"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_M); sg_matrix_repls["WEBGPU_SUBGROUP_N"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_N); sg_matrix_repls["WEBGPU_SUBGROUP_MATRIX_M"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_MATRIX_M); sg_matrix_repls["WEBGPU_SUBGROUP_MATRIX_N"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N); - sg_matrix_repls["WEBGPU_SG_MAT_M_SIZE"] = std::to_string(webgpu_ctx->subgroup_matrix_config.M); - sg_matrix_repls["WEBGPU_SG_MAT_N_SIZE"] = std::to_string(webgpu_ctx->subgroup_matrix_config.N); - sg_matrix_repls["WEBGPU_SG_MAT_K_SIZE"] = std::to_string(webgpu_ctx->subgroup_matrix_config.K); + sg_matrix_repls["WEBGPU_SG_MAT_M_SIZE"] = std::to_string(webgpu_ctx->sg_mat_m); + sg_matrix_repls["WEBGPU_SG_MAT_N_SIZE"] = std::to_string(webgpu_ctx->sg_mat_n); + sg_matrix_repls["WEBGPU_SG_MAT_K_SIZE"] = std::to_string(webgpu_ctx->sg_mat_k); proc_mul_mat_f32_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f32_f32, sg_matrix_repls); proc_mul_mat_f32_f32_vec = @@ -2328,6 +2510,7 @@ static void ggml_webgpu_init_soft_max_pipeline(webgpu_context & webgpu_ctx) { webgpu_ctx->device, wgsl_soft_max_f32_mask_f16_sink_inplace, "soft_max_f32_mask_f16_sink_inplace", constants); } +// TODO: move most initialization logic here static ggml_backend_t ggml_backend_webgpu_device_init(ggml_backend_dev_t dev, const char * params) { GGML_UNUSED(params); @@ -2489,6 +2672,29 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const } break; } + case GGML_OP_FLASH_ATTN_EXT: + { + if (!webgpu_ctx->supports_subgroup_matrix) { + break; + } + // Head dimensions must fit in workgroup memory with minimum tile sizes + size_t limit_bytes = webgpu_ctx->limits.maxComputeWorkgroupStorageSize; + const bool has_mask = op->src[3] != nullptr; + const bool kv_direct = src1->type == GGML_TYPE_F16 && (src0->ne[0] % webgpu_ctx->sg_mat_k) == 0 && + (src1->ne[1] % GGML_WEBGPU_KV_SEQ_PAD) == 0; + const size_t min_bytes = ggml_webgpu_flash_attn_wg_mem_bytes( + webgpu_ctx->sg_mat_m, webgpu_ctx->sg_mat_n, (uint32_t) src0->ne[0], (uint32_t) src2->ne[0], + has_mask, kv_direct); + if (min_bytes > limit_bytes) { + break; + } + + supports_op = src0->type == GGML_TYPE_F32 && + (src1->type == GGML_TYPE_F32 || src1->type == GGML_TYPE_F16 || + src1->type == GGML_TYPE_Q4_0 || src1->type == GGML_TYPE_Q8_0) && + src2->type == src1->type && op->type == GGML_TYPE_F32; + break; + } case GGML_OP_RMS_NORM: supports_op = op->type == GGML_TYPE_F32 && src0->type == GGML_TYPE_F32; break; @@ -2606,6 +2812,7 @@ static size_t ggml_backend_webgpu_reg_get_device_count(ggml_backend_reg_t reg) { } // TODO: Does this need to be thread safe? Is it only called once? +// TODO: move most logic to device_init function so backend can be freed/initialized properly // Only one device is supported for now static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t reg, size_t index) { GGML_ASSERT(index == 0); @@ -2665,7 +2872,9 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t if (config.M == config.N && config.N == config.K && (config.K == 8 || config.K == 16) && config.componentType == wgpu::SubgroupMatrixComponentType::F16 && config.resultComponentType == wgpu::SubgroupMatrixComponentType::F16) { - ctx->subgroup_matrix_config = config; + ctx->sg_mat_m = config.M; + ctx->sg_mat_n = config.N; + ctx->sg_mat_k = config.K; valid_subgroup_matrix_config = true; break; } @@ -2676,7 +2885,7 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t #endif // For subgroup matrix code to be the most efficient, we would like the subgroup size to be consistent and accurate. // Unfortunately, that is not possible, so we use the maximum subgroup size reported by the adapter. - ctx->subgroup_size = info.subgroupMaxSize; + ctx->max_subgroup_size = info.subgroupMaxSize; // Initialize device std::vector required_features = { wgpu::FeatureName::ShaderF16 }; @@ -2701,8 +2910,11 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t wgpu::CallbackMode::AllowSpontaneous, [](const wgpu::Device & device, wgpu::DeviceLostReason reason, wgpu::StringView message) { GGML_UNUSED(device); - GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), - std::string(message).c_str()); + GGML_UNUSED(reason); + GGML_UNUSED(message); + //TODO: uncomment once proper free logic is in place + //GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), + //std::string(message).c_str()); }); dev_desc.SetUncapturedErrorCallback( [](const wgpu::Device & device, wgpu::ErrorType reason, wgpu::StringView message) { diff --git a/ggml/src/ggml-webgpu/pre_wgsl.hpp b/ggml/src/ggml-webgpu/pre_wgsl.hpp new file mode 100644 index 0000000000..4d4359463c --- /dev/null +++ b/ggml/src/ggml-webgpu/pre_wgsl.hpp @@ -0,0 +1,778 @@ +#ifndef PRE_WGSL_HPP +#define PRE_WGSL_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace pre_wgsl { + +//============================================================== +// Options +//============================================================== +struct Options { + std::string include_path = "."; + std::vector macros; +}; + +//============================================================== +// Utility: trim +//============================================================== +static std::string trim(const std::string & s) { + size_t a = 0; + while (a < s.size() && std::isspace((unsigned char) s[a])) { + a++; + } + size_t b = s.size(); + while (b > a && std::isspace((unsigned char) s[b - 1])) { + b--; + } + return s.substr(a, b - a); +} + +static std::string trim_value(std::istream & is) { + std::string str; + std::getline(is, str); + return trim(str); +} + +static bool isIdentChar(char c) { + return std::isalnum(static_cast(c)) || c == '_'; +} + +static std::string expandMacrosRecursiveInternal(const std::string & line, + const std::unordered_map & macros, + std::unordered_set & visiting); + +static std::string expandMacroValue(const std::string & name, + const std::unordered_map & macros, + std::unordered_set & visiting) { + if (visiting.count(name)) { + throw std::runtime_error("Recursive macro: " + name); + } + visiting.insert(name); + + auto it = macros.find(name); + if (it == macros.end()) { + visiting.erase(name); + return name; + } + + const std::string & value = it->second; + if (value.empty()) { + visiting.erase(name); + return ""; + } + + std::string expanded = expandMacrosRecursiveInternal(value, macros, visiting); + visiting.erase(name); + return expanded; +} + +static std::string expandMacrosRecursiveInternal(const std::string & line, + const std::unordered_map & macros, + std::unordered_set & visiting) { + std::string result; + result.reserve(line.size()); + + size_t i = 0; + while (i < line.size()) { + if (isIdentChar(line[i])) { + size_t start = i; + while (i < line.size() && isIdentChar(line[i])) { + i++; + } + std::string token = line.substr(start, i - start); + + auto it = macros.find(token); + if (it != macros.end()) { + result += expandMacroValue(token, macros, visiting); + } else { + result += token; + } + } else { + result += line[i]; + i++; + } + } + + return result; +} + +static std::string expandMacrosRecursive(const std::string & line, + const std::unordered_map & macros) { + std::unordered_set visiting; + return expandMacrosRecursiveInternal(line, macros, visiting); +} + +//============================================================== +// Tokenizer for expressions in #if/#elif +//============================================================== +class ExprLexer { + public: + enum Kind { END, IDENT, NUMBER, OP, LPAREN, RPAREN }; + + struct Tok { + Kind kind; + std::string text; + }; + + explicit ExprLexer(std::string_view sv) : src(sv), pos(0) {} + + Tok next() { + skipWS(); + if (pos >= src.size()) { + return { END, "" }; + } + + char c = src[pos]; + + // number + if (std::isdigit((unsigned char) c)) { + size_t start = pos; + while (pos < src.size() && std::isdigit((unsigned char) src[pos])) { + pos++; + } + return { NUMBER, std::string(src.substr(start, pos - start)) }; + } + + // identifier + if (std::isalpha((unsigned char) c) || c == '_') { + size_t start = pos; + while (pos < src.size() && (std::isalnum((unsigned char) src[pos]) || src[pos] == '_')) { + pos++; + } + return { IDENT, std::string(src.substr(start, pos - start)) }; + } + + if (c == '(') { + pos++; + return { LPAREN, "(" }; + } + if (c == ')') { + pos++; + return { RPAREN, ")" }; + } + + // multi-char operators + static const char * two_ops[] = { "==", "!=", "<=", ">=", "&&", "||", "<<", ">>" }; + for (auto op : two_ops) { + if (src.substr(pos, 2) == op) { + pos += 2; + return { OP, std::string(op) }; + } + } + + // single-char operators + if (std::string("+-*/%<>!").find(c) != std::string::npos) { + pos++; + return { OP, std::string(1, c) }; + } + + // unexpected + pos++; + return { END, "" }; + } + + private: + std::string_view src; + size_t pos; + + void skipWS() { + while (pos < src.size() && std::isspace((unsigned char) src[pos])) { + pos++; + } + } +}; + +//============================================================== +// Expression Parser (recursive descent) +//============================================================== +class ExprParser { + public: + ExprParser(std::string_view expr, + const std::unordered_map & macros, + std::unordered_set & visiting) : + lex(expr), + macros(macros), + visiting(visiting) { + advance(); + } + + int parse() { return parseLogicalOr(); } + + private: + ExprLexer lex; + ExprLexer::Tok tok; + const std::unordered_map & macros; + std::unordered_set & visiting; + + void advance() { tok = lex.next(); } + + bool acceptOp(const std::string & s) { + if (tok.kind == ExprLexer::OP && tok.text == s) { + advance(); + return true; + } + return false; + } + + bool acceptKind(ExprLexer::Kind k) { + if (tok.kind == k) { + advance(); + return true; + } + return false; + } + + int parseLogicalOr() { + int v = parseLogicalAnd(); + while (acceptOp("||")) { + int rhs = parseLogicalAnd(); + v = (v || rhs); + } + return v; + } + + int parseLogicalAnd() { + int v = parseEquality(); + while (acceptOp("&&")) { + int rhs = parseEquality(); + v = (v && rhs); + } + return v; + } + + int parseEquality() { + int v = parseRelational(); + for (;;) { + if (acceptOp("==")) { + int rhs = parseRelational(); + v = (v == rhs); + } else if (acceptOp("!=")) { + int rhs = parseRelational(); + v = (v != rhs); + } else { + break; + } + } + return v; + } + + int parseRelational() { + int v = parseShift(); + for (;;) { + if (acceptOp("<")) { + int rhs = parseShift(); + v = (v < rhs); + } else if (acceptOp(">")) { + int rhs = parseShift(); + v = (v > rhs); + } else if (acceptOp("<=")) { + int rhs = parseShift(); + v = (v <= rhs); + } else if (acceptOp(">=")) { + int rhs = parseShift(); + v = (v >= rhs); + } else { + break; + } + } + return v; + } + + int parseShift() { + int v = parseAdd(); + for (;;) { + if (acceptOp("<<")) { + int rhs = parseAdd(); + v = (v << rhs); + } else if (acceptOp(">>")) { + int rhs = parseAdd(); + v = (v >> rhs); + } else { + break; + } + } + return v; + } + + int parseAdd() { + int v = parseMult(); + for (;;) { + if (acceptOp("+")) { + int rhs = parseMult(); + v = (v + rhs); + } else if (acceptOp("-")) { + int rhs = parseMult(); + v = (v - rhs); + } else { + break; + } + } + return v; + } + + int parseMult() { + int v = parseUnary(); + for (;;) { + if (acceptOp("*")) { + int rhs = parseUnary(); + v = (v * rhs); + } else if (acceptOp("/")) { + int rhs = parseUnary(); + v = (rhs == 0 ? 0 : v / rhs); + } else if (acceptOp("%")) { + int rhs = parseUnary(); + v = (rhs == 0 ? 0 : v % rhs); + } else { + break; + } + } + return v; + } + + int parseUnary() { + if (acceptOp("!")) { + return !parseUnary(); + } + if (acceptOp("-")) { + return -parseUnary(); + } + if (acceptOp("+")) { + return +parseUnary(); + } + return parsePrimary(); + } + + int parsePrimary() { + // '(' expr ')' + if (acceptKind(ExprLexer::LPAREN)) { + int v = parse(); + if (!acceptKind(ExprLexer::RPAREN)) { + throw std::runtime_error("missing ')'"); + } + return v; + } + + // number + if (tok.kind == ExprLexer::NUMBER) { + int v = std::stoi(tok.text); + advance(); + return v; + } + + // defined(identifier) + if (tok.kind == ExprLexer::IDENT && tok.text == "defined") { + advance(); + if (acceptKind(ExprLexer::LPAREN)) { + if (tok.kind != ExprLexer::IDENT) { + throw std::runtime_error("expected identifier in defined()"); + } + std::string name = tok.text; + advance(); + if (!acceptKind(ExprLexer::RPAREN)) { + throw std::runtime_error("missing ) in defined()"); + } + return macros.count(name) ? 1 : 0; + } else { + // defined NAME + if (tok.kind != ExprLexer::IDENT) { + throw std::runtime_error("expected identifier in defined NAME"); + } + std::string name = tok.text; + advance(); + return macros.count(name) ? 1 : 0; + } + } + + // identifier -> treat as integer, if defined use its value else 0 + if (tok.kind == ExprLexer::IDENT) { + std::string name = tok.text; + advance(); + auto it = macros.find(name); + if (it == macros.end()) { + return 0; + } + if (it->second.empty()) { + return 1; + } + return evalMacroExpression(name, it->second); + } + + // unexpected + return 0; + } + + int evalMacroExpression(const std::string & name, const std::string & value) { + if (visiting.count(name)) { + throw std::runtime_error("Recursive macro: " + name); + } + + visiting.insert(name); + ExprParser ep(value, macros, visiting); + int v = ep.parse(); + visiting.erase(name); + return v; + } +}; + +//============================================================== +// Preprocessor +//============================================================== +class Preprocessor { + public: + explicit Preprocessor(Options opts = {}) : opts_(std::move(opts)) { + // Treat empty include path as current directory + if (opts_.include_path.empty()) { + opts_.include_path = "."; + } + parseMacroDefinitions(opts_.macros); + } + + std::string preprocess_file(const std::string & filename, const std::vector & additional_macros = {}) { + std::unordered_map macros; + std::unordered_set predefined; + std::unordered_set include_stack; + buildMacros(additional_macros, macros, predefined); + + std::string result = processFile(filename, macros, predefined, include_stack, DirectiveMode::All); + return result; + } + + std::string preprocess(const std::string & contents, const std::vector & additional_macros = {}) { + std::unordered_map macros; + std::unordered_set predefined; + std::unordered_set include_stack; + buildMacros(additional_macros, macros, predefined); + + std::string result = processString(contents, macros, predefined, include_stack, DirectiveMode::All); + return result; + } + + std::string preprocess_includes_file(const std::string & filename) { + std::unordered_map macros; + std::unordered_set predefined; + std::unordered_set include_stack; + std::string result = processFile(filename, macros, predefined, include_stack, DirectiveMode::IncludesOnly); + return result; + } + + std::string preprocess_includes(const std::string & contents) { + std::unordered_map macros; + std::unordered_set predefined; + std::unordered_set include_stack; + std::string result = processString(contents, macros, predefined, include_stack, DirectiveMode::IncludesOnly); + return result; + } + + private: + Options opts_; + std::unordered_map global_macros; + + enum class DirectiveMode { All, IncludesOnly }; + + struct Cond { + bool parent_active; + bool active; + bool taken; + }; + + //---------------------------------------------------------- + // Parse macro definitions into global_macros + //---------------------------------------------------------- + void parseMacroDefinitions(const std::vector & macro_defs) { + for (const auto & def : macro_defs) { + size_t eq_pos = def.find('='); + if (eq_pos != std::string::npos) { + // Format: NAME=VALUE + std::string name = trim(def.substr(0, eq_pos)); + std::string value = trim(def.substr(eq_pos + 1)); + global_macros[name] = value; + } else { + // Format: NAME + std::string name = trim(def); + global_macros[name] = ""; + } + } + } + + //---------------------------------------------------------- + // Build combined macro map and predefined set for a preprocessing operation + //---------------------------------------------------------- + void buildMacros(const std::vector & additional_macros, + std::unordered_map & macros, + std::unordered_set & predefined) { + macros = global_macros; + predefined.clear(); + + for (const auto & [name, value] : global_macros) { + predefined.insert(name); + } + + for (const auto & def : additional_macros) { + size_t eq_pos = def.find('='); + std::string name, value; + if (eq_pos != std::string::npos) { + name = trim(def.substr(0, eq_pos)); + value = trim(def.substr(eq_pos + 1)); + } else { + name = trim(def); + value = ""; + } + + // Add to macros map (will override global if same name) + macros[name] = value; + predefined.insert(name); + } + } + + //---------------------------------------------------------- + // Helpers + //---------------------------------------------------------- + std::string loadFile(const std::string & fname) { + std::ifstream f(fname); + if (!f.is_open()) { + throw std::runtime_error("Could not open file: " + fname); + } + std::stringstream ss; + ss << f.rdbuf(); + return ss.str(); + } + + bool condActive(const std::vector & cond) const { + if (cond.empty()) { + return true; + } + return cond.back().active; + } + + //---------------------------------------------------------- + // Process a file + //---------------------------------------------------------- + std::string processFile(const std::string & name, + std::unordered_map & macros, + const std::unordered_set & predefined_macros, + std::unordered_set & include_stack, + DirectiveMode mode) { + if (include_stack.count(name)) { + throw std::runtime_error("Recursive include: " + name); + } + + include_stack.insert(name); + std::string shader_code = loadFile(name); + std::string out = processString(shader_code, macros, predefined_macros, include_stack, mode); + include_stack.erase(name); + return out; + } + + std::string processIncludeFile(const std::string & fname, + std::unordered_map & macros, + const std::unordered_set & predefined_macros, + std::unordered_set & include_stack, + DirectiveMode mode) { + std::string full_path = opts_.include_path + "/" + fname; + return processFile(full_path, macros, predefined_macros, include_stack, mode); + } + + //---------------------------------------------------------- + // Process text + //---------------------------------------------------------- + std::string processString(const std::string & shader_code, + std::unordered_map & macros, + const std::unordered_set & predefined_macros, + std::unordered_set & include_stack, + DirectiveMode mode) { + std::vector cond; // Conditional stack for this shader + std::stringstream out; + std::istringstream in(shader_code); + std::string line; + + while (std::getline(in, line)) { + std::string t = trim(line); + + if (!t.empty() && t[0] == '#') { + bool handled = handleDirective(t, out, macros, predefined_macros, cond, include_stack, mode); + if (mode == DirectiveMode::IncludesOnly && !handled) { + out << line << "\n"; + } + } else { + if (mode == DirectiveMode::IncludesOnly) { + out << line << "\n"; + } else if (condActive(cond)) { + // Expand macros in the line before outputting + std::string expanded = expandMacrosRecursive(line, macros); + out << expanded << "\n"; + } + } + } + + if (mode == DirectiveMode::All && !cond.empty()) { + throw std::runtime_error("Unclosed #if directive"); + } + + return out.str(); + } + + //---------------------------------------------------------- + // Directive handler + //---------------------------------------------------------- + bool handleDirective(const std::string & t, + std::stringstream & out, + std::unordered_map & macros, + const std::unordered_set & predefined_macros, + std::vector & cond, + std::unordered_set & include_stack, + DirectiveMode mode) { + // split into tokens + std::string body = t.substr(1); + std::istringstream iss(body); + std::string cmd; + iss >> cmd; + + if (cmd == "include") { + if (mode == DirectiveMode::All && !condActive(cond)) { + return true; + } + std::string file; + iss >> file; + if (file.size() >= 2 && file.front() == '"' && file.back() == '"') { + file = file.substr(1, file.size() - 2); + } + out << processIncludeFile(file, macros, predefined_macros, include_stack, mode); + return true; + } + + if (mode == DirectiveMode::IncludesOnly) { + return false; + } + + if (cmd == "define") { + if (!condActive(cond)) { + return true; + } + std::string name; + iss >> name; + // Don't override predefined macros from options + if (predefined_macros.count(name)) { + return true; + } + std::string value = trim_value(iss); + macros[name] = value; + return true; + } + + if (cmd == "undef") { + if (!condActive(cond)) { + return true; + } + std::string name; + iss >> name; + // Don't undef predefined macros from options + if (predefined_macros.count(name)) { + return true; + } + macros.erase(name); + return true; + } + + if (cmd == "ifdef") { + std::string name; + iss >> name; + bool p = condActive(cond); + bool v = macros.count(name); + cond.push_back({ p, p && v, p && v }); + return true; + } + + if (cmd == "ifndef") { + std::string name; + iss >> name; + bool p = condActive(cond); + bool v = !macros.count(name); + cond.push_back({ p, p && v, p && v }); + return true; + } + + if (cmd == "if") { + std::string expr = trim_value(iss); + bool p = condActive(cond); + bool v = false; + if (p) { + std::unordered_set visiting; + ExprParser ep(expr, macros, visiting); + v = ep.parse() != 0; + } + cond.push_back({ p, p && v, p && v }); + return true; + } + + if (cmd == "elif") { + std::string expr = trim_value(iss); + + if (cond.empty()) { + throw std::runtime_error("#elif without #if"); + } + + Cond & c = cond.back(); + if (!c.parent_active) { + c.active = false; + return true; + } + + if (c.taken) { + c.active = false; + return true; + } + + std::unordered_set visiting; + ExprParser ep(expr, macros, visiting); + bool v = ep.parse() != 0; + c.active = v; + if (v) { + c.taken = true; + } + return true; + } + + if (cmd == "else") { + if (cond.empty()) { + throw std::runtime_error("#else without #if"); + } + + Cond & c = cond.back(); + if (!c.parent_active) { + c.active = false; + return true; + } + if (c.taken) { + c.active = false; + } else { + c.active = true; + c.taken = true; + } + return true; + } + + if (cmd == "endif") { + if (cond.empty()) { + throw std::runtime_error("#endif without #if"); + } + cond.pop_back(); + return true; + } + + // Unknown directive + throw std::runtime_error("Unknown directive: #" + cmd); + } +}; + +} // namespace pre_wgsl + +#endif // PRE_WGSL_HPP diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl new file mode 100644 index 0000000000..de7c132a62 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl @@ -0,0 +1,591 @@ +diagnostic(off, chromium.subgroup_matrix_uniformity); +diagnostic(off, subgroup_uniformity); +enable f16; +enable subgroups; +enable chromium_experimental_subgroup_matrix; + +#ifdef KV_F32 +#define KV_TYPE f32 +#else +#define KV_TYPE f16 +#endif + +// Default values +#define HEAD_DIM_QK 64 +#define HEAD_DIM_V 64 + +// The number of rows/columns/k in a subgroup matrix. MxK * KxN = MxN +// Note that the "K" here does not correspond to the K in attention's Q/K/V, it's just the common dimension. +#define SG_MAT_M 8 +#define SG_MAT_N 8 +#define SG_MAT_K 8 + +// Each workgroup processes one subgroup matrix of Q rows +#define Q_TILE SG_MAT_M +#define KV_TILE 16 +#define WG_SIZE 64 + +// Number of subgroup-matrix-width blocks that span the KV tile. SG_MAT_N must divide KV_TILE. +#define KV_BLOCKS (KV_TILE / SG_MAT_N) + +// Quantization constants/helpers +#define BLOCK_SIZE 32 +#define BLOCKS_K ((HEAD_DIM_QK + BLOCK_SIZE - 1) / BLOCK_SIZE) +#define BLOCKS_V ((HEAD_DIM_V + BLOCK_SIZE - 1) / BLOCK_SIZE) +// number of quantized elements processed per thread +#if defined(KV_Q4_0) +#define NQ 16 +// Q4_0 has 32 elements, 1 f16 for scale, 8 f16 for 4-bit weights +#define F16_PER_BLOCK 9 +#define WEIGHTS_PER_F16 4 +#elif defined(KV_Q8_0) +#define NQ 8 +// Q8_0 has 32 elements, 1 f16 for scale, 16 f16 for 8-bit weights +#define F16_PER_BLOCK 17 +#define WEIGHTS_PER_F16 2 +#endif +#define F16_PER_THREAD (NQ / WEIGHTS_PER_F16) + +// Ok not to put these in a define block, compiler will remove if unused +fn get_byte(value: u32, index: u32) -> u32 { + return (value >> (index * 8)) & 0xFF; +} + +fn get_byte_i32(value: u32, index: u32) -> i32 { + return bitcast(((value >> (index * 8)) & 0xFF) << 24) >> 24; +} + +struct Params { + offset_q: u32, + offset_k: u32, + offset_v: u32, + offset_mask: u32, + offset_sinks: u32, + offset_dst: u32, + + // shapes of Q/K/V + n_heads: u32, + seq_len_q: u32, + seq_len_kv: u32, + + // strides (in elements) + stride_q1: u32, + stride_q2: u32, + stride_q3: u32, + stride_k1: u32, + stride_k2: u32, + stride_k3: u32, + stride_v1: u32, + stride_v2: u32, + stride_v3: u32, + stride_mask3: u32, + + // repeat factors for K/V, e.g., MHA vs. MQA vs. GQA + q_per_kv: u32, + + // softmax params + scale: f32, + max_bias: f32, + logit_softcap: f32, + n_head_log2: f32, + m0: f32, + m1: f32, +}; + +@group(0) @binding(0) var Q: array; +@group(0) @binding(1) var K: array; +@group(0) @binding(2) var V: array; + +#if defined(MASK) && defined(SINKS) +@group(0) @binding(3) var mask: array; +@group(0) @binding(4) var sinks: array; +#define DST_BINDING 5 +#define PARAMS_BINDING 6 +#elif defined(MASK) +@group(0) @binding(3) var mask: array; +#define DST_BINDING 4 +#define PARAMS_BINDING 5 +#elif defined(SINKS) +@group(0) @binding(3) var sinks: array; +#define DST_BINDING 4 +#define PARAMS_BINDING 5 +#else +#define DST_BINDING 3 +#define PARAMS_BINDING 4 +#endif + +@group(0) @binding(DST_BINDING) var dst: array; +@group(0) @binding(PARAMS_BINDING) var params: Params; + +// Just a very small float value. +const FLOAT_MIN: f32 = -1.0e9; + +// The number of Q rows processed per workgroup +var q_shmem: array; + +#ifndef KV_DIRECT +const kv_shmem_size = KV_TILE * max(HEAD_DIM_QK, HEAD_DIM_V); +// we can reuse the same shmem for K and V since we only need one at a time +var kv_shmem: array; +#endif + +var o_shmem: array; // output shmem + +#ifdef MASK +// storage for mask values +var mask_shmem: array; +#endif + +// storage for output of Q*K^T scores for online softmax (S matrix from paper) +// also storage for diagonal matrix during online softmax (P matrix from paper) +// note that we reuse the same storage for both since we only need one at a time +var inter_shmem: array; + +// Storage for row max and exp sum during online softmax +var row_max_shmem: array; +var exp_sum_shmem: array; + +fn calc_softmax_term(kv_idx: u32, q_tile_row: u32, slope: f32) -> f32 { + var v = select(FLOAT_MIN, + f32(inter_shmem[kv_idx + q_tile_row * KV_TILE]) * params.scale, + kv_idx < KV_TILE); +#ifdef LOGIT_SOFTCAP + v = params.logit_softcap * tanh(v); +#endif +#ifdef MASK + let mask_val = select(0.0, f32(mask_shmem[q_tile_row * KV_TILE + kv_idx]), kv_idx < KV_TILE); + let mask_term = slope * mask_val; + v += mask_term; +#endif + return v; +} + + +@compute @workgroup_size(WG_SIZE) +fn main(@builtin(workgroup_id) wg_id: vec3, + @builtin(local_invocation_id) local_id: vec3, + @builtin(subgroup_id) subgroup_id: u32, + @builtin(subgroup_size) subgroup_size: u32, + @builtin(num_subgroups) num_subgroups: u32, + @builtin(subgroup_invocation_id) sg_inv_id: u32) { + + // initialize row max for online softmax + for (var i = local_id.x; i < Q_TILE; i += WG_SIZE) { + row_max_shmem[i] = FLOAT_MIN; + exp_sum_shmem[i] = 0.0; + } + + for (var i = local_id.x; i < Q_TILE * HEAD_DIM_V; i += WG_SIZE) { + o_shmem[i] = 0.0; + } + + // workgroups per head/batch + let wg_per_head = (params.seq_len_q + Q_TILE - 1u) / Q_TILE; + let wg_per_batch = wg_per_head * params.n_heads; + + let dst2_stride = HEAD_DIM_V * params.n_heads; + let dst3_stride = dst2_stride * params.seq_len_q; + + // batch index + let batch_idx = wg_id.x / wg_per_batch; + let q_batch_offset = params.offset_q + batch_idx * params.stride_q3; + let k_batch_offset = params.offset_k + batch_idx * params.stride_k3; + let v_batch_offset = params.offset_v + batch_idx * params.stride_v3; + let dst_batch_offset = params.offset_dst + batch_idx * dst3_stride; + let wg_in_batch = wg_id.x % wg_per_batch; + + // head index + let head_idx = wg_in_batch / wg_per_head; + let q_head_offset = q_batch_offset + head_idx * params.stride_q2; + let k_head_idx = head_idx / params.q_per_kv; + let v_head_idx = k_head_idx; + let k_head_offset = k_batch_offset + k_head_idx * params.stride_k2; + let v_head_offset = v_batch_offset + v_head_idx * params.stride_v2; + + // starting Q row for this workgroup + let wg_in_head = wg_in_batch % wg_per_head; + let q_row_start = wg_in_head * Q_TILE; + +#ifdef MASK + // mask offset + let mask_global_offset = params.offset_mask + batch_idx * params.stride_mask3 + q_row_start * params.seq_len_kv; +#endif + + // note that the output is permuted, the layout is [head_dim_v, n_heads, seq_len_q, batch_size] + let dst_global_offset = dst_batch_offset + q_row_start * dst2_stride + head_idx * HEAD_DIM_V; + + let head = f32(head_idx); + let slope = select(1.0, select(pow(params.m1, 2.0 * (head - params.n_head_log2) + 1.0), pow(params.m0, head + 1.0), head < params.n_head_log2), params.max_bias > 0); + + // load q tile into shared memory + for (var elem_idx = local_id.x; elem_idx < Q_TILE * HEAD_DIM_QK; elem_idx += WG_SIZE) { + let q_row = elem_idx / HEAD_DIM_QK; + let q_col = elem_idx % HEAD_DIM_QK; + let head_q_row = q_row_start + q_row; + let global_q_row_offset = q_head_offset + head_q_row * params.stride_q1; + q_shmem[elem_idx] = f16(select( + 0.0, + Q[global_q_row_offset + q_col], + head_q_row < params.seq_len_q && q_col < HEAD_DIM_QK)); + } + + for (var kv_tile = 0u; kv_tile < params.seq_len_kv; kv_tile += KV_TILE) { + // clear inter_shmem to ensure zero-initialized accumulators + for (var elem_idx = local_id.x; elem_idx < Q_TILE * KV_TILE; elem_idx += WG_SIZE) { + inter_shmem[elem_idx] = 0.0; + } + + // load k tile into shared memory +#if defined(KV_Q4_0) + for (var elem_idx = local_id.x * NQ; elem_idx < KV_TILE * HEAD_DIM_QK; elem_idx += WG_SIZE * NQ) { + let blck_idx = elem_idx / BLOCK_SIZE; + let block_offset = (elem_idx % BLOCK_SIZE) / WEIGHTS_PER_F16; + let k_row = blck_idx / BLOCKS_K; + let global_k_row = kv_tile + k_row; + let block_k = blck_idx % BLOCKS_K; + let row_offset = k_row * HEAD_DIM_QK; + + if (global_k_row < params.seq_len_kv) { + let global_block_idx = k_head_offset + global_k_row * params.stride_k1 + block_k; + let base_idx = global_block_idx * F16_PER_BLOCK; + let d = K[base_idx]; // scale + for (var j = 0u; j < F16_PER_THREAD; j += 2) { + let q_0 = K[base_idx + 1u + block_offset + j]; + let q_1 = K[base_idx + 1u + block_offset + j + 1]; + let q_packed = bitcast(vec2(q_0, q_1)); + for (var k = 0u; k < 4u; k++) { + let q_byte = get_byte(q_packed, k); + let q_hi = (f16((q_byte >> 4) & 0xF) - 8.0) * d; + let q_lo = (f16(q_byte & 0xF) - 8.0) * d; + let idx = block_k * BLOCK_SIZE + block_offset * 2u + j * 2u + k; + kv_shmem[row_offset + idx] = q_lo; + kv_shmem[row_offset + idx + 16u] = q_hi; + } + } + } + } +#elif defined(KV_Q8_0) + for (var elem_idx = local_id.x * NQ; elem_idx < KV_TILE * HEAD_DIM_QK; elem_idx += WG_SIZE * NQ) { + let blck_idx = elem_idx / BLOCK_SIZE; + let block_offset = (elem_idx % BLOCK_SIZE) / WEIGHTS_PER_F16; + let k_row = blck_idx / BLOCKS_K; + let global_k_row = kv_tile + k_row; + let block_k = blck_idx % BLOCKS_K; + let row_offset = k_row * HEAD_DIM_QK; + + if (global_k_row < params.seq_len_kv) { + let global_block_idx = k_head_offset + global_k_row * params.stride_k1 + block_k; + let base_idx = global_block_idx * F16_PER_BLOCK; + let d = K[base_idx]; // scale + for (var j = 0u; j < F16_PER_THREAD; j += 2) { + let q_0 = K[base_idx + 1u + block_offset + j]; + let q_1 = K[base_idx + 1u + block_offset + j + 1]; + let q_packed = bitcast(vec2(q_0, q_1)); + for (var k = 0u; k < 4u; k++) { + let q_byte = get_byte_i32(q_packed, k); + let q_val = f16(q_byte) * d; + let idx = block_k * BLOCK_SIZE + block_offset * 2u + j * 2u + k; + kv_shmem[row_offset + idx] = q_val; + } + } + } + } +#elif defined(KV_DIRECT) + // Direct global loads for KV +#else + for (var elem_idx = local_id.x; elem_idx < KV_TILE * HEAD_DIM_QK; elem_idx += WG_SIZE) { + let k_row = elem_idx / HEAD_DIM_QK; + let k_col = elem_idx % HEAD_DIM_QK; + let global_k_row = kv_tile + k_row; + let global_k_row_offset = k_head_offset + global_k_row * params.stride_k1; + kv_shmem[elem_idx] = f16(select( + 0.0, + K[global_k_row_offset + k_col], + global_k_row < params.seq_len_kv && k_col < HEAD_DIM_QK)); + } +#endif + + workgroupBarrier(); + + // accumulate q block * k block into registers across the entire KV tile + // TODO: this loop seems to be the current largest bottleneck + for (var kv_block = subgroup_id; kv_block < KV_BLOCKS; kv_block += num_subgroups) { + let inter_offset = kv_block * SG_MAT_N; + var acc: subgroup_matrix_result = subgroupMatrixLoad< + subgroup_matrix_result>(&inter_shmem, inter_offset, false, KV_TILE); +#ifdef KV_DIRECT + let k_block_row = kv_tile + kv_block * SG_MAT_N; + let k_global_offset = k_head_offset + k_block_row * params.stride_k1; +#else + let k_block_offset = kv_block * SG_MAT_N * HEAD_DIM_QK; +#endif + for (var head_dim_block = 0u; head_dim_block < HEAD_DIM_QK; head_dim_block += SG_MAT_K) { + // load q submatrix from shared memory + var q_sg_mat: subgroup_matrix_left = subgroupMatrixLoad>( + &q_shmem, + head_dim_block, + false, + HEAD_DIM_QK + ); + + // load k submatrix from device or shared memory +#ifdef KV_DIRECT + var k_sg_mat: subgroup_matrix_right = subgroupMatrixLoad>( + &K, + k_global_offset + head_dim_block, + true, + params.stride_k1 + ); +#else + var k_sg_mat: subgroup_matrix_right = subgroupMatrixLoad>( + &kv_shmem, + k_block_offset + head_dim_block, + true, + HEAD_DIM_QK + ); +#endif + acc = subgroupMatrixMultiplyAccumulate(q_sg_mat, k_sg_mat, acc); + } + + // store acc to shared memory for softmax (S matrix from paper) + subgroupMatrixStore(&inter_shmem, inter_offset, acc, false, KV_TILE); + } + +#ifdef MASK + // load mask tile into shared memory for this KV block + // TODO: optimize and skip if mask is -INF for the entire tile + for (var elem_idx = local_id.x; elem_idx < Q_TILE * KV_TILE; elem_idx += WG_SIZE) { + let mask_row = elem_idx / KV_TILE; + let mask_col = elem_idx % KV_TILE; + let global_q_row = q_row_start + mask_row; + let global_k_col = kv_tile + mask_col; + let mask_in_bounds = global_q_row < params.seq_len_q && global_k_col < params.seq_len_kv; + let mask_idx = mask_global_offset + mask_row * params.seq_len_kv + global_k_col; + mask_shmem[elem_idx] = select(0.0, mask[mask_idx], mask_in_bounds); + } +#endif + + workgroupBarrier(); + + // online softmax + for (var q_tile_row = subgroup_id; q_tile_row < Q_TILE; q_tile_row += num_subgroups) { + let global_q_row = q_row_start + q_tile_row; + if (global_q_row >= params.seq_len_q) { + break; + } + + // initialize running max for this row + var prev_max = row_max_shmem[q_tile_row]; + var final_max = prev_max; + // pass 1: compute final max across the full KV tile in chunks + for (var kv_offset = 0u; kv_offset < KV_TILE; kv_offset += subgroup_size) { + let kv_idx = kv_offset + sg_inv_id; + let softmax_term = calc_softmax_term(kv_idx, q_tile_row, slope); + final_max = subgroupMax(max(final_max, softmax_term)); + } + + var total_exp_term: f32 = 0.0; + // pass 2: compute exp sum and write P using final_max + for (var kv_offset = 0u; kv_offset < KV_TILE; kv_offset += subgroup_size) { + let kv_idx = kv_offset + sg_inv_id; + let softmax_term = calc_softmax_term(kv_idx, q_tile_row, slope); + let cur_p = select(0.0, + exp(softmax_term - final_max), + kv_tile + kv_idx < params.seq_len_kv && kv_idx < KV_TILE); + total_exp_term += subgroupAdd(cur_p); + if (kv_idx < KV_TILE) { + inter_shmem[kv_idx + q_tile_row * KV_TILE] = f16(cur_p); + } + } + + let cur_exp = exp(prev_max - final_max); + + if (sg_inv_id == 0) { + row_max_shmem[q_tile_row] = final_max; + exp_sum_shmem[q_tile_row] = exp_sum_shmem[q_tile_row] * cur_exp + total_exp_term; + } + + for (var elem_idx = sg_inv_id; elem_idx < HEAD_DIM_V; elem_idx += subgroup_size) { + let idx = q_tile_row * HEAD_DIM_V + elem_idx; + o_shmem[idx] = f16(f32(o_shmem[idx]) * cur_exp); + } + } + + // load v tile into shared memory +#if defined(KV_Q4_0) + for (var elem_idx = local_id.x * NQ; elem_idx < KV_TILE * HEAD_DIM_V; elem_idx += WG_SIZE * NQ) { + let blck_idx = elem_idx / BLOCK_SIZE; + let block_offset = (elem_idx % BLOCK_SIZE) / WEIGHTS_PER_F16; + let v_row = blck_idx / BLOCKS_V; + let global_v_row = kv_tile + v_row; + let block_k = blck_idx % BLOCKS_V; + let row_offset = v_row * HEAD_DIM_V; + + if (global_v_row < params.seq_len_kv) { + let global_block_idx = v_head_offset + global_v_row * params.stride_v1 + block_k; + let base_idx = global_block_idx * F16_PER_BLOCK; + let d = V[base_idx]; // scale + for (var j = 0u; j < F16_PER_THREAD; j += 2) { + let q_0 = V[base_idx + 1u + block_offset + j]; + let q_1 = V[base_idx + 1u + block_offset + j + 1]; + let q_packed = bitcast(vec2(q_0, q_1)); + for (var k = 0u; k < 4u; k++) { + let q_byte = get_byte(q_packed, k); + let q_hi = (f16((q_byte >> 4) & 0xF) - 8.0) * d; + let q_lo = (f16(q_byte & 0xF) - 8.0) * d; + let idx = block_k * BLOCK_SIZE + block_offset * 2u + j * 2u + k; + kv_shmem[row_offset + idx] = q_lo; + kv_shmem[row_offset + idx + 16u] = q_hi; + } + } + } + } +#elif defined(KV_Q8_0) + for (var elem_idx = local_id.x * NQ; elem_idx < KV_TILE * HEAD_DIM_V; elem_idx += WG_SIZE * NQ) { + let blck_idx = elem_idx / BLOCK_SIZE; + let block_offset = (elem_idx % BLOCK_SIZE) / WEIGHTS_PER_F16; + let v_row = blck_idx / BLOCKS_V; + let global_v_row = kv_tile + v_row; + let block_k = blck_idx % BLOCKS_V; + let row_offset = v_row * HEAD_DIM_V; + + if (global_v_row < params.seq_len_kv) { + let global_block_idx = v_head_offset + global_v_row * params.stride_v1 + block_k; + let base_idx = global_block_idx * F16_PER_BLOCK; + let d = V[base_idx]; // scale + for (var j = 0u; j < F16_PER_THREAD; j += 2) { + let q_0 = V[base_idx + 1u + block_offset + j]; + let q_1 = V[base_idx + 1u + block_offset + j + 1]; + let q_packed = bitcast(vec2(q_0, q_1)); + for (var k = 0u; k < 4u; k++) { + let q_byte = get_byte_i32(q_packed, k); + let q_val = f16(q_byte) * d; + let idx = block_k * BLOCK_SIZE + block_offset * 2u + j * 2u + k; + kv_shmem[row_offset + idx] = q_val; + } + } + } + } +#elif defined(KV_DIRECT) + // Direct global loads for KV +#else + for (var elem_idx = local_id.x; elem_idx < KV_TILE * HEAD_DIM_V; elem_idx += WG_SIZE) { + let v_row = elem_idx / HEAD_DIM_V; + let v_col = elem_idx % HEAD_DIM_V; + let global_v_row = kv_tile + v_row; + let global_v_row_offset = v_head_offset + global_v_row * params.stride_v1; + kv_shmem[elem_idx] = f16(select( + 0.0, + V[global_v_row_offset + v_col], + global_v_row < params.seq_len_kv && v_col < HEAD_DIM_V)); + } +#endif + + workgroupBarrier(); + + // we have P (Q_TILE x KV_TILE) in inter_shmem and V (KV_TILE x head_dim_v) in kv_shmem + // we want to compute O += P * V across the full KV tile + for (var head_dim_block = subgroup_id * SG_MAT_N; + head_dim_block < HEAD_DIM_V; + head_dim_block += num_subgroups * SG_MAT_N) { + // load O submatrix from shared memory + var o_sg_mat: subgroup_matrix_result = subgroupMatrixLoad>( + &o_shmem, + head_dim_block, + false, + HEAD_DIM_V + ); + + for (var kv_block = 0u; kv_block < KV_BLOCKS; kv_block++) { + let p_offset = kv_block * SG_MAT_N; + var p_sg_mat: subgroup_matrix_left = subgroupMatrixLoad>( + &inter_shmem, + p_offset, + false, + KV_TILE + ); + + // load V submatrix from global or shared memory +#ifdef KV_DIRECT + let v_block_row = kv_tile + kv_block * SG_MAT_N; + let v_global_offset = v_head_offset + v_block_row * params.stride_v1 + head_dim_block; + var v_sg_mat: subgroup_matrix_right = subgroupMatrixLoad>( + &V, + v_global_offset, + false, + params.stride_v1 + ); +#else + let v_block_offset = kv_block * SG_MAT_N * HEAD_DIM_V; + var v_sg_mat: subgroup_matrix_right = subgroupMatrixLoad>( + &kv_shmem, + v_block_offset + head_dim_block, + false, + HEAD_DIM_V + ); +#endif + // O += P * V + o_sg_mat = subgroupMatrixMultiplyAccumulate(p_sg_mat, v_sg_mat, o_sg_mat); + } + + // store O back to shared memory + subgroupMatrixStore(&o_shmem, head_dim_block, o_sg_mat, false, HEAD_DIM_V); + } + + workgroupBarrier(); + } + +#ifdef SINKS + // add sinks (applied once after processing all KV tiles) + for (var q_tile_row = subgroup_id; + q_tile_row < Q_TILE; + q_tile_row += num_subgroups) { + // no need to process rows beyond seq_len_q + let global_q_row = q_row_start + q_tile_row; + if (global_q_row >= params.seq_len_q) { + break; + } + + var prev_max = row_max_shmem[q_tile_row]; + + // for non-sink threads, exp(FLOAT_MIN) effectively zeroes out their contribution to the sum + let sink_val = select(FLOAT_MIN, sinks[params.offset_sinks + head_idx], sg_inv_id == 0); + let new_max = subgroupMax(max(prev_max, sink_val)); + let max_exp = exp(prev_max - new_max); + let sink_exp = exp(sink_val - new_max); + + let sink_exp_sum = subgroupAdd(sink_exp); + + if (sg_inv_id == 0) { + exp_sum_shmem[q_tile_row] = exp_sum_shmem[q_tile_row] * max_exp + sink_exp_sum; + } + + for (var elem_idx = sg_inv_id; elem_idx < HEAD_DIM_V; elem_idx += subgroup_size) { + let idx = q_tile_row * HEAD_DIM_V + elem_idx; + let val = f32(o_shmem[idx]) * max_exp; + o_shmem[idx] = f16(val); + } + } + + workgroupBarrier(); +#endif + + // write output back to global memory + for (var q_tile_row = subgroup_id; + q_tile_row < Q_TILE; + q_tile_row += num_subgroups) { + let global_q_row = q_row_start + q_tile_row; + if (global_q_row >= params.seq_len_q) { + break; + } + + let exp_sum = exp_sum_shmem[q_tile_row]; + let scale = select(0.0, 1.0 / exp_sum, exp_sum != 0); + + for (var elem_idx = sg_inv_id; elem_idx < HEAD_DIM_V; elem_idx += subgroup_size) { + let o_val = o_shmem[q_tile_row * HEAD_DIM_V + elem_idx]; + let scaled = f32(o_val) * scale; + dst[dst_global_offset + q_tile_row * dst2_stride + elem_idx] = scaled; + } + } +} From 480160d47297df43b43746294963476fc0a6e10f Mon Sep 17 00:00:00 2001 From: Masashi Yoshimura Date: Fri, 9 Jan 2026 01:36:42 +0900 Subject: [PATCH 018/100] ggml-webgpu: Fix GGML_MEM_ALIGN to 8 for emscripten. (#18628) * Fix GGML_MEM_ALIGN to 8 for emscripten. * Add a comment explaining the need for GGML_MEM_ALIGN == 8 in 64-bit wasm with emscripten --- ggml/include/ggml.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 20c912d0e9..b69583dd3f 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -234,6 +234,11 @@ #if UINTPTR_MAX == 0xFFFFFFFF #define GGML_MEM_ALIGN 4 +#elif defined(__EMSCRIPTEN__) +// emscripten uses max_align_t == 8, so we need GGML_MEM_ALIGN == 8 for 64-bit wasm. +// (for 32-bit wasm, the first conditional is true and GGML_MEM_ALIGN stays 4.) +// ref: https://github.com/ggml-org/llama.cpp/pull/18628 + #define GGML_MEM_ALIGN 8 #else #define GGML_MEM_ALIGN 16 #endif From 046d5fd44e3505ab9c6d065ab65541fc2fdfd4f2 Mon Sep 17 00:00:00 2001 From: Aaron Teo Date: Fri, 9 Jan 2026 05:34:56 +0800 Subject: [PATCH 019/100] llama: use host memory if device reports 0 memory (#18587) --- ggml/src/ggml-backend-impl.h | 2 +- ggml/src/ggml-opencl/ggml-opencl.cpp | 4 ++-- src/llama-model.cpp | 16 ++++++++++++---- src/llama.cpp | 14 +++++++++++++- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/ggml/src/ggml-backend-impl.h b/ggml/src/ggml-backend-impl.h index 6792ba986e..59190b7c46 100644 --- a/ggml/src/ggml-backend-impl.h +++ b/ggml/src/ggml-backend-impl.h @@ -144,7 +144,7 @@ extern "C" { // device description: short informative description of the device, could be the model name const char * (*get_description)(ggml_backend_dev_t dev); - // device memory in bytes + // device memory in bytes: 0 bytes to indicate no memory to report void (*get_memory)(ggml_backend_dev_t dev, size_t * free, size_t * total); // device type diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 472e2df50a..e50ca8e0f2 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -4287,8 +4287,8 @@ static const char * ggml_backend_opencl_device_get_description(ggml_backend_dev_ } static void ggml_backend_opencl_device_get_memory(ggml_backend_dev_t dev, size_t * free, size_t * total) { - *free = 1; - *total = 1; + *free = 0; + *total = 0; GGML_UNUSED(dev); } diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 7ac59846bb..5de6493b9e 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -2452,6 +2452,11 @@ bool llama_model::load_tensors(llama_model_loader & ml) { pimpl->gpu_buft_list.emplace(dev, std::move(buft_list)); } + ggml_backend_dev_t cpu_dev = ggml_backend_dev_by_type(GGML_BACKEND_DEVICE_TYPE_CPU); + if (cpu_dev == nullptr) { + throw std::runtime_error(format("%s: no CPU backend found", __func__)); + } + // calculate the split points bool all_zero = tensor_split == nullptr || std::all_of(tensor_split, tensor_split + n_devices(), [](float x) { return x == 0.0f; }); std::vector splits(n_devices()); @@ -2462,6 +2467,13 @@ bool llama_model::load_tensors(llama_model_loader & ml) { size_t total; size_t free; ggml_backend_dev_memory(dev, &free, &total); + + // devices can return 0 bytes for free and total memory if they do not + // have any to report. in this case, we will use the host memory as a fallback + // fixes: https://github.com/ggml-org/llama.cpp/issues/18577 + if (free == 0 && total == 0) { + ggml_backend_dev_memory(cpu_dev, &free, &total); + } splits[i] = free; } } else { @@ -2478,10 +2490,6 @@ bool llama_model::load_tensors(llama_model_loader & ml) { splits[i] /= split_sum; } - ggml_backend_dev_t cpu_dev = ggml_backend_dev_by_type(GGML_BACKEND_DEVICE_TYPE_CPU); - if (cpu_dev == nullptr) { - throw std::runtime_error(format("%s: no CPU backend found", __func__)); - } const int i_gpu_start = std::max(int(hparams.n_layer) + 1 - n_gpu_layers, 0); const int act_gpu_layers = devices.empty() ? 0 : std::min(n_gpu_layers, int(n_layer) + 1); auto get_layer_buft_list = [&](int il) -> llama_model::impl::layer_dev { diff --git a/src/llama.cpp b/src/llama.cpp index 33f51a2389..f1096d960e 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -111,8 +111,20 @@ static std::vector llama_get_device_memory_data( } } for (size_t i = 0; i < ret.size(); i++) { - size_t free, total; + size_t free; + size_t total; ggml_backend_dev_memory(model->devices[i], &free, &total); + + // devices can return 0 bytes for free and total memory if they do not + // have any to report. in this case, we will use the host memory as a fallback + // fixes: https://github.com/ggml-org/llama.cpp/issues/18577 + if (free == 0 && total == 0) { + ggml_backend_dev_t cpu_dev = ggml_backend_dev_by_type(GGML_BACKEND_DEVICE_TYPE_CPU); + if (cpu_dev == nullptr) { + throw std::runtime_error(format("%s: no CPU backend found", __func__)); + } + ggml_backend_dev_memory(cpu_dev, &free, &total); + } ret[i].free = free; ret[i].total = total; } From 8ece3836b400dd8d89021ad2cc6e57843ced8378 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Thu, 8 Jan 2026 22:35:40 +0100 Subject: [PATCH 020/100] common: support remote preset (#18520) * arg: support remote preset * proof reading * allow one HF repo to point to multiple HF repos * docs: mention about multiple GGUF use case * correct clean_file_name * download: also return HTTP status code * fix case with cache file used * fix --offline option --- common/arg.cpp | 167 ++++++++++++++++++++++++++++++-------------- common/download.cpp | 83 ++++++++++++++-------- common/download.h | 8 +++ common/preset.cpp | 77 +++++++++++++++++++- common/preset.h | 11 ++- docs/preset.md | 60 ++++++++++++++++ 6 files changed, 324 insertions(+), 82 deletions(-) create mode 100644 docs/preset.md diff --git a/common/arg.cpp b/common/arg.cpp index 9c0e6fbe78..72750a3cba 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -6,6 +6,7 @@ #include "log.h" #include "sampling.h" #include "download.h" +#include "preset.h" // fix problem with std::min and std::max #if defined(_WIN32) @@ -268,6 +269,46 @@ static void parse_tensor_buffer_overrides(const std::string & value, std::vector } } +static std::string clean_file_name(const std::string & fname) { + std::string clean_fname = fname; + string_replace_all(clean_fname, "\\", "_"); + string_replace_all(clean_fname, "/", "_"); + return clean_fname; +} + +static bool common_params_handle_remote_preset(common_params & params, llama_example ex) { + GGML_ASSERT(!params.model.hf_repo.empty()); + + const bool offline = params.offline; + std::string model_endpoint = get_model_endpoint(); + auto preset_url = model_endpoint + params.model.hf_repo + "/resolve/main/preset.ini"; + + // prepare local path for caching + auto preset_fname = clean_file_name(params.model.hf_repo + "_preset.ini"); + auto preset_path = fs_get_cache_file(preset_fname); + const int status = common_download_file_single(preset_url, preset_path, params.hf_token, offline); + const bool has_preset = status >= 200 && status < 400; + + // remote preset is optional, so we don't error out if not found + if (has_preset) { + LOG_INF("applying remote preset from %s\n", preset_url.c_str()); + common_preset_context ctx(ex, /* only_remote_allowed */ true); + common_preset global; // unused for now + auto remote_presets = ctx.load_from_ini(preset_path, global); + if (remote_presets.find(COMMON_PRESET_DEFAULT_NAME) != remote_presets.end()) { + common_preset & preset = remote_presets.at(COMMON_PRESET_DEFAULT_NAME); + LOG_INF("\n%s", preset.to_ini().c_str()); // to_ini already added trailing newline + preset.apply_to_params(params); + } else { + throw std::runtime_error("Remote preset.ini does not contain [" + std::string(COMMON_PRESET_DEFAULT_NAME) + "] section"); + } + } else { + LOG_INF("%s", "no remote preset found, skipping\n"); + } + + return has_preset; +} + struct handle_model_result { bool found_mmproj = false; common_params_model mmproj; @@ -309,9 +350,7 @@ static handle_model_result common_params_handle_model( // make sure model path is present (for caching purposes) if (model.path.empty()) { // this is to avoid different repo having same file name, or same file name in different subdirs - std::string filename = model.hf_repo + "_" + model.hf_file; - // to make sure we don't have any slashes in the filename - string_replace_all(filename, "/", "_"); + std::string filename = clean_file_name(model.hf_repo + "_" + model.hf_file); model.path = fs_get_cache_file(filename); } @@ -425,61 +464,87 @@ static bool common_params_parse_ex(int argc, char ** argv, common_params_context } }; - std::set seen_args; + auto parse_cli_args = [&]() { + std::set seen_args; - for (int i = 1; i < argc; i++) { - const std::string arg_prefix = "--"; + for (int i = 1; i < argc; i++) { + const std::string arg_prefix = "--"; - std::string arg = argv[i]; - if (arg.compare(0, arg_prefix.size(), arg_prefix) == 0) { - std::replace(arg.begin(), arg.end(), '_', '-'); - } - if (arg_to_options.find(arg) == arg_to_options.end()) { - throw std::invalid_argument(string_format("error: invalid argument: %s", arg.c_str())); - } - if (!seen_args.insert(arg).second) { - LOG_WRN("DEPRECATED: argument '%s' specified multiple times, use comma-separated values instead (only last value will be used)\n", arg.c_str()); - } - auto & tmp = arg_to_options[arg]; - auto opt = *tmp.first; - bool is_positive = tmp.second; - if (opt.has_value_from_env()) { - fprintf(stderr, "warn: %s environment variable is set, but will be overwritten by command line argument %s\n", opt.env, arg.c_str()); - } - try { - if (opt.handler_void) { - opt.handler_void(params); - continue; + std::string arg = argv[i]; + if (arg.compare(0, arg_prefix.size(), arg_prefix) == 0) { + std::replace(arg.begin(), arg.end(), '_', '-'); } - if (opt.handler_bool) { - opt.handler_bool(params, is_positive); - continue; + if (arg_to_options.find(arg) == arg_to_options.end()) { + throw std::invalid_argument(string_format("error: invalid argument: %s", arg.c_str())); } + if (!seen_args.insert(arg).second) { + LOG_WRN("DEPRECATED: argument '%s' specified multiple times, use comma-separated values instead (only last value will be used)\n", arg.c_str()); + } + auto & tmp = arg_to_options[arg]; + auto opt = *tmp.first; + bool is_positive = tmp.second; + if (opt.has_value_from_env()) { + fprintf(stderr, "warn: %s environment variable is set, but will be overwritten by command line argument %s\n", opt.env, arg.c_str()); + } + try { + if (opt.handler_void) { + opt.handler_void(params); + continue; + } + if (opt.handler_bool) { + opt.handler_bool(params, is_positive); + continue; + } - // arg with single value - check_arg(i); - std::string val = argv[++i]; - if (opt.handler_int) { - opt.handler_int(params, std::stoi(val)); - continue; - } - if (opt.handler_string) { - opt.handler_string(params, val); - continue; - } + // arg with single value + check_arg(i); + std::string val = argv[++i]; + if (opt.handler_int) { + opt.handler_int(params, std::stoi(val)); + continue; + } + if (opt.handler_string) { + opt.handler_string(params, val); + continue; + } - // arg with 2 values - check_arg(i); - std::string val2 = argv[++i]; - if (opt.handler_str_str) { - opt.handler_str_str(params, val, val2); - continue; + // arg with 2 values + check_arg(i); + std::string val2 = argv[++i]; + if (opt.handler_str_str) { + opt.handler_str_str(params, val, val2); + continue; + } + } catch (std::exception & e) { + throw std::invalid_argument(string_format( + "error while handling argument \"%s\": %s\n\n" + "usage:\n%s\n\nto show complete usage, run with -h", + arg.c_str(), e.what(), opt.to_string().c_str())); } - } catch (std::exception & e) { - throw std::invalid_argument(string_format( - "error while handling argument \"%s\": %s\n\n" - "usage:\n%s\n\nto show complete usage, run with -h", - arg.c_str(), e.what(), opt.to_string().c_str())); + } + }; + + // parse the first time to get -hf option (used for remote preset) + parse_cli_args(); + + // maybe handle remote preset + if (!params.model.hf_repo.empty()) { + std::string cli_hf_repo = params.model.hf_repo; + bool has_preset = common_params_handle_remote_preset(params, ctx_arg.ex); + + // special case: if hf_repo explicitly set by preset, we need to preserve it (ignore CLI value) + // this is useful when we have one HF repo pointing to other HF repos (one model - multiple GGUFs) + std::string preset_hf_repo = params.model.hf_repo; + bool preset_has_hf_repo = preset_hf_repo != cli_hf_repo; + + if (has_preset) { + // re-parse CLI args to override preset values + parse_cli_args(); + } + + // preserve hf_repo from preset if needed + if (preset_has_hf_repo) { + params.model.hf_repo = preset_hf_repo; } } diff --git a/common/download.cpp b/common/download.cpp index 6f56b5518f..a1e0e518e9 100644 --- a/common/download.cpp +++ b/common/download.cpp @@ -157,6 +157,10 @@ static std::string read_etag(const std::string & path) { return none; } +static bool is_http_status_ok(int status) { + return status >= 200 && status < 400; +} + #ifdef LLAMA_USE_CURL // @@ -306,12 +310,14 @@ static bool common_download_head(CURL * curl, } // download one single file from remote URL to local path -static bool common_download_file_single_online(const std::string & url, +// returns status code or -1 on error +static int common_download_file_single_online(const std::string & url, const std::string & path, const std::string & bearer_token, const common_header_list & custom_headers) { static const int max_attempts = 3; static const int retry_delay_seconds = 2; + for (int i = 0; i < max_attempts; ++i) { std::string etag; @@ -371,7 +377,7 @@ static bool common_download_file_single_online(const std::string & url, LOG_WRN("%s: deleting previous downloaded file: %s\n", __func__, path.c_str()); if (remove(path.c_str()) != 0) { LOG_ERR("%s: unable to delete file: %s\n", __func__, path.c_str()); - return false; + return -1; } } @@ -380,14 +386,14 @@ static bool common_download_file_single_online(const std::string & url, if (std::filesystem::exists(path_temporary)) { if (remove(path_temporary.c_str()) != 0) { LOG_ERR("%s: unable to delete file: %s\n", __func__, path_temporary.c_str()); - return false; + return -1; } } if (std::filesystem::exists(path)) { if (remove(path.c_str()) != 0) { LOG_ERR("%s: unable to delete file: %s\n", __func__, path.c_str()); - return false; + return -1; } } } @@ -414,23 +420,27 @@ static bool common_download_file_single_online(const std::string & url, long http_code = 0; curl_easy_getinfo(curl.get(), CURLINFO_RESPONSE_CODE, &http_code); - if (http_code < 200 || http_code >= 400) { + + int status = static_cast(http_code); + if (!is_http_status_ok(http_code)) { LOG_ERR("%s: invalid http status code received: %ld\n", __func__, http_code); - return false; + return status; // TODO: maybe only return on certain codes } if (rename(path_temporary.c_str(), path.c_str()) != 0) { LOG_ERR("%s: unable to rename file: %s to %s\n", __func__, path_temporary.c_str(), path.c_str()); - return false; + return -1; } + + return static_cast(http_code); } else { LOG_INF("%s: using cached file: %s\n", __func__, path.c_str()); - } - break; + return 304; // Not Modified - fake cached response + } } - return true; + return -1; // max attempts reached } std::pair> common_remote_get_content(const std::string & url, const common_remote_params & params) { @@ -625,7 +635,8 @@ static bool common_pull_file(httplib::Client & cli, } // download one single file from remote URL to local path -static bool common_download_file_single_online(const std::string & url, +// returns status code or -1 on error +static int common_download_file_single_online(const std::string & url, const std::string & path, const std::string & bearer_token, const common_header_list & custom_headers) { @@ -659,8 +670,10 @@ static bool common_download_file_single_online(const std::string & url, LOG_WRN("%s: HEAD invalid http status code received: %d\n", __func__, head ? head->status : -1); if (file_exists) { LOG_INF("%s: Using cached file (HEAD failed): %s\n", __func__, path.c_str()); - return true; + return 304; // 304 Not Modified - fake cached response } + return head->status; // cannot use cached file, return raw status code + // TODO: maybe retry only on certain codes } std::string etag; @@ -692,12 +705,12 @@ static bool common_download_file_single_online(const std::string & url, if (file_exists) { if (!should_download_from_scratch) { LOG_INF("%s: using cached file: %s\n", __func__, path.c_str()); - return true; + return 304; // 304 Not Modified - fake cached response } LOG_WRN("%s: deleting previous downloaded file: %s\n", __func__, path.c_str()); if (remove(path.c_str()) != 0) { LOG_ERR("%s: unable to delete file: %s\n", __func__, path.c_str()); - return false; + return -1; } } @@ -709,7 +722,7 @@ static bool common_download_file_single_online(const std::string & url, existing_size = std::filesystem::file_size(path_temporary); } else if (remove(path_temporary.c_str()) != 0) { LOG_ERR("%s: unable to delete file: %s\n", __func__, path_temporary.c_str()); - return false; + return -1; } } @@ -730,15 +743,16 @@ static bool common_download_file_single_online(const std::string & url, if (std::rename(path_temporary.c_str(), path.c_str()) != 0) { LOG_ERR("%s: unable to rename file: %s to %s\n", __func__, path_temporary.c_str(), path.c_str()); - return false; + return -1; } if (!etag.empty()) { write_etag(path, etag); } - break; + + return head->status; // TODO: use actual GET status? } - return true; + return -1; // max attempts reached } std::pair> common_remote_get_content(const std::string & url, @@ -777,22 +791,22 @@ std::pair> common_remote_get_content(const std::string #if defined(LLAMA_USE_CURL) || defined(LLAMA_USE_HTTPLIB) -static bool common_download_file_single(const std::string & url, - const std::string & path, - const std::string & bearer_token, - bool offline, - const common_header_list & headers) { +int common_download_file_single(const std::string & url, + const std::string & path, + const std::string & bearer_token, + bool offline, + const common_header_list & headers) { if (!offline) { return common_download_file_single_online(url, path, bearer_token, headers); } if (!std::filesystem::exists(path)) { LOG_ERR("%s: required file is not available in cache (offline mode): %s\n", __func__, path.c_str()); - return false; + return -1; } LOG_INF("%s: using cached file (offline mode): %s\n", __func__, path.c_str()); - return true; + return 304; // Not Modified - fake cached response } // download multiple files from remote URLs to local paths @@ -810,7 +824,8 @@ static bool common_download_file_multiple(const std::vector & it) -> bool { - return common_download_file_single(it.first, it.second, bearer_token, offline, headers); + const int http_status = common_download_file_single(it.first, it.second, bearer_token, offline, headers); + return is_http_status_ok(http_status); }, item ) @@ -837,7 +852,8 @@ bool common_download_model(const common_params_model & model, return false; } - if (!common_download_file_single(model.url, model.path, bearer_token, offline, headers)) { + const int http_status = common_download_file_single(model.url, model.path, bearer_token, offline, headers); + if (!is_http_status_ok(http_status)) { return false; } @@ -975,7 +991,7 @@ common_hf_file_res common_get_hf_file(const std::string & hf_repo_with_tag, } else if (res_code == 401) { throw std::runtime_error("error: model is private or does not exist; if you are accessing a gated model, please provide a valid HF token"); } else { - throw std::runtime_error(string_format("error from HF API, response code: %ld, data: %s", res_code, res_str.c_str())); + throw std::runtime_error(string_format("error from HF API (%s), response code: %ld, data: %s", url.c_str(), res_code, res_str.c_str())); } // check response @@ -1094,7 +1110,8 @@ std::string common_docker_resolve_model(const std::string & docker) { std::string local_path = fs_get_cache_file(model_filename); const std::string blob_url = url_prefix + "/blobs/" + gguf_digest; - if (!common_download_file_single(blob_url, local_path, token, false, {})) { + const int http_status = common_download_file_single(blob_url, local_path, token, false, {}); + if (!is_http_status_ok(http_status)) { throw std::runtime_error("Failed to download Docker Model"); } @@ -1120,6 +1137,14 @@ std::string common_docker_resolve_model(const std::string &) { throw std::runtime_error("download functionality is not enabled in this build"); } +int common_download_file_single(const std::string &, + const std::string &, + const std::string &, + bool, + const common_header_list &) { + throw std::runtime_error("download functionality is not enabled in this build"); +} + #endif // LLAMA_USE_CURL || LLAMA_USE_HTTPLIB std::vector common_list_cached_models() { diff --git a/common/download.h b/common/download.h index 9ea2093939..c79be2f90e 100644 --- a/common/download.h +++ b/common/download.h @@ -65,6 +65,14 @@ bool common_download_model( // returns list of cached models std::vector common_list_cached_models(); +// download single file from url to local path +// returns status code or -1 on error +int common_download_file_single(const std::string & url, + const std::string & path, + const std::string & bearer_token, + bool offline, + const common_header_list & headers = {}); + // resolve and download model from Docker registry // return local path to downloaded model file std::string common_docker_resolve_model(const std::string & docker); diff --git a/common/preset.cpp b/common/preset.cpp index e2fc18c5da..aec14e0769 100644 --- a/common/preset.cpp +++ b/common/preset.cpp @@ -16,6 +16,46 @@ static std::string rm_leading_dashes(const std::string & str) { return str.substr(pos); } +// only allow a subset of args for remote presets for security reasons +// do not add more args unless absolutely necessary +// args that output to files are strictly prohibited +static std::set get_remote_preset_whitelist(const std::map & key_to_opt) { + static const std::set allowed_options = { + "model-url", + "hf-repo", + "hf-repo-draft", + "hf-repo-v", // vocoder + "hf-file-v", // vocoder + "mmproj-url", + "pooling", + "jinja", + "batch-size", + "ubatch-size", + "cache-reuse", + // note: sampling params are automatically allowed by default + // negated args will be added automatically + }; + + std::set allowed_keys; + + for (const auto & it : key_to_opt) { + const std::string & key = it.first; + const common_arg & opt = it.second; + if (allowed_options.find(key) != allowed_options.end() || opt.is_sparam) { + allowed_keys.insert(key); + // also add variant keys (args without leading dashes and env vars) + for (const auto & arg : opt.get_args()) { + allowed_keys.insert(rm_leading_dashes(arg)); + } + for (const auto & env : opt.get_env()) { + allowed_keys.insert(env); + } + } + } + + return allowed_keys; +} + std::vector common_preset::to_args(const std::string & bin_path) const { std::vector args; @@ -121,6 +161,29 @@ void common_preset::merge(const common_preset & other) { } } +void common_preset::apply_to_params(common_params & params) const { + for (const auto & [opt, val] : options) { + // apply each option to params + if (opt.handler_string) { + opt.handler_string(params, val); + } else if (opt.handler_int) { + opt.handler_int(params, std::stoi(val)); + } else if (opt.handler_bool) { + opt.handler_bool(params, common_arg_utils::is_truthy(val)); + } else if (opt.handler_str_str) { + // not supported yet + throw std::runtime_error(string_format( + "%s: option with two values is not supported yet", + __func__ + )); + } else if (opt.handler_void) { + opt.handler_void(params); + } else { + GGML_ABORT("unknown handler type"); + } + } +} + static std::map> parse_ini_from_file(const std::string & path) { std::map> parsed; @@ -230,10 +293,16 @@ static std::string parse_bool_arg(const common_arg & arg, const std::string & ke return value; } -common_preset_context::common_preset_context(llama_example ex) +common_preset_context::common_preset_context(llama_example ex, bool only_remote_allowed) : ctx_params(common_params_parser_init(default_params, ex)) { common_params_add_preset_options(ctx_params.options); key_to_opt = get_map_key_opt(ctx_params); + + // setup allowed keys if only_remote_allowed is true + if (only_remote_allowed) { + filter_allowed_keys = true; + allowed_keys = get_remote_preset_whitelist(key_to_opt); + } } common_presets common_preset_context::load_from_ini(const std::string & path, common_preset & global) const { @@ -250,6 +319,12 @@ common_presets common_preset_context::load_from_ini(const std::string & path, co LOG_DBG("loading preset: %s\n", preset.name.c_str()); for (const auto & [key, value] : section.second) { LOG_DBG("option: %s = %s\n", key.c_str(), value.c_str()); + if (filter_allowed_keys && allowed_keys.find(key) == allowed_keys.end()) { + throw std::runtime_error(string_format( + "option '%s' is not allowed in remote presets", + key.c_str() + )); + } if (key_to_opt.find(key) != key_to_opt.end()) { const auto & opt = key_to_opt.at(key); if (is_bool_arg(opt)) { diff --git a/common/preset.h b/common/preset.h index 3a84d1be29..11ba6ef812 100644 --- a/common/preset.h +++ b/common/preset.h @@ -6,6 +6,7 @@ #include #include #include +#include // // INI preset parser and writer @@ -40,6 +41,9 @@ struct common_preset { // merge another preset into this one, overwriting existing options void merge(const common_preset & other); + + // apply preset options to common_params + void apply_to_params(common_params & params) const; }; // interface for multiple presets in one file @@ -50,7 +54,12 @@ struct common_preset_context { common_params default_params; // unused for now common_params_context ctx_params; std::map key_to_opt; - common_preset_context(llama_example ex); + + bool filter_allowed_keys = false; + std::set allowed_keys; + + // if only_remote_allowed is true, only accept whitelisted keys + common_preset_context(llama_example ex, bool only_remote_allowed = false); // load presets from INI file common_presets load_from_ini(const std::string & path, common_preset & global) const; diff --git a/docs/preset.md b/docs/preset.md new file mode 100644 index 0000000000..be50bb9926 --- /dev/null +++ b/docs/preset.md @@ -0,0 +1,60 @@ +# llama.cpp INI Presets + +## Introduction + +The INI preset feature, introduced in [PR#17859](https://github.com/ggml-org/llama.cpp/pull/17859), allows users to create reusable and shareable parameter configurations for llama.cpp. + +### Using Presets with the Server + +When running multiple models on the server (router mode), INI preset files can be used to configure model-specific parameters. Please refer to the [server documentation](../tools/server/README.md) for more details. + +### Using a Remote Preset + +> [!NOTE] +> +> This feature is currently only supported via the `-hf` option. + +For GGUF models hosted on Hugging Face, you can include a `preset.ini` file in the root directory of the repository to define specific configurations for that model. + +Example: + +```ini +hf-repo-draft = username/my-draft-model-GGUF +temp = 0.5 +top-k = 20 +top-p = 0.95 +``` + +For security reasons, only certain options are allowed. Please refer to [preset.cpp](../common/preset.cpp) for the complete list of permitted options. + +Example usage: + +Assuming your repository `username/my-model-with-preset` contains a `preset.ini` with the configuration above: + +```sh +llama-cli -hf username/my-model-with-preset + +# This is equivalent to: +llama-cli -hf username/my-model-with-preset \ + --hf-repo-draft username/my-draft-model-GGUF \ + --temp 0.5 \ + --top-k 20 \ + --top-p 0.95 +``` + +You can also override preset arguments by specifying them on the command line: + +```sh +# Force temp = 0.1, overriding the preset value +llama-cli -hf username/my-model-with-preset --temp 0.1 +``` + +If you want to define multiple preset configurations for one or more GGUF models, you can create a blank HF repo for each preset. Each HF repo should contain a `preset.ini` file that references the actual model(s): + +```ini +hf-repo = user/my-model-main +hf-repo-draft = user/my-model-draft +temp = 0.8 +ctx-size = 1024 +; (and other configurations) +``` From f5f8812f7c3fb08bdac53b03d4336c24ce760940 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 9 Jan 2026 09:33:50 +0200 Subject: [PATCH 021/100] server : use different seeds for child completions (#18700) * server : use different seeds for child completions * cont : handle default seed * cont : note --- include/llama.h | 4 +++- src/llama-sampling.cpp | 2 +- tools/server/server-context.cpp | 13 ++++++++----- tools/server/tests/unit/test_chat_completion.py | 1 - 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/include/llama.h b/include/llama.h index 12e4e57d0e..1c17efb9fa 100644 --- a/include/llama.h +++ b/include/llama.h @@ -1292,7 +1292,9 @@ extern "C" { // available samplers: LLAMA_API struct llama_sampler * llama_sampler_init_greedy(void); - LLAMA_API struct llama_sampler * llama_sampler_init_dist (uint32_t seed); + + /// seed == LLAMA_DEFAULT_SEED to use a random seed. + LLAMA_API struct llama_sampler * llama_sampler_init_dist(uint32_t seed); /// @details Top-K sampling described in academic paper "The Curious Case of Neural Text Degeneration" https://arxiv.org/abs/1904.09751 /// Setting k <= 0 makes this a noop diff --git a/src/llama-sampling.cpp b/src/llama-sampling.cpp index 48291a3a7c..11f0394c4c 100644 --- a/src/llama-sampling.cpp +++ b/src/llama-sampling.cpp @@ -2142,7 +2142,7 @@ struct llama_sampler_xtc { const uint32_t seed; uint32_t seed_cur; - std::mt19937 rng; + std::mt19937 rng; }; static const char * llama_sampler_xtc_name(const struct llama_sampler * /*smpl*/) { diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 33635a1586..e1f65dfcce 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -4,7 +4,6 @@ #include "server-task.h" #include "server-queue.h" -#include "arg.h" #include "common.h" #include "llama.h" #include "log.h" @@ -16,7 +15,6 @@ #include #include #include -#include #include // fix problem with std::min and std::max @@ -2927,9 +2925,14 @@ std::unique_ptr server_routes::handle_completions_impl( if (task.params.n_cmpl > 1) { task.n_children = task.params.n_cmpl - 1; for (size_t j = 0; j < task.n_children; j++) { - server_task child = task.create_child( - task.id, - rd.get_new_id()); + server_task child = task.create_child(task.id, rd.get_new_id()); + + // use different sampling seed for each child + // note: https://github.com/ggml-org/llama.cpp/pull/18700#discussion_r2675115723 + if (child.params.sampling.seed != LLAMA_DEFAULT_SEED) { + child.params.sampling.seed += j + 1; + } + tasks.push_back(std::move(child)); } } diff --git a/tools/server/tests/unit/test_chat_completion.py b/tools/server/tests/unit/test_chat_completion.py index 5f5de415cf..d0ce01bc6e 100644 --- a/tools/server/tests/unit/test_chat_completion.py +++ b/tools/server/tests/unit/test_chat_completion.py @@ -503,5 +503,4 @@ def test_chat_completions_multiple_choices(): assert len(res.body["choices"]) == 2 for choice in res.body["choices"]: assert "assistant" == choice["message"]["role"] - assert match_regex("Suddenly", choice["message"]["content"]) assert choice["finish_reason"] == "length" From d3435efc8a2f926f1d7a5f2a11ac161b798c355a Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 9 Jan 2026 12:16:40 +0200 Subject: [PATCH 022/100] scripts : pr2wt.sh reset to remote head (#18695) * scripts : pr2wt.sh reset to remote head * cont : cleaner * cont : restore --set-upstream-to --- scripts/pr2wt.sh | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/scripts/pr2wt.sh b/scripts/pr2wt.sh index 7970bec371..8e5d89462c 100755 --- a/scripts/pr2wt.sh +++ b/scripts/pr2wt.sh @@ -4,12 +4,13 @@ # # - creates a new remote using the fork's clone URL # - creates a local branch tracking the remote branch -# - creates a new worktree in a parent folder, suffixed with "-pr-${PR}" +# - creates a new worktree in a parent folder, suffixed with "-pr-$PR" # # sample usage: # ./scripts/pr2wt.sh 12345 # ./scripts/pr2wt.sh 12345 opencode # ./scripts/pr2wt.sh 12345 "cmake -B build && cmake --build build" +# ./scripts/pr2wt.sh 12345 "bash -l" function usage() { echo "usage: $0 [cmd]" @@ -39,7 +40,7 @@ org_repo=${org_repo%.git} echo "org/repo: $org_repo" -meta=$(curl -sSf -H "Accept: application/vnd.github+json" "https://api.github.com/repos/${org_repo}/pulls/${PR}") +meta=$(curl -sSf -H "Accept: application/vnd.github+json" "https://api.github.com/repos/$org_repo/pulls/$PR") url_remote=$(echo "$meta" | jq -r '.head.repo.clone_url') head_ref=$(echo "$meta" | jq -r '.head.ref') @@ -47,21 +48,32 @@ head_ref=$(echo "$meta" | jq -r '.head.ref') echo "url: $url_remote" echo "head_ref: $head_ref" -git remote rm pr/${PR} 2> /dev/null -git remote add pr/${PR} $url_remote -git fetch pr/${PR} $head_ref +url_remote_cur=$(git config --get "remote.pr/$PR.url" 2>/dev/null || true) + +if [[ "$url_remote_cur" != "$url_remote" ]]; then + git remote rm pr/$PR 2> /dev/null + git remote add pr/$PR "$url_remote" +fi + +git fetch "pr/$PR" "$head_ref" dir=$(basename $(pwd)) git branch -D pr/$PR 2> /dev/null -git worktree add -b pr/$PR ../$dir-pr-$PR pr/$PR/${head_ref} 2> /dev/null +git worktree add -b pr/$PR ../$dir-pr-$PR pr/$PR/$head_ref 2> /dev/null wt_path=$(cd ../$dir-pr-$PR && pwd) echo "git worktree created in $wt_path" -# if a command was provided, execute it +cd $wt_path +git branch --set-upstream-to=pr/$PR/$head_ref +git pull --ff-only || { + echo "error: failed to pull pr/$PR" + exit 1 +} + if [[ $# -eq 2 ]]; then - cd ../$dir-pr-$PR + echo "executing: $2" eval "$2" fi From 53eb9435da3affa12a38a8b0fb29081698a8d1cc Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 9 Jan 2026 12:59:50 +0200 Subject: [PATCH 023/100] server : fix timing of prompt/generation (#18713) --- tools/server/server-context.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index e1f65dfcce..324c3af30c 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -2615,10 +2615,6 @@ private: // on successful decode, restore the original batch size n_batch = llama_n_batch(ctx); - // technically, measuring the time here excludes the sampling time for the last batch - // but on the other hand, we don't want to do too many system calls to measure the time, so it's ok - const int64_t t_current = ggml_time_us(); - for (auto & slot : slots) { // may need to copy state to other slots if (slot.state == SLOT_STATE_DONE_PROMPT && slot.is_parent()) { @@ -2685,6 +2681,9 @@ private: common_sampler_accept(slot.smpl.get(), id, true); + // here we have synchronized the llama_context (due to the sampling above), so we can do time measurement + const int64_t t_current = ggml_time_us(); + slot.n_decoded += 1; if (slot.n_decoded == 1) { @@ -2728,6 +2727,8 @@ private: slot.i_batch_dft.clear(); slot.drafted.clear(); + const int64_t t_current = ggml_time_us(); + slot.n_decoded += ids.size(); slot.t_token_generation = std::max(1, t_current - slot.t_start_generation) / 1e3; From a180ba78c710f52af7c7edee562fbe98c36d6ddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asbj=C3=B8rn=20Olling?= Date: Fri, 9 Jan 2026 16:43:26 +0100 Subject: [PATCH 024/100] cmake: only build cli when server is enabled (#18670) --- tools/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 48959fefb5..518f8b9ae7 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -18,11 +18,11 @@ else() add_subdirectory(gguf-split) add_subdirectory(imatrix) add_subdirectory(llama-bench) - add_subdirectory(cli) add_subdirectory(completion) add_subdirectory(perplexity) add_subdirectory(quantize) if (LLAMA_BUILD_SERVER) + add_subdirectory(cli) add_subdirectory(server) endif() add_subdirectory(tokenize) From ec8fd7876b6195bd8582eba4f1debb23d13fde81 Mon Sep 17 00:00:00 2001 From: Pascal Date: Fri, 9 Jan 2026 16:45:32 +0100 Subject: [PATCH 025/100] Webui/file upload (#18694) * webui: fix restrictive file type validation * webui: simplify file processing logic * chore: update webui build output * webui: remove file picker extension whitelist (1/2) * webui: remove file picker extension whitelist (2/2) * chore: update webui build output * refactor: Cleanup * chore: update webui build output * fix: update ChatForm storybook test after removing accept attribute * chore: update webui build output * refactor: more cleanup * chore: update webui build output --- tools/server/public/index.html.gz | Bin 1451168 -> 1451551 bytes .../app/chat/ChatForm/ChatForm.svelte | 91 +----------------- .../ChatFormActionFileAttachments.svelte | 15 +-- .../ChatFormActions/ChatFormActions.svelte | 2 +- .../ChatFormFileInputInvisible.svelte | 24 +---- tools/server/webui/src/lib/utils/file-type.ts | 23 ++++- tools/server/webui/src/lib/utils/index.ts | 1 - .../src/lib/utils/modality-file-validation.ts | 38 +------- .../src/lib/utils/process-uploaded-files.ts | 22 ++--- .../tests/stories/ChatForm.stories.svelte | 5 +- 10 files changed, 43 insertions(+), 178 deletions(-) diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index e572817dca0c5ea1f264f7ac9ff8b200a0db80f7..a3fcf8dcdbecf36207a3baa28b8efbc20b92a3ac 100644 GIT binary patch delta 1162193 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

wy+R&XsffTE0ULf;bQDQLMAu~j zje~MmT zateb)rDhQ&$Go=sScsur0a4J}g@k8p7X>s8N-&hWUOiUpf4h?m@r98%+4BbC!O~Lq-gGFbycxOF?JyES(oo~b z?jlKAZk5g^+vT}sx=7D~Q4axR%no7_9=9xD7vXL0kz z>n+P`GU`BMDv9fQ`?k~>t}_76l-9jIYJ>A|iEIyS`2buqnzlCf6m9DOe=0&Q3>%d$ zgub@kS-u3Q)Jg9o1wub|* z5WcFE87>R{ED&+i;I*M5fA?{`W&{szFoFj*g17pBaRUl?srmLedeARkieXrI`#<`>)048w$@U>uw!5SEUhc@9+Zr)zg z*vm)Ku6+LLyEj{)PUj_sw4!@#GH7ecQDlh1SFOzkiV7MUYPLbelAlk`(yBqqH3(5n zsi6uo^5*5sjqiT~e-K$4nid$$CFuQc1ZZUHlSoq#}f;27r*zZgRf7D|kYxphXIXDOD9<*=$ z7qqSb!ax=Ue;_shr1XLC)cwv=^4>a2zHk=6H~^d-ftjtXo2`DGqN~>9#^PI~6xin< z`1h){F@xt=TGB<*?SShT&u27<5`_a8Fj1zk1J4(hkqoO#VM4{% z42}+B$J4gp;c~fAC^yP-YZr76cwi<91J`HP`-AX4f7~7eNY~mzAE%}92uxPC5BM!~ z9BLtSd@pvK;mT#l_fp5vv1#lWQV-^i?RTcL8it&OsT@wg+_8K%^{-mfl0N!Yo*_^( zoLHeW(FM$n;yeb958onVdjG2RvH4s8*@o5x?g@`cd!&|v8Q?5806yLmNQC|X2|WT0 zE=dqDe<2gwH(yr5nF^i_M~bq_#(%YY{CMVwN)d|I-*+pw{t9sXh`z>5dBWlzV9=f2 zRfET>+=@ZFMOwT}p+~@M>)ATtN-J6g)=xGIKZaRd7z8#5gAKi&W^J=cn98|}qs4g3 zO^C7U#Q2Ff+6z<{aU)f9FujhhJIM5dt6pcse@tH+a{61JWo6_Q0hZOz74A;dSoS?h z^`31(h6g@!s~1QCvr3sgWfjzxCm_1k_qBruEQ_4gpB}y0+Is!!)8^9`Paki6+Isrq z*2ecwHyU`C6(3@*>0(&di1{YklW?$p{ru^RC!0^Vc!XpHbLAw3>|@7uJW^%yxSG>L zf8-T7w#=GPH06)Hc>2xLS5H#6eZ3J9zuz0|Lua?0^u=6mj3-zC^mfpwrD278P1&ss z{_L zlapMN?@;vJeg{(zGY3(@3+r|%pF<1Zfk8)S~Hwl@9?5{*)>C zTStFd*B+hB=$at1&+gjXZd59ze`%rhvAPQdk5YQk`aDsvP>)Eumi2`Pm?PQ!SFPu# z)DhacSnMAV9AeQkXi{l-P#w%ape4^wb4x%)q$MHKWkwjjEJqc?965@%9knG2d8vOW zpTP*QDHcJTWl7Vq2pNPLb8zPSy>}qOdcHG94E(!;ndVnBQIHk*NDnNwe>7!*eW_1N zr9CLsJ_sgk4*Ta?98jWYA(io>9idVlbTT1=Kmtk7I|)9H%tUAP0SFN50j<$gqFp4P zX11%0cw6xSNp^#U16V1_=4xHZY;g3awvuol$gAbO>^wXyD~ic*32&oK`l|E5mxD9~=uR0J3gOSSwj3-i9h6n^hNX?)_c7rvyoD`@ z&W!uVu-bMy$qT~Vvf*)b!`1>bjbA?YB+i&dt>F+Y1QTl;8VtnhgG979;K!6^KH10N24P1@*F!KC8SdOoR4N*t+>M1&&v+4{7G`YJ66)^LG7 z!chiE|KV_Zxp#M*7xX)KlzMd9xfI->my`B`-v1ELK^%zNfA5Fk0DKj_dsBJvu3lOI zLlp$L-Gw<8Ht9!VneJU#5*Fbl1fm39>&R+VIKrE*;dj9yfLZi3 z{Q;w%>W(S^u{egA7ZS`Ov~XyJv}S09bS!Lq6WR~Dvbayl@kWAoD&hL!ur5}_gfnQr zL2Kd8Vt`*re|X|qq`VkKS@rFC4mLc!UEWSePF1w&Iml8D9)(GR%YB&L{|=KRHR`p4 zZm7>c{RFy;a%;=A&8=grrDKh4jtxUJQq5tTQom3!a}n0peBA+$z8C8UPE( zYzFqh#-&g!`wKHqscFo#L@?M(&M~4uC>2`=&@v|ce@ylai_R)U-3`bo#HjN7OfCl^ zk-ybc0lp8zm91SQ)Xd06bmSjlRmZ`~2ydy=$kQ${I679688IjbZjY*e-=S zK|w>))<#CX;3L_l!aDsTw%yQX`02;KgmX~^k9}Tg0o0+zN0mEr#-bQV%|%S;6(Dk9 z6J(e!^%Hl@x{O@|psmueE+G+Z^XQ#{b=8|}(5j@aypY)`v^$97I(gBKw6hfA8BgkONK^~o~4)2{) z>I-+(-%KAEXR8myISuze^7IS$>Aohn*DPsUVu58tG3lQqal6%T>i|L#3pjAe;C8F) z_oQ~a35QX=i5A+evES0>Ev}hUFV4V4L_)+`XHl`RoTRp?{VnFV~n5lR4_bOB$`ulD!@lI3ISv#96TCG%cw^k8KSVb~e zWi_FYy|y~mJG0xP<9l6m?pEpvJ%1O*5-Zl><1aB>;EJVsFn!u>uzYMbxxJxLe?oq; z%UvQ>v)X*6z2{Q^7zaS~!pG8!qDB?cV0ZJp+5Hal>^V0N_Pd|0%HY>?8f{Rw?fyFq zJB%5;IEN0khh%KHGu4apwZTJJ3#JbVJ^R)2-s))Ougl}r!OGv3r}+0SPG&gX<5b9A z6d7wh4~yh>Q7J9BIf%;CxbCxie;>aZ-}}grcU(T?C9lqL^IUJ9%z+5l#BA7f64cZaq#yOJI z%F$<9aP7!XryULcHt+gXu>8~21WWq1@o~a0-PuUNFE8=HFh*Oicj~u+Mk?2v(_NI< zt-NULE1ulZc$(?y@*<<(fB8L)g3Vs^52{}Dt#41OkgI$z1FmM6)eOBlneOI(F491O zKZoPd6uBSt?`nns5)Trj^IP=->4v>1{sQT#{<24t9-2V}fBR@|LYMg}h~R3dtj`;w z)qUl1P@XfNmJ@)T4FP1uOiGMUfAR*Yrw;*4zB}rU5gbDNtAU}je-a;<>^v-^qp=2C zZvcrv5VvOrE;kmQiPoAvQRA~`hWixX%v%dfS;4&GU> zcM{s|ufzyQX?8P2fZ8LudL6J605={|4b6WQ7k4g*tqu7M5L+MVDlljjCwDINt_}JO z=-tNARu|E^cn5hDe;o4X4+H=F;}Jh`3Y$2DY^60=PWec~gE?rI5{Gy;Iy}4vFtekX zMeDdF+LJl&-A9r6P@0rFY)QYIjdroC)I#8!xuCJY74*WEbXd(aUJVaryMIG^wzfYy zw#4ZX7em)KS9+78po+O-I+sT3alZsIXLX1jp|kZ&3}t`be~6uYV}M*)whoe;Iw>pm z7`D0qO?e{_tXyea+!|-1?=+Vn*bTlDaIz#BfhWJkj|omq0JA^1F$9Pg+#O6UxJ$1a ziiqCO%gB!z;J@%^Koah~v)9wJ39Oq@Usrh)E8t)rZt!eQ{gv%JXFOVgMm3f#R4|6S z+f=Rrc6LE`e`0fG>*$W0ChDzGEm?;gi97_P>p}w&h}OI&ar+`KR)c;DX7l>{(uVrM z2~;~*t{QCrF~+>A%FTn6S9?Qt!HP<(;RR2^cZEFLP0Ce2CrU!1EFaSeSgcBM9yG57 z_@%^@G!Y4T#+(S(1x*Litwgj&{A`5`EeZT2WuFSlf3kUNlanI;a8(74OgC~hG)}us zTfw4LFqx~Pr3(FOb{(8I&H&yyy=P&VP>itkW}~=%%^BQJ^PHB}iNre)L%y2Aq){yhAsb&bg_G07zfaP+z}c{8&w#Eg8sy#V8-=>??HWT|j?45L`nG>15_` z`~}E%f0f28Ex`|9&hvSINzHF0%g@!CZN}~{))+I|@qE;v+RFPb+2%W*FJ~qD+DSpR zki-Vsy014f*+t+iQoI7ORRT!Rs&#d&fP)E^9sOf06Hjf%8iWsULpUW9Kh*NghAZAJJex4z?$dv4zjR)uhmH6EOrkH?0#7g` ze_v*tzK`Qgy9G1ZX-GlHYG&=mje5C3_7rL%ZW#C;7R1W~{$>X+nQ>v$#Nl(wh?zM1 z_=w!pUTM>c0?B+rD&@soeEA$|@3~6FE(;c)?b7A%68MeJHrtY)am4Xsv`9jv=&21f@gMoVW`FM(!pr?kXh}=9Y zS5S{5)2>WW=d#MY(Lu(#P*Z271bG>2iQ`+>bkuUJH7XYD_0LIq5sb|)hKE}X5_>fB zSKg3&zfH)Wt1JKk3T?^(l2y(Jf06kNZ(-!+Y_L!`PUn%rw<0wcD~R}6*UQ*}P(}T? z*2JFp!>im487TIniIJB+7(>zA%y=F;(>YTln1Ps@HDOd+#iM^-jo~fPKHdPZIH8*& z%V?%WW}Q$(a)+dABg6chi8FeWi#t^C+~P+t=MHGn{$NS*n554Z?a<6SMR@0oAUGJXzaNk#q#$nxk9eDQoc8 zbDO4{QhJ}()V%Y}IBqL(^A^LmO`9AJp#oQ%d-p!`R3`Y&+<2iPe=YDejiA<{whE0i zzAkmF@^}iB=nQV~8tP^lGHcY$((ns)`))q=`gbH@Fk=7jNzSBaquKChp^Rs1ewqE{ z4^8s&V*b#*C@gq21Kwv1VBHdS6A1feagl~BKLJX0Y7_XphMhBwo~tNgt-+|;u*sq8 zEKd=BPE?h%xe-+qe^fx~&PLO{qZFjvAl5oaz6Sj#wU@;3HJJ5^cHck|-_*6xHyn7^ z4`gGPZm32M&6P3rbNcA9hbX`Gk0XN{nZ;(>YxN&H&AkKmal}dx&#}lY{B9lH}f6&*r9HlRE-oK5F|12%T z4Kx`^<2Em0!=G`s{n5<);b622EMVTD%i5Fv1j*rL3}1B5p%GqR7Z&qn_r(0XzMfCs zzowg)C)c(>AXlPDcc4+GzXW(exCijxt|6eT-Nq}U&U@o+8@;AN%6F+TD+?d>faKE$ zHerg>pwwHIf3auO?<1W)r6qq*SRc_Mpr96KM@VF9DK5O3gn7+xB0jlw-H77spwCZ~ z5pGW%;FV;Kne-i?IJd%l1qzR!#x^2=!y`8$39P&i8%%Q#6V%7f@&m1@u^edJwH*}~ zKRotXlfJ?4+|oyDU{0Q%vX05-E@6M^Kdy6E}

B7F&3x4-TwPCo3&@>7U?5^CP|f)ngwZ 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

1kc)bN0 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

Kp{k!1wXjU>$~CAYm*93F9Se1u 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%0D6a} z3_Py*Ggufk)@ngU3OA5??ZXTyHP+?6Jf8Tz<_S2z+FT#C>Qhi=?h7#+@osF7}1fUdFHEI?r)?_B;dmOL@<7_GW zn=C{#rspUv3Dej2b@(Pie+IjMp6pDWtL9x#6~;-%7?_mjFR~&xcu@|5z&dhOa=F0J zI#X+_$VPsRd$Jv6RvDQw=%Y31NSt5=0a@?`i#D&fe-p@_N&{*D2^<>( z!xHbWu*(_{Mj;sfNahfxEvRV33~WGEa@&7ndccS-7;Qkok0d~d`r>r<$ zX3fY(yhbsu1^Bc_v1w6Jl6gI^a;cS>H?$ULlakp;1{nDbY!idk9uW@`!xZ?^w+y#m ze}H9-Vc>V&STfX-dB{1J_ym~NaG-%s3Q&PiGy;UweMZW?i476s>OC2Xs1nG~xRz&H z)*F0fyqqOk=-eby$t_m#@JN~f+9jUO;FvYKelj}~e@5v0VSIMTS$~5WsSru)n{00T zeUz|7j@VgxKbOH!_=sTTBPic&icQ{$e{FdPJsdp(V;95MXm7h&tJfJ$NETlswr!!{ zNhN4uf;Iq}C*Btgl?r+}gGS#so5GN5ld;a`Zd_L2T;UdxC=$pk+K?-%6o&~uFEDw) zHL8$|O0h_MS7URk@-sn2T+Z8`U@e=dR5hPc)IKRVe*=#3 z70hK>SUrDF{`_9k6nbIqL8?2>xdKqlR)!SQ_vmJ0dl}-EJ?-W zULxoOz8QnpuXumI#qF(i<7kQoeO5!tk zvxMz)rGX&(W>umETs09&^-X;J&0%`PuLe_I8dZJ9|K zQ@wU;vvTkX$dm71|Mu0B=WjceeyOob2cNgu34VNnsR#7T3WWBHac|`(dFrPXh%K

CwUfX~=(e<{jMI+|vld8|+Uzb*1_A&SSc1 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

O1e+!lH*zAe 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�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 delta 1161396 zcmXtebySq!_qBv{OLt3mr*tFTARWWdog>{XIe-#_z%VpJgY=NnFr;)Ntpa|0`L5r3 z|J%=vv-jC&J?q}P*7-bT_GR4cV=PK6YAjkSdV&-vjm5I)$5H8rviaT|Uf#m;AcGo_ zyREQg!xFSXB1Rs&W1-vrpEM{R(GRkb(%qJu;wrCp_J))8-nWyB{?f*BK6|vyiJ=Mb zD$flKu^d8HyM6Kh6wn*vSl$$1zLMot6BFJ=D}R357-M5fPF3l8nI^4>9UT{MAkQTl z!f3ewiYKrRsFDE&6&p2mt*E)PS%2dyM8x3`81vH}=~XS$Y|iTCf$#rN$;=X{Cl%`Q5>>c-)T>B~|77Z$7R55kg;kNmp9E29 zD!^2P9i6*D2@khZbquBl^y``tR2GtJEq_BnOS9bNOzI;>ofbeA8-jWB(*q2vtA%yc z@D@#P1wJ^`2g?2vX7LqQr8`O+N;S&h-~~!E zc`H{vbO{yn;$tuIOxiHcJ&>Zdh#GLKB%TZrK`>X@nVkK6d~-dkzW9ZfO7osA(H7FT zf2+gUtIYM?K)Np_Xq_wm28aQi2(;rOGKDQh?#2T%aOazerktW@SERRGHM><- zk^_E(N%3Aln|n8#I63H0+;};DFN0K@c*s^VKSG|)6u-ks?hif9=Ig4;mw$);71(ne zeo!V@HP)#8$)Zyex}TDr8#Q!Fj{+n7A-wYsdbPJjQcsT&ZMj#j%B56*k>8Am^*b() zpP;=Ww1m@t0u7->q+qGwx?tTV;PM#J;$No(>}h@?YfK1rs^?itlM$a`X#rUa;4rve1ei9gGwjywIpWl>9^ywFjEPu%I<4*gpx?L!2jV0VK}Xokh5FxN%N*Y z<#3ozgAqlc9O*|0>N&dndko))8&wAZ0qVFZZ;rw9$dvtnIsyi&FAdreHF;^z9C=n( zN)?8@ZQK``0IngGpuXAiPEcp9Y7j!uDs51UaqEod7HLv7_0=w8Juby=+&i%Q_k8os zo;HmBVA-UzJ41X2ZsIEXPF2v)1*;_93jd^g$VZr{(A?UloutLhWuBv@IZEUmwO@JI6tOfFGK4;=onMg$1uARTbdXacHF&)$XDT1urXYDacI{oY3w~rX504 z)w7Vta#*f@v@s7*6UHd{=iK-nXSym?#8%x&zhQ9sn+z#8LD=87(fh||6z8Nd_wRM^^K79K8`kTpH_(s~%3L6SlSW2Uq%}3H&7W>j* z+Mk3%zQoNW4)+I+Y9PC0$P%yx*03y50K=9CsxhsssNKV@G=`=*=*5FZmV_{3wiIS; ziEjoBmd93Qmg~>Er~i0Lri3$0H0$cGEl&Q$iyAj}ziXk1N9a-hlty!OObPwh3u2aI?P1-nMOH0F$ z(sQQy$}@YtD3#T@(X6EzH(;3lhe#Xw4X*(4;j0JcXBkm*<}i-zn3*)@ewcIZp?+G6 zC0`evDp*~&^!?eN)@*39vt7LAREM&z461^dT_9PF^H*e7Eaim(=dCnWu{WNHxNj8jbd2zCkCts0onAG zafkmJKZPyfb;~W1-?P^3XP^07jQ%IWD=iooF|Tg(Q<|4fqw+|Vwp2qsYU%QbJVvpf zDhnNiCf9lYo0`77WK&=GM$6Gb-PHRJnFz}ee1Eq(hnE?HJN$E{dD{ndRTbrO(l*Y7 zS3!SKm7n5BNj&IZQ@XVhbVl^%C7&JO{D=8@UeSjlAHy4&qiMcr!%K}camgDrhB*t9 zag>Mc1&)wDP0o4eS}<0Rc(S_|YG

v~dQ*vyEM_?Y3zF)8Rg?dM*!w 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%0A1)|Njll+g5>=h_J?B@wVyqD{b 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%0A9(0v> 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%0A7r3))#fwO>@AIU|oPU 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

Oe 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%0DG`T-T>@cl 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ⅅX3?t-!$_E;Zf|FZIMdioI)1RLyG9@Q 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
AV!W>MDMFFfSO5kh29^* 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
pJ6{uFe>jLKZhsJPCj156G{il=c^MC^@@ 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