These function attributes are supported by the AMD GCN back end:
amdgpu_hsa_kernelThis attribute is implicitly applied to any function named main, using
default parameters.
Kernel functions may return an integer value, which will be written to a conventional place within the HSA "kernargs" region.
The attribute parameters configure what values are passed into the kernel function by the GPU drivers, via the initial register state. Some values are used by the compiler, and therefore forced on. Enabling other options may break assumptions in the compiler and/or run-time libraries.
private_segment_bufferenable_sgpr_private_segment_buffer flag. Always on (required to
locate the stack).
dispatch_ptrenable_sgpr_dispatch_ptr flag. Always on (required to locate the
launch dimensions).
queue_ptrenable_sgpr_queue_ptr flag. Always on (required to convert address
spaces).
kernarg_segment_ptrenable_sgpr_kernarg_segment_ptr flag. Always on (required to
locate the kernel arguments, "kernargs").
dispatch_idenable_sgpr_dispatch_id flag.
flat_scratch_initenable_sgpr_flat_scratch_init flag.
private_segment_sizeenable_sgpr_private_segment_size flag.
grid_workgroup_count_Xenable_sgpr_grid_workgroup_count_x flag. Always on (required to
use OpenACC/OpenMP).
grid_workgroup_count_Yenable_sgpr_grid_workgroup_count_y flag.
grid_workgroup_count_Zenable_sgpr_grid_workgroup_count_z flag.
workgroup_id_Xenable_sgpr_workgroup_id_x flag.
workgroup_id_Yenable_sgpr_workgroup_id_y flag.
workgroup_id_Zenable_sgpr_workgroup_id_z flag.
workgroup_infoenable_sgpr_workgroup_info flag.
private_segment_wave_offsetenable_sgpr_private_segment_wave_byte_offset flag. Always on
(required to locate the stack).
work_item_id_Xenable_vgpr_workitem_id parameter. Always on (can't be disabled).
work_item_id_Yenable_vgpr_workitem_id parameter. Always on (required to enable
vectorization.)
work_item_id_Zenable_vgpr_workitem_id parameter. Always on (required to use
OpenACC/OpenMP).