Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Ускорение пересборки llama.cpp

Дата публикации: 27-01-2026 01:00:00

Ускорение пересборки 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_uring02.529-06-2025
2Using LLMs to find Python C-extension bugs024.2926-04-2026
3Semantic Caching for LLMs: FastAPI, Redis, and Embeddings01029-04-2026
4Отладка исходного кода Asterisk02.505-09-2025
5The Fastest Python Struct?01027-06-2026
6 Comment on Streamline C++ Code Intelligence Setup in Copilot CLI by Alexander Kleine 0125-06-2026
7Раскрыты самые частые причины замедления Windows01005-08-2026
8Understand production LLM behavior with Patterns in Agent Observability06.509-06-2026
9Атомарные обновления в OSTree02.525-12-2025
10omnicall-llm-caller 1.0.70520-07-2026

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 2.5. Источник: www.opennet.ru.