char-fork/llama.cpp

git clone https://git.t4t.associates/char-fork/llama.cpp

Ruben Ortlamllama: add default load-mode auto, which avoids mmap on iGPUs (#26081)153d324bc

char/aliceai-t5-moe
3.2 KiB95 linesraw
1#pragma once
2
3/* the rest of this file must match virglrenderer/src/apir-protocol.h */
4
5#include <unistd.h>
6
7#include <cstdint>
8
9#define APIR_PROTOCOL_MAJOR 0
10#define APIR_PROTOCOL_MINOR 2
11
12#define APIR_HANDSHAKE_MAGIC 0xab1e
13
14enum ApirCommandType {
15    APIR_COMMAND_TYPE_HANDSHAKE   = 0,
16    APIR_COMMAND_TYPE_LOADLIBRARY = 1,
17    APIR_COMMAND_TYPE_FORWARD     = 2,
18
19    APIR_COMMAND_TYPE_LENGTH = 3,
20};
21
22typedef uint64_t ApirCommandFlags;
23
24enum ApirLoadLibraryReturnCode {
25    APIR_LOAD_LIBRARY_SUCCESS                        = 0,
26    // these error codes are returned by the Virglrenderer APIR component
27    APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR = 1,
28    APIR_LOAD_LIBRARY_ALREADY_LOADED                 = 2,
29    APIR_LOAD_LIBRARY_ENV_VAR_MISSING                = 3,
30    APIR_LOAD_LIBRARY_CANNOT_OPEN                    = 4,
31    APIR_LOAD_LIBRARY_SYMBOL_MISSING                 = 5,
32    // any value greater than this is an APIR *backend library* initialization return code
33    APIR_LOAD_LIBRARY_INIT_BASE_INDEX                = 6,
34};
35
36enum ApirForwardReturnCode {
37    APIR_FORWARD_SUCCESS                = 0,
38    // these error codes are returned by the Virglrenderer APIR component
39    APIR_FORWARD_NO_DISPATCH_FCT        = 1,
40    APIR_FORWARD_TIMEOUT                = 2,
41    APIR_FORWARD_FAILED_TO_SYNC_STREAMS = 3,
42    // any value greater than this index an APIR *backend library* forward return code
43    APIR_FORWARD_BASE_INDEX             = 4,
44};
45
46__attribute__((unused)) static inline const char * apir_command_name(ApirCommandType type) {
47    switch (type) {
48        case APIR_COMMAND_TYPE_HANDSHAKE:
49            return "HandShake";
50        case APIR_COMMAND_TYPE_LOADLIBRARY:
51            return "LoadLibrary";
52        case APIR_COMMAND_TYPE_FORWARD:
53            return "Forward";
54        default:
55            return "unknown";
56    }
57}
58
59__attribute__((unused)) static const char * apir_load_library_error(ApirLoadLibraryReturnCode code) {
60#define APIR_LOAD_LIBRARY_ERROR(code_name) \
61    do {                                   \
62        if (code == code_name)             \
63            return #code_name;             \
64    } while (0)
65
66    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_SUCCESS);
67    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR);
68    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_ALREADY_LOADED);
69    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_ENV_VAR_MISSING);
70    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_CANNOT_OPEN);
71    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_SYMBOL_MISSING);
72    APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_INIT_BASE_INDEX);
73
74    return "Unknown APIR_COMMAND_TYPE_LoadLibrary error";
75
76#undef APIR_LOAD_LIBRARY_ERROR
77}
78
79__attribute__((unused)) static const char * apir_forward_error(ApirForwardReturnCode code) {
80#define APIR_FORWARD_ERROR(code_name) \
81    do {                              \
82        if (code == code_name)        \
83            return #code_name;        \
84    } while (0)
85
86    APIR_FORWARD_ERROR(APIR_FORWARD_SUCCESS);
87    APIR_FORWARD_ERROR(APIR_FORWARD_NO_DISPATCH_FCT);
88    APIR_FORWARD_ERROR(APIR_FORWARD_TIMEOUT);
89    APIR_FORWARD_ERROR(APIR_FORWARD_FAILED_TO_SYNC_STREAMS);
90    APIR_FORWARD_ERROR(APIR_FORWARD_BASE_INDEX);
91
92    return "Unknown APIR_COMMAND_TYPE_FORWARD error";
93
94#undef APIR_FORWARD_ERROR
95}