Skip to content

Commit

Permalink
[auto_scheduler] metal default hardware params (apache#7022)
Browse files Browse the repository at this point in the history
  • Loading branch information
antinucleon authored Dec 3, 2020
1 parent 3afde62 commit 965a67e
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/auto_scheduler/search_task.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 965a67e

Please sign in to comment.