Spec-Zone.ru › GCC 12

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API