@@ -246,21 +246,21 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo
246
246
| [ OpenCL] ( docs/backend/OPENCL.md ) | Adreno GPU |
247
247
248
248
## Software architecture
249
-
250
249
``` mermaid
251
250
block-beta
252
251
columns 1
253
252
254
253
block:llamacpp
255
- llamacpp["llama_cpp"]
256
- style llamacpp fill:#3c3,color:#000,stroke:#000
254
+ llamacpp["llama_cpp"]
255
+ style llamacpp fill:#3c3,color:#000,stroke:#000
257
256
end
258
257
259
- block:ggml
260
- ggml ["GGML"]
261
- style ggml fill:#3c3,color:#000,stroke:#000
258
+ block:ggml_backend
259
+ ggml_backend ["GGML backend subsystem "]
260
+ style ggml_backend fill:#3c3,color:#000,stroke:#000
262
261
263
- ggml_cpu["ggml-cpu"]
262
+ block:ggmlbackends
263
+ ggml_cpu["ggml-cpu"]
264
264
ggml_metal["ggml-metal"]
265
265
ggml_sycl["ggml-sycl"]
266
266
ggml_cuda["ggml-cuda"]
@@ -272,25 +272,43 @@ block:ggml
272
272
ggml_nnpa["ggml-nnpa"]
273
273
ggml_ane["ggml-ane"]
274
274
275
- style ggml_cpu fill:#888,color:#000,stroke:#000
276
- style ggml_metal fill:#888,color:#000,stroke:#000
277
- style ggml_sycl fill:#888,color:#000,stroke:#000
278
- style ggml_cuda fill:#888,color:#000,stroke:#000
279
- style ggml_hip fill:#888,color:#000,stroke:#000
280
- style ggml_vulkan fill:#888,color:#000,stroke:#000
281
- style ggml_cann fill:#888,color:#000,stroke:#000
275
+ style ggml_cpu fill:#888,color:#000,stroke:#000
276
+ style ggml_metal fill:#888,color:#000,stroke:#000
277
+ style ggml_sycl fill:#888,color:#000,stroke:#000
278
+ style ggml_cuda fill:#888,color:#000,stroke:#000
279
+ style ggml_hip fill:#888,color:#000,stroke:#000
280
+ style ggml_vulkan fill:#888,color:#000,stroke:#000
281
+ style ggml_cann fill:#888,color:#000,stroke:#000
282
282
283
283
style ggml_opencl fill:#cc3,color:#000,stroke:#000
284
284
style ggml_qnn fill:#cc3,color:#000,stroke:#000
285
285
style ggml_ane fill:#fff,color:#000,stroke:#f00,stroke-width:2,stroke-dasharray:5
286
286
style ggml_nnpa fill:#cc3,color:#000,stroke:#000
287
+ end
287
288
end
288
289
289
290
block:ggml_pal
290
- ggml_pal["GGML Platform Abstraction Layer"]
291
- style ggml_pal fill:#c33,color:#000,stroke:#000
291
+ ggml_pal["Platform Abstraction Layer"]
292
+ style ggml_pal fill:#c33,color:#000,stroke:#000
292
293
end
293
294
295
+ block:ggml_backendsubsystem
296
+ ggml_backendsubsystem["GGML backend subsystem"]
297
+ style ggml_backendsubsystem fill:#3c3,color:#000,stroke:#000
298
+ end
299
+
300
+ block:group1:2
301
+ columns 2
302
+ block:ggml_tensor
303
+ ggml_tensor["GGML tensor"]
304
+ style ggml_tensor fill:#3c3,color:#000,stroke:#000
305
+ end
306
+
307
+ block:ggml_cgraph
308
+ ggml_cgraph["GGML cgraph"]
309
+ style ggml_cgraph fill:#3c3,color:#000,stroke:#000
310
+ end
311
+ end
294
312
295
313
block:OS
296
314
Windows
@@ -345,11 +363,12 @@ flowchart LR
345
363
classDef TODO fill:#c33,color:#000,stroke:#000
346
364
classDef NEW fill:#fff,color:#000,stroke:#f00,stroke-width:2,stroke-dasharray:5
347
365
subgraph Legend
348
- direction LR
366
+ direction LR
349
367
EXIST:::EXIST ~~~ TODO:::TODO ~~~ WIP:::WIP ~~~ DONE:::DONE ~~~ NEW:::NEW
350
368
end
351
369
```
352
370
371
+
353
372
## Building the project
354
373
355
374
The main product of this project is the ` llama ` library. Its C-style interface can be found in [ include/llama.h] ( include/llama.h ) .
0 commit comments