Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 2 additions & 36 deletions ggml-metal.m
Original file line number Diff line number Diff line change
Expand Up @@ -2780,42 +2780,8 @@ static enum ggml_status ggml_metal_graph_compute(
if (status != MTLCommandBufferStatusCompleted) {
GGML_METAL_LOG_INFO("%s: command buffer %d failed with status %lu\n", __func__, i, status);
if (status == MTLCommandBufferStatusError) {
MTLCommandBufferError error_code = [command_buffer error].code;
switch (error_code) {
case MTLCommandBufferErrorNone:
GGML_METAL_LOG_INFO("no error code reported\n");
break;
case MTLCommandBufferErrorTimeout:
GGML_METAL_LOG_INFO("timeout\n");
break;
case MTLCommandBufferErrorPageFault:
GGML_METAL_LOG_INFO("unserviceable page fault\n");
break;
case MTLCommandBufferErrorOutOfMemory:
GGML_METAL_LOG_INFO("out of memory\n");
break;
case MTLCommandBufferErrorInvalidResource:
GGML_METAL_LOG_INFO("invalid reference to resource\n");
break;
case MTLCommandBufferErrorMemoryless:
GGML_METAL_LOG_INFO("GPU ran out of one or more of its internal resources that support memoryless render pass attachments\n");
break;
//case MTLCommandBufferErrorDeviceRemoved:
// GGML_METAL_LOG_INFO("device removed\n");
// break;
case MTLCommandBufferErrorStackOverflow:
GGML_METAL_LOG_INFO("kernel function of tile shader used too many stack frames\n");
break;
case MTLCommandBufferErrorAccessRevoked:
GGML_METAL_LOG_INFO("access to device revoked by system\n");
break;
case MTLCommandBufferErrorInternal:
GGML_METAL_LOG_INFO("internal error\n");
break;
default:
GGML_METAL_LOG_INFO("unknown error %lu\n", error_code);
break;
}
NSString * error_code = [command_buffer error].localizedDescription;
GGML_METAL_LOG_INFO("error: %s\n", [error_code UTF8String]);
}

return GGML_STATUS_FAILED;
Expand Down