Ускорение пересборки llama.cpp
llama.cpp ţ ,
ONNX Runtime GGUF-
, C++-,
ޣ , ONNX (ONNX
, ,
ONNX- ),
( ) .
, , llama.cpp
.
, ţ
- ,
(
,
, ,
).
,
. ,
API
.
. , , "" " ",
( "֣" , ,
)
"", "" " " "
" ( "") . ,
,
-
, "CMAKE_INSTALL_LIBDIR".
, , .
, ɣ,
, , .
1. .
,
. ,
, .
2. "add_library(${TARGET} STATIC".
,
. , ,
LTO, LTO ݣ ,
, ,
,
, ӣ heavy lifting GGML,
ң , £ GGML
.
STATIC SHARED ,
CMake ,
, CMake
"BUILD_SHARED_LIBS". STATIC,
"set(BUILD_SHARED_LIBS ON)" .
SHARED, ().
3.
cmake
target_compile_definitions(ggml-base PRIVATE
GGML_VERSION="${GGML_INSTALL_VERSION}"
GGML_COMMIT="${GGML_BUILD_COMMIT}"
)
"GGML_BUILD_COMMIT" "GGML_INSTALL_VERSION"
CMake. "ninja" ,
, -
. ,
"ggml-base" , -
, "ggml-base" .
-
, ,
ģ .
. ţ , , ޣ
"BUILD_SHARED_LIBS", -
ggml-base , "STATIC"
().
4.
cmake ()
target_compile_definitions(ggml PUBLIC GGML_BACKEND_DIR="${GGML_BACKEND_DIR}")
, "GGML_BACKEND_DIR" "ggml"
. "PUBLIC" , ,
"ggml",
. , ,
ģ .
:
"search_paths.push_back(fs::u8path(GGML_BACKEND_DIR));", "PUBLIC"
"PRIVATE".
- ,
. ,
ţ , "GGML_BACKEND_DIR"
, shared- "/usr/bin".
.
,
ģ, ().
5. "common" "CMakeLists.txt"
cmake
set(TEMPLATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/build-info.cpp.in")
set(OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/build-info.cpp")
configure_file(${TEMPLATE_FILE} ${OUTPUT_FILE})
set(TARGET build_info)
add_library(${TARGET} OBJECT ${OUTPUT_FILE})
,
c++
int LLAMA_BUILD_NUMBER = @LLAMA_BUILD_NUMBER@;
char const *LLAMA_COMMIT = "@LLAMA_BUILD_COMMIT@";
char const *LLAMA_COMPILER = "@BUILD_COMPILER@";
char const *LLAMA_BUILD_TARGET = "@BUILD_TARGET@";
, CMake
"${OUTPUT_FILE}", ,
ģ . Ninja ,
, - "ccache".
Ninja
,
, . ݣ OBJECT
STATIC. OBJECT CMake ,
, , ,
, - ().
6. , OpenCL,
OpenCL-. -
CMake, ģ , -
CMake,
Python . - - .
, !
7. "common" ,
, , .
,
, - ӣ ,
ݣ 37 ,
ݣ .
.
8. ݣ (
, ).
===
,
, , , .
, , , ģ Unlicense (
, MIT), .
, :
, , - CMake:
https://gitlab.kitware.com/cmake/cmake/-/issues/22621 . ,
CMake - ,
RPATH, CMake,
RPATH , RPATH
.
, ,
, ţ . CMake ,
, , 4.2
. ̣ ,
CMake CPack ,
- , .
CMake-,
RPATH , "CMAKE_INSTALL_LIBDIR", ̣
, ģ
, .
(.
https://salsa.debian.org/deeplearning-team/llama.cpp
https://salsa.debian.org/deeplearning-team/ggml.git ) GGML
( - , ...),
CMake RPATH "debian/rules", ,
GGML , "ggml"
ף llama.cpp ggml-
"whisper.cpp" ("whisper.cpp" ,
( TTS ASR)
"llama.cpp"). , ,
llama - .
- "ggml" ,
, ggml
, CMake , "FetchProject".
, llama ggml.
. 2 ,
, - ,
,
. . ݣ
ggml- .
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Повышение производительности FUSE при помощи io_uring | 0 | 2.5 | 29-06-2025 |
| 2 | Using LLMs to find Python C-extension bugs | 0 | 24.29 | 26-04-2026 |
| 3 | Semantic Caching for LLMs: FastAPI, Redis, and Embeddings | 0 | 10 | 29-04-2026 |
| 4 | Отладка исходного кода Asterisk | 0 | 2.5 | 05-09-2025 |
| 5 | The Fastest Python Struct? | 0 | 10 | 27-06-2026 |
| 6 | Comment on Streamline C++ Code Intelligence Setup in Copilot CLI by Alexander Kleine | 0 | 1 | 25-06-2026 |
| 7 | Раскрыты самые частые причины замедления Windows | 0 | 10 | 05-08-2026 |
| 8 | Understand production LLM behavior with Patterns in Agent Observability | 0 | 6.5 | 09-06-2026 |
| 9 | Атомарные обновления в OSTree | 0 | 2.5 | 25-12-2025 |
| 10 | omnicall-llm-caller 1.0.7 | 0 | 5 | 20-07-2026 |