6.33.3 Атрибуты функций AMD GCN
Эти атрибуты функций поддерживаются бэкендом AMD GCN:
amdgpu_hsa_kernel-
Этот атрибут указывает, что соответствующая функция должна быть скомпилирована как функция ядра, то есть точка входа, которую можно вызвать из хоста через библиотеку времени выполнения HSA. По умолчанию функции могут вызываться только из других функций 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).
Далее: Атрибуты функций ARC, Предыдущее: Атрибуты функций AArch64, Наверх: Атрибуты функций [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/AMD-GCN-Function-Attributes.html