diff --git a/src/runtime/metal/metal_device_api.mm b/src/runtime/metal/metal_device_api.mm index c0fe0b76a04e..f7c2976d2240 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. +#if defined(__x86_64__) *rv = 1; +#elif defined(__aarch64__) + *rv = 32; +#else + LOG(WARNING) << "The CPU architecture is neither x86 nor aarch64. Fallback to warp size 1."; + *rv = 1; +#endif break; } case kMaxSharedMemoryPerBlock: