metal : create autorelease pool during library build (llama/4970)

* metal : create autorelease pool during library build

ggml-ci

* test : simplify

ggml-ci
pull/1785/head
Georgi Gerganov 2024-01-17 18:38:39 +02:00
parent 01637e1a4c
commit 2fe5fbfcc2
No known key found for this signature in database
GPG Key ID: 449E073F9DC10735
1 changed files with 9 additions and 10 deletions

View File

@ -306,22 +306,21 @@ static struct ggml_metal_context * ggml_metal_init(int n_cb) {
return NULL; return NULL;
} }
// dictionary of preprocessor macros @autoreleasepool {
NSMutableDictionary * prep = [NSMutableDictionary dictionary]; // dictionary of preprocessor macros
NSMutableDictionary * prep = [NSMutableDictionary dictionary];
#ifdef GGML_QKK_64 #ifdef GGML_QKK_64
prep[@"QK_K"] = @(64); prep[@"QK_K"] = @(64);
#endif #endif
MTLCompileOptions* options = [MTLCompileOptions new]; MTLCompileOptions* options = [MTLCompileOptions new];
options.preprocessorMacros = prep; options.preprocessorMacros = prep;
//[options setFastMathEnabled:false]; //[options setFastMathEnabled:false];
ctx->library = [ctx->device newLibraryWithSource:src options:options error:&error]; ctx->library = [ctx->device newLibraryWithSource:src options:options error:&error];
}
[options release];
[prep release];
} }
if (error) { if (error) {