Brunobkr/llama.cpp_AlgMor24_github
ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.
03.1k
1find_package(Threads REQUIRED)2 3llama_add_compile_flags()4 5#6# llama-common-base7#8 9# Build info header10 11if(EXISTS "${PROJECT_SOURCE_DIR}/.git")12 set(GIT_DIR "${PROJECT_SOURCE_DIR}/.git")13 14 # Is git submodule15 if(NOT IS_DIRECTORY "${GIT_DIR}")16 file(READ ${GIT_DIR} REAL_GIT_DIR_LINK)17 string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" REAL_GIT_DIR ${REAL_GIT_DIR_LINK})18 string(FIND "${REAL_GIT_DIR}" "/" SLASH_POS)19 if (SLASH_POS EQUAL 0)20 set(GIT_DIR "${REAL_GIT_DIR}")21 else()22 set(GIT_DIR "${PROJECT_SOURCE_DIR}/${REAL_GIT_DIR}")23 endif()24 endif()25 26 if(EXISTS "${GIT_DIR}/index")27 # For build-info.cpp below28 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${GIT_DIR}/index")29 else()30 message(WARNING "Git index not found in git repository.")31 endif()32else()33 message(WARNING "Git repository not found; to enable automatic generation of build info, make sure Git is installed and the project is a Git repository.")34endif()35 36set(TEMPLATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/build-info.cpp.in")37set(OUTPUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/build-info.cpp")38 39configure_file(${TEMPLATE_FILE} ${OUTPUT_FILE})40 41set(TARGET llama-common-base)42add_library(${TARGET} STATIC ${OUTPUT_FILE})43 44target_include_directories(${TARGET} PUBLIC .)45 46if (BUILD_SHARED_LIBS)47 set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON)48endif()49 50#51# llama-common52#53 54set(TARGET llama-common)55 56add_library(${TARGET}57 arg.cpp58 arg.h59 base64.hpp60 chat-auto-parser-generator.cpp61 chat-auto-parser-helpers.cpp62 chat-auto-parser.h63 chat-diff-analyzer.cpp64 chat-peg-parser.cpp65 chat-peg-parser.h66 chat.cpp67 chat.h68 common.cpp69 common.h70 console.cpp71 console.h72 debug.cpp73 debug.h74 download.cpp75 download.h76 fit.cpp77 fit.h78 hf-cache.cpp79 hf-cache.h80 http.h81 imatrix-loader.cpp82 imatrix-loader.h83 json-schema-to-grammar.cpp84 llguidance.cpp85 log.cpp86 log.h87 ngram-cache.cpp88 ngram-cache.h89 ngram-map.cpp90 ngram-map.h91 ngram-mod.cpp92 ngram-mod.h93 peg-parser.cpp94 peg-parser.h95 preset.cpp96 preset.h97 reasoning-budget.cpp98 reasoning-budget.h99 sampling.cpp100 sampling.h101 speculative.cpp102 speculative.h103 subproc.cpp104 subproc.h105 trie.cpp106 trie.h107 unicode.cpp108 unicode.h109 jinja/lexer.cpp110 jinja/lexer.h111 jinja/parser.cpp112 jinja/parser.h113 jinja/runtime.cpp114 jinja/runtime.h115 jinja/value.cpp116 jinja/value.h117 jinja/string.cpp118 jinja/string.h119 jinja/caps.cpp120 jinja/caps.h121 )122 123set_target_properties(${TARGET} PROPERTIES124 VERSION ${LLAMA_INSTALL_VERSION}125 SOVERSION 0126 MACHO_CURRENT_VERSION 0 # keep macOS linker from seeing oversized version number127)128 129target_include_directories(${TARGET} PUBLIC . ../vendor)130target_compile_features (${TARGET} PUBLIC cxx_std_17)131 132if (LLAMA_SUBPROCESS)133 target_compile_definitions(${TARGET} PUBLIC LLAMA_SUBPROCESS)134endif()135 136if (BUILD_SHARED_LIBS)137 set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON)138 139 # TODO: make fine-grained exports in the future140 set_target_properties(${TARGET} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)141endif()142 143target_link_libraries(${TARGET} PUBLIC llama-common-base)144target_link_libraries(${TARGET} PRIVATE cpp-httplib)145 146if (LLAMA_LLGUIDANCE)147 include(ExternalProject)148 set(LLGUIDANCE_SRC ${CMAKE_BINARY_DIR}/llguidance/source)149 set(LLGUIDANCE_PATH ${LLGUIDANCE_SRC}/target/release)150 set(LLGUIDANCE_LIB_NAME "${CMAKE_STATIC_LIBRARY_PREFIX}llguidance${CMAKE_STATIC_LIBRARY_SUFFIX}")151 152 ExternalProject_Add(llguidance_ext153 GIT_REPOSITORY https://github.com/guidance-ai/llguidance154 # v1.0.1:155 GIT_TAG d795912fedc7d393de740177ea9ea761e7905774156 PREFIX ${CMAKE_BINARY_DIR}/llguidance157 SOURCE_DIR ${LLGUIDANCE_SRC}158 BUILD_IN_SOURCE TRUE159 CONFIGURE_COMMAND ""160 BUILD_COMMAND cargo build --release --package llguidance161 INSTALL_COMMAND ""162 BUILD_BYPRODUCTS ${LLGUIDANCE_PATH}/${LLGUIDANCE_LIB_NAME} ${LLGUIDANCE_PATH}/llguidance.h163 UPDATE_COMMAND ""164 )165 target_compile_definitions(${TARGET} PUBLIC LLAMA_USE_LLGUIDANCE)166 167 add_library(llguidance STATIC IMPORTED)168 set_target_properties(llguidance PROPERTIES IMPORTED_LOCATION ${LLGUIDANCE_PATH}/${LLGUIDANCE_LIB_NAME})169 add_dependencies(llguidance llguidance_ext)170 171 target_include_directories(${TARGET} PRIVATE ${LLGUIDANCE_PATH})172 target_link_libraries(${TARGET} PRIVATE llguidance)173 if (WIN32)174 target_link_libraries(${TARGET} PRIVATE ws2_32 userenv ntdll bcrypt)175 endif()176endif()177 178target_link_libraries(${TARGET} PUBLIC llama Threads::Threads)179 