From 534a8cf146eac00ad68469ced1454b14fe1e781a Mon Sep 17 00:00:00 2001 From: Hongyi Jin Date: Fri, 1 Dec 2023 14:02:16 -0500 Subject: [PATCH 1/3] fix metal warp size --- src/runtime/metal/metal_device_api.mm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/runtime/metal/metal_device_api.mm b/src/runtime/metal/metal_device_api.mm index c0fe0b76a04e..98be18dd1ff5 100644 --- a/src/runtime/metal/metal_device_api.mm +++ b/src/runtime/metal/metal_device_api.mm @@ -55,8 +55,14 @@ break; } case kWarpSize: { - // Set warp size to be 1 for safty reason. +// Set warp size to be 1 for safty reason. +#if defined(__x86_64__) *rv = 1; +#elif defined(__aarch64__) + *rv = 32; +#else + LOG(FATAL) << "Unknown architecture"; +#endif break; } case kMaxSharedMemoryPerBlock: From 124b736cf2f7f3023fa98d23f3a5ddee26a5c997 Mon Sep 17 00:00:00 2001 From: Hongyi Jin Date: Fri, 1 Dec 2023 14:04:59 -0500 Subject: [PATCH 2/3] fix --- src/runtime/metal/metal_device_api.mm | 1 - 1 file changed, 1 deletion(-) diff --git a/src/runtime/metal/metal_device_api.mm b/src/runtime/metal/metal_device_api.mm index 98be18dd1ff5..0052cd2eae4d 100644 --- a/src/runtime/metal/metal_device_api.mm +++ b/src/runtime/metal/metal_device_api.mm @@ -55,7 +55,6 @@ break; } case kWarpSize: { -// Set warp size to be 1 for safty reason. #if defined(__x86_64__) *rv = 1; #elif defined(__aarch64__) From 66a19ce30e34bde12369b74161cf2559791ad242 Mon Sep 17 00:00:00 2001 From: Hongyi Jin Date: Fri, 1 Dec 2023 15:07:47 -0500 Subject: [PATCH 3/3] change fatal to warning --- src/runtime/metal/metal_device_api.mm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/runtime/metal/metal_device_api.mm b/src/runtime/metal/metal_device_api.mm index 0052cd2eae4d..f7c2976d2240 100644 --- a/src/runtime/metal/metal_device_api.mm +++ b/src/runtime/metal/metal_device_api.mm @@ -60,7 +60,8 @@ #elif defined(__aarch64__) *rv = 32; #else - LOG(FATAL) << "Unknown architecture"; + LOG(WARNING) << "The CPU architecture is neither x86 nor aarch64. Fallback to warp size 1."; + *rv = 1; #endif break; }