char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
b7feacf7f
char/aliceai-t5-moe
1cmake_minimum_required ( VERSION 3.19 ) 2cmake_policy ( SET CMP0114 NEW ) 3 4include ( ExternalProject ) 5 6message ( STATUS "Including the VirtGPU/Virglrenderer API Remoting" ) 7 8# Download venus_hw.h from virglrenderer repository 9ExternalProject_Add ( 10venus_hw_header 11URL https://gitlab.freedesktop.org/virgl/virglrenderer/-/raw/virglrenderer-1.2.0/src/venus_hw.h 12DOWNLOAD_NO_EXTRACT YES 13DOWNLOAD_DIR ${ CMAKE_CURRENT_SOURCE_DIR } /include 14DOWNLOAD_NAME venus_hw.h 15CONFIGURE_COMMAND "" 16BUILD_COMMAND "" 17INSTALL_COMMAND "" 18LOG_DOWNLOAD ON 19) 20 21if ( NOT GGML_VIRTGPU_BACKENDSTREQUAL "ONLY" ) 22message ( STATUS "Enable the VirtGPU/Virglrenderer API Remoting frontend library" ) 23 24find_package ( PkgConfig REQUIRED ) 25pkg_check_modules ( DRM REQUIRED libdrm ) 26if ( NOT GGML_BACKEND_DL) 27# cannot simply use USE_VIRTGPU, as in the 'else()' case the 28# frontend isn't compiled 29target_compile_definitions ( ggml PUBLIC "GGML_USE_VIRTGPU_FRONTEND" ) 30endif () 31 32ggml_add_backend_library ( ggml-virtgpu 33ggml-backend-buffer.cpp 34ggml-backend.cpp 35ggml-backend-device.cpp 36ggml-backend-reg.cpp 37ggml-backend-buffer-type.cpp 38virtgpu-apir.h 39virtgpu-forward.gen.h 40virtgpu.cpp 41virtgpu-shm.cpp 42virtgpu-utils.cpp 43virtgpu-forward-device.cpp 44virtgpu-forward-buffer-type.cpp 45virtgpu-forward-buffer.cpp 46virtgpu-forward-backend.cpp 47virtgpu-forward-impl.h 48apir_cs_ggml-rpc-front.cpp 49../../include/ggml-virtgpu.h ) 50 51target_include_directories ( ggml-virtgpu PUBLIC /usr/include/libdrm/ ) 52 53target_link_libraries ( ggml-virtgpu PUBLIC ${ DRM_LIBRARIES }) 54target_include_directories ( ggml-virtgpu PUBLIC ${ DRM_INCLUDE_DIRS }) 55target_compile_options ( ggml-virtgpu PUBLIC ${ DRM_CFLAGS_OTHER }) 56 57target_include_directories ( ggml-virtgpu PUBLIC ./include ) 58target_include_directories ( ggml-virtgpu PRIVATE ${ CMAKE_CURRENT_BINARY_DIR }) 59 60# Ensure venus_hw.h is downloaded before building ggml-virtgpu 61add_dependencies ( ggml-virtgpu venus_hw_header ) 62 63target_compile_options ( ggml-virtgpu PRIVATE -std=c++20 ) 64else () 65message ( STATUS "Not building the VirtGPU/Virglrenderer API Remoting frontend library" ) 66endif () 67 68if ( NOT GGML_VIRTGPU_BACKENDSTREQUAL "OFF" ) 69add_subdirectory ( "backend" ) 70endif ()