mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-03 09:22:01 +00:00 
			
		
		
		
	ggml : add support for dynamic loading of backends (#10469)
* ggml : add support for dynamic loading of backends --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
This commit is contained in:
		@@ -16,12 +16,10 @@ endif()
 | 
			
		||||
message(STATUS "SYCL found")
 | 
			
		||||
#todo: AOT
 | 
			
		||||
 | 
			
		||||
add_library(ggml-sycl
 | 
			
		||||
            ggml-sycl.cpp
 | 
			
		||||
            ../../include/ggml-sycl.h)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(ggml-sycl PRIVATE ggml-base)
 | 
			
		||||
target_include_directories(ggml-sycl PRIVATE . ..)
 | 
			
		||||
ggml_add_backend_library(ggml-sycl
 | 
			
		||||
                         ggml-sycl.cpp
 | 
			
		||||
                         ../../include/ggml-sycl.h
 | 
			
		||||
                        )
 | 
			
		||||
 | 
			
		||||
if (GGML_SYCL_F16)
 | 
			
		||||
    if (GGML_SYCL_TARGET STREQUAL "AMD")
 | 
			
		||||
 
 | 
			
		||||
@@ -4637,16 +4637,17 @@ ggml_backend_reg_t ggml_backend_sycl_reg() {
 | 
			
		||||
                dev_ctx->description = prop.get_name();
 | 
			
		||||
 | 
			
		||||
                ggml_backend_dev_t dev = new ggml_backend_device {
 | 
			
		||||
                    /* .interface = */ ggml_backend_sycl_device_interface,
 | 
			
		||||
                    /* .reg       = */ ®,
 | 
			
		||||
                    /* .context   = */ dev_ctx
 | 
			
		||||
                    /* .iface       = */ ggml_backend_sycl_device_interface,
 | 
			
		||||
                    /* .reg         = */ ®,
 | 
			
		||||
                    /* .context     = */ dev_ctx
 | 
			
		||||
                };
 | 
			
		||||
                ctx->devices.push_back(dev);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            reg = ggml_backend_reg {
 | 
			
		||||
                /* .interface = */ ggml_backend_sycl_reg_interface,
 | 
			
		||||
                /* .context   = */ ctx
 | 
			
		||||
                /* .api_version = */ GGML_BACKEND_API_VERSION,
 | 
			
		||||
                /* .iface       = */ ggml_backend_sycl_reg_interface,
 | 
			
		||||
                /* .context     = */ ctx
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -4678,3 +4679,4 @@ ggml_backend_t ggml_backend_sycl_init(int device) {
 | 
			
		||||
    return sycl_backend;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
GGML_BACKEND_DL_IMPL(ggml_backend_sycl_reg)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user