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-10.5.0/gcc/AMD-GCN-Function-Attributes.html