6.33.3 Атрибуты функций AMD GCN ¶
Эти атрибуты функций поддерживаются бэкэндом AMD GCN:
amdgpu_hsa_kernel-
Этот атрибут указывает, что соответствующая функция должна быть скомпилирована как функция ядра, то есть точка входа, которая может быть вызвана из хоста через библиотеку HSA Runtime. По умолчанию функции могут вызываться только из других функций GCN.
Этот атрибут неявно применяется к любой функции с именем
main, используя параметры по умолчанию.Функции ядра могут возвращать целое значение, которое будет записано в стандартное место в области HSA "kernargs".
Параметры атрибута конфигурируют значения, передаваемые в функцию ядра драйверами GPU через начальное состояние регистра. Некоторые значения используются компилятором и поэтому принудительно устанавливаются. Включение других параметров может нарушить предположения в компиляторе и/или библиотеках времени выполнения.
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-11.4.0/gcc/AMD-GCN-Function-Attributes.html