6.33.3 Атрибуты функций AMD GCN
Эти атрибуты функций поддерживаются бэкендом AMD GCN:
-
amdgpu_hsa_kernel -
Этот атрибут указывает, что соответствующая функция должна быть скомпилирована как функция ядра, то есть точка входа, которая может быть вызвана из хоста через библиотеку времени выполнения HSA. По умолчанию функции могут вызываться только из других функций GCN.
Этот атрибут неявно применяется к любой функции с именем
main, используя параметры по умолчанию.Функции ядра могут возвращать целочисленное значение, которое будет записано в стандартное место в области HSA «kernargs».
Параметры атрибута настраивают значения, которые передаются в функцию ядра драйверами графического процессора через начальное состояние регистра. Некоторые значения используются компилятором и поэтому навязаны. Включение других параметров может нарушить предположения в компиляторе и/или библиотеках времени выполнения.
private_segment_buffer-
Установить флаг
enable_sgpr_private_segment_buffer. Всегда включено (необходимо для определения стека). dispatch_ptr-
Установить флаг
enable_sgpr_dispatch_ptr. Всегда включено (необходимо для определения размеров запуска). queue_ptr-
Установить флаг
enable_sgpr_queue_ptr. Всегда включено (необходимо для преобразования адресных пространств). kernarg_segment_ptr-
Установить флаг
enable_sgpr_kernarg_segment_ptr. Всегда включено (необходимо для определения аргументов ядра, «kernargs»). dispatch_id-
Установить флаг
enable_sgpr_dispatch_id. flat_scratch_init-
Установить флаг
enable_sgpr_flat_scratch_init. private_segment_size-
Установить флаг
enable_sgpr_private_segment_size. grid_workgroup_count_X-
Установить флаг
enable_sgpr_grid_workgroup_count_x. Всегда включено (необходимо для использования OpenACC/OpenMP). grid_workgroup_count_Y-
Установить флаг
enable_sgpr_grid_workgroup_count_y. grid_workgroup_count_Z-
Установить флаг
enable_sgpr_grid_workgroup_count_z. workgroup_id_X-
Установить флаг
enable_sgpr_workgroup_id_x. workgroup_id_Y-
Установить флаг
enable_sgpr_workgroup_id_y. workgroup_id_Z-
Установить флаг
enable_sgpr_workgroup_id_z. workgroup_info-
Установить флаг
enable_sgpr_workgroup_info. private_segment_wave_offset-
Установить флаг
enable_sgpr_private_segment_wave_byte_offset. Всегда включено (необходимо для определения стека). work_item_id_X-
Установить параметр
enable_vgpr_workitem_id. Всегда включено (не может быть отключено). work_item_id_Y-
Установить параметр
enable_vgpr_workitem_id. Всегда включено (необходимо для включения векторизации). work_item_id_Z-
Установить параметр
enable_vgpr_workitem_id. Всегда включено (необходимо для использования OpenACC/OpenMP).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/AMD-GCN-Function-Attributes.html