From 965a67e7a04612806a390b50e2cca1c0a7744900 Mon Sep 17 00:00:00 2001 From: Bing Xu Date: Thu, 3 Dec 2020 06:39:06 -0800 Subject: [PATCH] [auto_scheduler] metal default hardware params (#7022) --- src/auto_scheduler/search_task.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/auto_scheduler/search_task.cc b/src/auto_scheduler/search_task.cc index 0b85a03f0671..bd09a70c0655 100755 --- a/src/auto_scheduler/search_task.cc +++ b/src/auto_scheduler/search_task.cc @@ -71,6 +71,17 @@ HardwareParams HardwareParamsNode::GetDefaultHardwareParams(const Target& target p_hardware_params->max_vthread_extent = p_hardware_params->warp_size / 4; + return hardware_params; + } else if (target->kind->device_type == kDLMetal) { + // Reference: https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf + // This setting looks working for Metal GPUs later than A10 + auto hardware_params = HardwareParams(-1, 16, 64); + auto* p_hardware_params = hardware_params.CopyOnWrite(); + p_hardware_params->max_shared_memory_per_block = 32 * 1024; + p_hardware_params->max_registers_per_block = 4 * 1024; + p_hardware_params->max_threads_per_block = 1024; + p_hardware_params->warp_size = 8; + p_hardware_params->max_vthread_extent = p_hardware_params->warp_size / 4; return hardware_params; } else { LOG(FATAL) << "No default hardware parameters for target: " << target;