metal : determine number of command buffers based on gf->n_threads

This commit is contained in:
Georgi Gerganov 2023-06-15 20:26:56 +03:00
parent 69bae5d277
commit ef43a62289
No known key found for this signature in database
GPG key ID: 449E073F9DC10735
2 changed files with 3 additions and 2 deletions

View file

@ -55,6 +55,7 @@ void ggml_metal_set_tensor(struct ggml_metal_context * ctx, struct ggml_tensor *
void ggml_metal_get_tensor(struct ggml_metal_context * ctx, struct ggml_tensor * t);
// same as ggml_graph_compute but uses Metal
// creates gf->n_threads command buffers in parallel
void ggml_metal_graph_compute(struct ggml_metal_context * ctx, struct ggml_cgraph * gf);
#ifdef __cplusplus

View file

@ -290,7 +290,7 @@ void ggml_metal_graph_compute(
// create multiple command buffers and enqueue them
// then, we encode the graph into the command buffers in parallel
const int n_cb = 8;
const int n_cb = gf->n_threads;
NSMutableArray * command_buffers = [NSMutableArray arrayWithCapacity:n_cb];