mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	 898acba681
			
		
	
	898acba681
	
	
	
		
			
			* rpc : add support for multiple devices Allow rpc-server to expose multiple devices from a single endpoint. Change RPC protocol to include device identifier where needed. closes: #15210 * fixes * use ggml_backend_reg_t * address review comments * fix llama-bench backend report * address review comments, change device naming * fix cmd order
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "ggml.h"
 | |
| #include "ggml-backend.h"
 | |
| 
 | |
| #ifdef  __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #define RPC_PROTO_MAJOR_VERSION    3
 | |
| #define RPC_PROTO_MINOR_VERSION    0
 | |
| #define RPC_PROTO_PATCH_VERSION    0
 | |
| #define GGML_RPC_MAX_SERVERS       16
 | |
| 
 | |
| // backend API
 | |
| GGML_BACKEND_API ggml_backend_t ggml_backend_rpc_init(const char * endpoint, uint32_t device);
 | |
| GGML_BACKEND_API bool ggml_backend_is_rpc(ggml_backend_t backend);
 | |
| 
 | |
| GGML_BACKEND_API ggml_backend_buffer_type_t ggml_backend_rpc_buffer_type(const char * endpoint, uint32_t device);
 | |
| 
 | |
| GGML_BACKEND_API void ggml_backend_rpc_get_device_memory(const char * endpoint, uint32_t device, size_t * free, size_t * total);
 | |
| 
 | |
| GGML_BACKEND_API void ggml_backend_rpc_start_server(const char * endpoint, const char * cache_dir,
 | |
|                                                     size_t n_threads, size_t n_devices,
 | |
|                                                     ggml_backend_dev_t * devices, size_t * free_mem, size_t * total_mem);
 | |
| 
 | |
| GGML_BACKEND_API ggml_backend_reg_t ggml_backend_rpc_reg(void);
 | |
| GGML_BACKEND_API ggml_backend_reg_t ggml_backend_rpc_add_server(const char * endpoint);
 | |
| 
 | |
| #ifdef  __cplusplus
 | |
| }
 | |
| #endif
 |