char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
ffaafde16
char/aliceai-t5-moe
1#include "backend-dispatched.h" 2 3#include "backend-virgl-apir.h" 4#include "ggml-backend-impl.h" 5#include "ggml-backend.h" 6#include "ggml-impl.h" 7 8#include <cstdint> 9 10ggml_backend_reg_t reg = NULL ; 11ggml_backend_dev_t dev = NULL ; 12ggml_backend_t bck = NULL ; 13 14uint64_t timer_start = 0 ; 15uint64_t timer_total = 0 ; 16uint64_t timer_count = 0 ; 17 18uint32_t backend_dispatch_initialize (void * ggml_backend_reg_fct_p ) { 19if (reg != NULL ) { 20GGML_LOG_WARN (GGML_VIRTGPU_BCK "%s: already initialized\n" ,__func__ ); 21return APIR_BACKEND_INITIALIZE_ALREADY_INITED ; 22 } 23ggml_backend_reg_t (* ggml_backend_reg_fct )(void )= (ggml_backend_reg_t (* )())ggml_backend_reg_fct_p ; 24 25reg = ggml_backend_reg_fct (); 26if (reg == NULL ) { 27GGML_LOG_ERROR (GGML_VIRTGPU_BCK "%s: backend registration failed\n" ,__func__ ); 28return APIR_BACKEND_INITIALIZE_BACKEND_REG_FAILED ; 29 } 30 31size_t device_count = reg -> iface .get_device_count (reg ); 32if (!device_count ) { 33GGML_LOG_ERROR (GGML_VIRTGPU_BCK "%s: no device found\n" ,__func__ ); 34return APIR_BACKEND_INITIALIZE_NO_DEVICE ; 35 } 36 37dev = reg -> iface .get_device (reg ,0 ); 38 39if (!dev ) { 40GGML_LOG_ERROR (GGML_VIRTGPU_BCK "%s: failed to get device\n" ,__func__ ); 41return APIR_BACKEND_INITIALIZE_NO_DEVICE ; 42 } 43 44bck = dev -> iface .init_backend (dev ,NULL ); 45if (!bck ) { 46GGML_LOG_ERROR (GGML_VIRTGPU_BCK "%s: backend initialization failed\n" ,__func__ ); 47return APIR_BACKEND_INITIALIZE_BACKEND_INIT_FAILED ; 48 } 49 50return APIR_BACKEND_INITIALIZE_SUCCESS ; 51}