Skip to content

Commit

Permalink
metal : fix memory leak, dangling pointer and unused autorel (ggergan…
Browse files Browse the repository at this point in the history
…ov#5007)

* Metal memory: Small memory leak on init, dangling pointer, and unused autorelease pool in graph compute

* SPM header potential fix

* Reverting symlinks
  • Loading branch information
ptsochantaris authored and hodlen committed Apr 1, 2024
1 parent fda6b90 commit a876ccb
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions ggml-metal.m
Original file line number Diff line number Diff line change
Expand Up @@ -238,21 +238,19 @@ static void ggml_metal_log(enum ggml_log_level level, const char * format, ...){
static struct ggml_metal_context * ggml_metal_init(int n_cb) {
GGML_METAL_LOG_INFO("%s: allocating\n", __func__);

id<MTLDevice> device;
NSString * s;

#if TARGET_OS_OSX
#if TARGET_OS_OSX && !GGML_METAL_NDEBUG
// Show all the Metal device instances in the system
NSArray * devices = MTLCopyAllDevices();
for (device in devices) {
s = [device name];
for (id<MTLDevice> device in devices) {
NSString * s = [device name];
GGML_METAL_LOG_INFO("%s: found device: %s\n", __func__, [s UTF8String]);
}
[devices release]; // since it was created by a *Copy* C method
#endif

// Pick and show default Metal device
device = MTLCreateSystemDefaultDevice();
s = [device name];
id<MTLDevice> device = MTLCreateSystemDefaultDevice();
NSString * s = [device name];
GGML_METAL_LOG_INFO("%s: picking default device: %s\n", __func__, [s UTF8String]);

// Configure context
Expand Down Expand Up @@ -712,7 +710,6 @@ static bool ggml_metal_supports_op(const struct ggml_metal_context * ctx, const
static bool ggml_metal_graph_compute(
struct ggml_metal_context * ctx,
struct ggml_cgraph * gf) {
@autoreleasepool {

MTLComputePassDescriptor * edesc = MTLComputePassDescriptor.computePassDescriptor;
edesc.dispatchType = MTLDispatchTypeSerial;
Expand Down Expand Up @@ -2255,7 +2252,6 @@ static bool ggml_metal_graph_compute(
}

return true;
}
}

////////////////////////////////////////////////////////////////////////////////
Expand Down

0 comments on commit a876ccb

Please sign in to comment.