Skip to content

Commit

Permalink
metal : fix compute pass descriptor autorelease crash (#9718)
Browse files Browse the repository at this point in the history
  • Loading branch information
jmousseau authored Oct 3, 2024
1 parent a7ad553 commit 5d5ab1e
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions ggml/src/ggml-metal.m
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,6 @@
id<MTLDevice> device;
id<MTLCommandQueue> queue;

MTLComputePassDescriptor * edesc;

dispatch_queue_t d_queue;

struct ggml_metal_kernel kernels[GGML_METAL_KERNEL_TYPE_COUNT];
Expand Down Expand Up @@ -304,8 +302,6 @@ @implementation GGMLMetalClass
struct ggml_backend_metal_context * ctx = calloc(1, sizeof(struct ggml_backend_metal_context));
ctx->device = device;
ctx->queue = [ctx->device newCommandQueue];
ctx->edesc = MTLComputePassDescriptor.computePassDescriptor;
ctx->edesc.dispatchType = MTLDispatchTypeSerial;
ctx->d_queue = dispatch_queue_create("ggml-metal", DISPATCH_QUEUE_CONCURRENT);

id<MTLLibrary> metal_library;
Expand Down Expand Up @@ -3016,7 +3012,7 @@ static enum ggml_status ggml_metal_graph_compute(
const int n_nodes_per_cb = ctx->n_nodes_per_cb;

id<MTLCommandBuffer> command_buffer = ctx->command_buffers[cb_idx];
id<MTLComputeCommandEncoder> encoder = [command_buffer computeCommandEncoderWithDescriptor: ctx->edesc];
id<MTLComputeCommandEncoder> encoder = [command_buffer computeCommandEncoder];

int node_start = 0;
int node_end = n_nodes_0;
Expand Down

0 comments on commit 5d5ab1e

Please sign in to comment.