char-fork/llama.cpp

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

Kevin Pougetggml-virtgpu: make the code thread safe (#19204)015deb904

char/aliceai-t5-moe
4.3 KiB166 linesraw
1# YAML schema for GGML remoting API functions
2# This defines the structure for generating the remoting layer code
3
4# Configuration for the generated files
5config:
6  # Base path for the generated files
7  base_path: "ggml/src"
8
9  # Header files to update
10  files:
11    apir_backend_header: "ggml-virtgpu-apir/backend/shared/apir_backend.gen.h"
12    backend_dispatched_header: "ggml-virtgpu-apir/backend/backend-dispatched.gen.h"
13    virtgpu_forward_header: "ggml-virtgpu-apir/virtgpu-forward.gen.h"
14
15# Simplified function definitions with grouping and metadata combined
16functions:
17  device:
18    group_description: "device"
19    functions:
20      get_device_count:
21        # No specific metadata - uses default void return and base params
22
23      get_count:
24        frontend_return: "int"
25
26      get_name:
27        frontend_return: "char *"
28
29      get_description:
30        frontend_return: "char *"
31
32      get_type:
33        frontend_return: "uint32_t"
34
35      get_memory:
36        frontend_return: "void"
37        frontend_extra_params:
38        - "size_t *free"
39        - "size_t *total"
40
41      supports_op:
42        frontend_return: "bool"
43        frontend_extra_params:
44        - "const ggml_tensor *op"
45
46      get_buffer_type:
47        frontend_return: "apir_buffer_type_host_handle_t"
48
49      get_props:
50        frontend_return: "void"
51        frontend_extra_params:
52        - "bool *async"
53        - "bool *host_buffer"
54        - "bool *buffer_from_host_ptr"
55        - "bool *events"
56
57      buffer_from_ptr:
58        frontend_return: "apir_buffer_context_t"
59        frontend_extra_params:
60        - "size_t size"
61        - "size_t max_tensor_size"
62
63  buffer_type:
64    group_description: "buffer-type"
65    functions:
66      get_name:
67        frontend_return: "char *"
68        frontend_extra_params:
69        - "apir_buffer_type_host_handle_t host_handle"
70
71      get_alignment:
72        frontend_return: "size_t"
73        frontend_extra_params:
74        - "apir_buffer_type_host_handle_t host_handle"
75
76      get_max_size:
77        frontend_return: "size_t"
78        frontend_extra_params:
79        - "apir_buffer_type_host_handle_t host_handle"
80
81      is_host:
82        deprecated: true
83
84      alloc_buffer:
85        frontend_return: "apir_buffer_context_t"
86        frontend_extra_params:
87        - "apir_buffer_type_host_handle_t host_handle"
88        - "size_t size"
89
90      get_alloc_size:
91        frontend_return: "size_t"
92        frontend_extra_params:
93        - "apir_buffer_type_host_handle_t host_handle"
94        - "const ggml_tensor *op"
95
96  buffer:
97    group_description: "buffer"
98    functions:
99      get_base:
100        frontend_return: "void *"
101        frontend_extra_params:
102        - "apir_buffer_context_t *buffer_context"
103
104      set_tensor:
105        frontend_return: "void"
106        frontend_extra_params:
107        - "apir_buffer_context_t *buffer_context"
108        - "ggml_tensor *tensor"
109        - "const void *data"
110        - "size_t offset"
111        - "size_t size"
112
113      get_tensor:
114        frontend_return: "void"
115        frontend_extra_params:
116        - "apir_buffer_context_t *buffer_context"
117        - "const ggml_tensor *tensor"
118        - "void *data"
119        - "size_t offset"
120        - "size_t size"
121
122      cpy_tensor:
123        frontend_return: "bool"
124        frontend_extra_params:
125        - "apir_buffer_context_t *buffer_context"
126        - "const ggml_tensor *src"
127        - "const ggml_tensor *dst"
128
129      clear:
130        frontend_return: "void"
131        frontend_extra_params:
132        - "apir_buffer_context_t *buffer_context"
133        - "uint8_t value"
134
135      free_buffer:
136        frontend_return: "void"
137        frontend_extra_params:
138        - "apir_buffer_context_t *buffer_context"
139
140  backend:
141    group_description: "backend"
142    functions:
143      graph_compute:
144        frontend_return: "ggml_status"
145        frontend_extra_params:
146        - "ggml_cgraph *cgraph"
147
148      graph_optimize:
149        frontend_return: "ggml_cgraph *"
150        frontend_extra_params:
151        - "ggml_cgraph *cgraph"
152        enabled: false
153
154# Naming patterns used for code generation
155naming_patterns:
156  # How to generate enum names
157  enum_prefix: "APIR_COMMAND_TYPE_"
158
159  # How to generate backend function names
160  backend_function_prefix: "backend_"
161
162  # How to generate frontend function names
163  frontend_function_prefix: "apir_"
164
165  # Standard frontend first parameter
166  frontend_base_param: "struct virtgpu *gpu"