rename optimize_graph to graph_optimize (#16082)
This commit is contained in:
parent
38dbdf4c05
commit
c0b45097c3
|
|
@ -116,7 +116,7 @@ extern "C" {
|
||||||
void (*event_wait) (ggml_backend_t backend, ggml_backend_event_t event);
|
void (*event_wait) (ggml_backend_t backend, ggml_backend_event_t event);
|
||||||
|
|
||||||
// (optional) sort/optimize the nodes in the graph
|
// (optional) sort/optimize the nodes in the graph
|
||||||
void (*optimize_graph) (ggml_backend_t backend, struct ggml_cgraph * cgraph);
|
void (*graph_optimize) (ggml_backend_t backend, struct ggml_cgraph * cgraph);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ggml_backend {
|
struct ggml_backend {
|
||||||
|
|
|
||||||
|
|
@ -463,10 +463,10 @@ void ggml_backend_event_wait(ggml_backend_t backend, ggml_backend_event_t event)
|
||||||
backend->iface.event_wait(backend, event);
|
backend->iface.event_wait(backend, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ggml_backend_optimize_graph(ggml_backend_t backend, struct ggml_cgraph * cgraph) {
|
static void ggml_backend_graph_optimize(ggml_backend_t backend, struct ggml_cgraph * cgraph) {
|
||||||
GGML_ASSERT(backend);
|
GGML_ASSERT(backend);
|
||||||
if (backend->iface.optimize_graph != NULL) {
|
if (backend->iface.graph_optimize != NULL) {
|
||||||
backend->iface.optimize_graph(backend, cgraph);
|
backend->iface.graph_optimize(backend, cgraph);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1307,7 +1307,7 @@ void ggml_backend_sched_split_graph(ggml_backend_sched_t sched, struct ggml_cgra
|
||||||
|
|
||||||
// Optimize this split of the graph. This needs to happen before we make graph_copy,
|
// Optimize this split of the graph. This needs to happen before we make graph_copy,
|
||||||
// so they are in sync.
|
// so they are in sync.
|
||||||
ggml_backend_optimize_graph(sched->backends[split->backend_id], &split->graph);
|
ggml_backend_graph_optimize(sched->backends[split->backend_id], &split->graph);
|
||||||
|
|
||||||
// add inputs to the graph copy so that they are allocated by ggml-alloc at the start of the split
|
// add inputs to the graph copy so that they are allocated by ggml-alloc at the start of the split
|
||||||
for (int j = 0; j < split->n_inputs; j++) {
|
for (int j = 0; j < split->n_inputs; j++) {
|
||||||
|
|
|
||||||
|
|
@ -270,7 +270,7 @@ static struct ggml_backend_i blas_backend_i = {
|
||||||
/* .graph_compute = */ ggml_backend_blas_graph_compute,
|
/* .graph_compute = */ ggml_backend_blas_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_blas_guid(void) {
|
static ggml_guid_t ggml_backend_blas_guid(void) {
|
||||||
|
|
|
||||||
|
|
@ -2756,7 +2756,7 @@ static const ggml_backend_i ggml_backend_cann_interface = {
|
||||||
/* .graph_compute = */ ggml_backend_cann_graph_compute,
|
/* .graph_compute = */ ggml_backend_cann_graph_compute,
|
||||||
/* .event_record = */ ggml_backend_cann_event_record,
|
/* .event_record = */ ggml_backend_cann_event_record,
|
||||||
/* .event_wait = */ ggml_backend_cann_event_wait,
|
/* .event_wait = */ ggml_backend_cann_event_wait,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,7 @@ static const struct ggml_backend_i ggml_backend_cpu_i = {
|
||||||
/* .graph_compute = */ ggml_backend_cpu_graph_compute,
|
/* .graph_compute = */ ggml_backend_cpu_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_cpu_guid(void) {
|
static ggml_guid_t ggml_backend_cpu_guid(void) {
|
||||||
|
|
|
||||||
|
|
@ -3140,7 +3140,7 @@ static const ggml_backend_i ggml_backend_cuda_interface = {
|
||||||
/* .graph_compute = */ ggml_backend_cuda_graph_compute,
|
/* .graph_compute = */ ggml_backend_cuda_graph_compute,
|
||||||
/* .event_record = */ ggml_backend_cuda_event_record,
|
/* .event_record = */ ggml_backend_cuda_event_record,
|
||||||
/* .event_wait = */ ggml_backend_cuda_event_wait,
|
/* .event_wait = */ ggml_backend_cuda_event_wait,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_cuda_guid() {
|
static ggml_guid_t ggml_backend_cuda_guid() {
|
||||||
|
|
|
||||||
|
|
@ -447,7 +447,7 @@ static ggml_backend_i ggml_backend_metal_i = {
|
||||||
// https://developer.apple.com/documentation/metal/mtlcommandbuffer#Synchronizing-Passes-with-Events
|
// https://developer.apple.com/documentation/metal/mtlcommandbuffer#Synchronizing-Passes-with-Events
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ ggml_backend_metal_graph_optimize,
|
/* .graph_optimize = */ ggml_backend_metal_graph_optimize,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_metal_guid(void) {
|
static ggml_guid_t ggml_backend_metal_guid(void) {
|
||||||
|
|
|
||||||
|
|
@ -2838,7 +2838,7 @@ static ggml_backend_i ggml_backend_opencl_i = {
|
||||||
/* .graph_compute = */ ggml_backend_opencl_graph_compute,
|
/* .graph_compute = */ ggml_backend_opencl_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
ggml_backend_t ggml_backend_opencl_init(void) {
|
ggml_backend_t ggml_backend_opencl_init(void) {
|
||||||
|
|
|
||||||
|
|
@ -795,7 +795,7 @@ static ggml_backend_i ggml_backend_rpc_interface = {
|
||||||
/* .graph_compute = */ ggml_backend_rpc_graph_compute,
|
/* .graph_compute = */ ggml_backend_rpc_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
ggml_backend_buffer_type_t ggml_backend_rpc_buffer_type(const char * endpoint) {
|
ggml_backend_buffer_type_t ggml_backend_rpc_buffer_type(const char * endpoint) {
|
||||||
|
|
|
||||||
|
|
@ -4073,7 +4073,7 @@ static ggml_backend_i ggml_backend_sycl_interface = {
|
||||||
/* .graph_compute = */ ggml_backend_sycl_graph_compute,
|
/* .graph_compute = */ ggml_backend_sycl_graph_compute,
|
||||||
/* .event_record = */ ggml_backend_sycl_event_record,
|
/* .event_record = */ ggml_backend_sycl_event_record,
|
||||||
/* .event_wait = */ ggml_backend_sycl_event_wait,
|
/* .event_wait = */ ggml_backend_sycl_event_wait,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_sycl_guid() {
|
static ggml_guid_t ggml_backend_sycl_guid() {
|
||||||
|
|
|
||||||
|
|
@ -593,7 +593,7 @@ struct vk_device_struct {
|
||||||
bool disable_fusion;
|
bool disable_fusion;
|
||||||
bool disable_host_visible_vidmem;
|
bool disable_host_visible_vidmem;
|
||||||
bool allow_sysmem_fallback;
|
bool allow_sysmem_fallback;
|
||||||
bool disable_optimize_graph;
|
bool disable_graph_optimize;
|
||||||
|
|
||||||
#ifdef GGML_VULKAN_MEMORY_DEBUG
|
#ifdef GGML_VULKAN_MEMORY_DEBUG
|
||||||
std::unique_ptr<vk_memory_logger> memory_logger;
|
std::unique_ptr<vk_memory_logger> memory_logger;
|
||||||
|
|
@ -3624,8 +3624,8 @@ static vk_device ggml_vk_get_device(size_t idx) {
|
||||||
const char* GGML_VK_ALLOW_SYSMEM_FALLBACK = getenv("GGML_VK_ALLOW_SYSMEM_FALLBACK");
|
const char* GGML_VK_ALLOW_SYSMEM_FALLBACK = getenv("GGML_VK_ALLOW_SYSMEM_FALLBACK");
|
||||||
device->allow_sysmem_fallback = GGML_VK_ALLOW_SYSMEM_FALLBACK != nullptr;
|
device->allow_sysmem_fallback = GGML_VK_ALLOW_SYSMEM_FALLBACK != nullptr;
|
||||||
|
|
||||||
const char* GGML_VK_DISABLE_OPTIMIZE_GRAPH = getenv("GGML_VK_DISABLE_OPTIMIZE_GRAPH");
|
const char* GGML_VK_DISABLE_GRAPH_OPTIMIZE = getenv("GGML_VK_DISABLE_GRAPH_OPTIMIZE");
|
||||||
device->disable_optimize_graph = GGML_VK_DISABLE_OPTIMIZE_GRAPH != nullptr;
|
device->disable_graph_optimize = GGML_VK_DISABLE_GRAPH_OPTIMIZE != nullptr;
|
||||||
|
|
||||||
bool fp16_storage = false;
|
bool fp16_storage = false;
|
||||||
bool fp16_compute = false;
|
bool fp16_compute = false;
|
||||||
|
|
@ -11914,12 +11914,12 @@ static ggml_status ggml_backend_vk_graph_compute(ggml_backend_t backend, ggml_cg
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort the graph for improved parallelism.
|
// Sort the graph for improved parallelism.
|
||||||
static void ggml_vk_optimize_graph(ggml_backend_t backend, struct ggml_cgraph * graph)
|
static void ggml_vk_graph_optimize(ggml_backend_t backend, struct ggml_cgraph * graph)
|
||||||
{
|
{
|
||||||
VK_LOG_DEBUG("ggml_vk_optimize_graph(" << graph->n_nodes << " nodes)");
|
VK_LOG_DEBUG("ggml_vk_graph_optimize(" << graph->n_nodes << " nodes)");
|
||||||
ggml_backend_vk_context * ctx = (ggml_backend_vk_context *)backend->context;
|
ggml_backend_vk_context * ctx = (ggml_backend_vk_context *)backend->context;
|
||||||
|
|
||||||
if (ctx->device->disable_optimize_graph) {
|
if (ctx->device->disable_graph_optimize) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -12053,7 +12053,7 @@ static ggml_backend_i ggml_backend_vk_interface = {
|
||||||
/* .graph_compute = */ ggml_backend_vk_graph_compute,
|
/* .graph_compute = */ ggml_backend_vk_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ ggml_vk_optimize_graph,
|
/* .graph_optimize = */ ggml_vk_graph_optimize,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_vk_guid() {
|
static ggml_guid_t ggml_backend_vk_guid() {
|
||||||
|
|
|
||||||
|
|
@ -823,7 +823,7 @@ static ggml_backend_i ggml_backend_webgpu_i = {
|
||||||
/* .graph_compute = */ ggml_backend_webgpu_graph_compute,
|
/* .graph_compute = */ ggml_backend_webgpu_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* End GGML Backend Interface */
|
/* End GGML Backend Interface */
|
||||||
|
|
|
||||||
|
|
@ -574,7 +574,7 @@ static ggml_backend_i ggml_backend_zdnn_i = {
|
||||||
/* .graph_compute = */ ggml_backend_zdnn_graph_compute,
|
/* .graph_compute = */ ggml_backend_zdnn_graph_compute,
|
||||||
/* .event_record = */ NULL,
|
/* .event_record = */ NULL,
|
||||||
/* .event_wait = */ NULL,
|
/* .event_wait = */ NULL,
|
||||||
/* .optimize_graph = */ NULL,
|
/* .graph_optimize = */ NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static ggml_guid_t ggml_backend_zdnn_guid(void) {
|
static ggml_guid_t ggml_backend_zdnn_guid(void) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue