Spec-Zone.ru › GCC 12

3.19.37 Параметры Nvidia PTX

Эти параметры определены для Nvidia PTX:

-m64

Игнорируется, но сохраняется для обратной совместимости. Поддерживается только 64-битная ABI.

-march=architecture-string

Генерировать код для указанной целевой архитектуры ISA PTX (например, ‘sm_35’). Допустимые строки архитектуры — ‘sm_30’, ‘sm_35’, ‘sm_53’, ‘sm_70’, ‘sm_75’ и ‘sm_80’. По умолчанию целевая архитектура — sm_30.

Этот параметр устанавливает значение препроцессорной макросы __PTX_SM__; например, для ‘sm_35’ значение — ‘350’.

-misa=architecture-string

Псевдоним -march=.

-march-map=architecture-string

Выбрать ближайшее доступное значение -march=, которое не обладает большей мощностью. Например, для -march-map=sm_50 выбрать -march=sm_35, а для -march-map=sm_53 выбрать -march=sm_53.

-mptx=version-string

Генерировать код для указанной версии ISA PTX (например, ‘7.0’). Допустимые строки версии включают ‘3.1’, ‘6.0’, ‘6.3’ и ‘7.0’. По умолчанию версия ISA PTX — 6.0, если для указанной целевой архитектуры ISA PTX через параметр -march= требуется более новая версия.

Этот параметр устанавливает значения препроцессорных макросов __PTX_ISA_VERSION_MAJOR__ и __PTX_ISA_VERSION_MINOR__; например, для ‘3.1’ макросы имеют значения ‘3’ и ‘1’ соответственно.

-mmainkernel

Подключить код для ядра __main. Это необходимо для автономного, а не для перенаправляемого, выполнения.

-moptimize

Применить оптимизации для разбиения выполнения. По умолчанию, когда выбран любой уровень оптимизации.

-msoft-stack

Генерировать код, не использующий память .local напрямую для хранения стека. Вместо этого явный указатель стека поддерживается для каждой группы потоков. Это позволяет выделять стек переменной длины (с массивами переменной длины или alloca), а когда для базового хранения используется глобальная память, позволяет получать доступ к автоматическим переменным из других потоков или с помощью атомных инструкций. Этот вариант генерации кода используется для перенаправления OpenMP, но параметр доступен самостоятельно для целей тестирования компилятора; для генерации кода, подходящего для включения в программы с использованием OpenMP перенаправления, используйте параметр -mgomp.

-muniform-simt

Переключиться на вариант генерации кода, который позволяет выполнять все потоки в каждой группе потоков, сохраняя состояние памяти и побочные эффекты, как если бы только один поток в каждой группе потоков был активен вне областей OpenMP SIMD. Все атомные операции и вызовы времени выполнения (malloc, free, vprintf) выполняются условно (если текущий индекс потока равен индексу основного потока), и регистр, который присваивается, копируется через инструкцию перемешивания из основного потока. Вне областей SIMD поток 0 является основным; внутри каждый поток видит себя как основной. Массив общей памяти int __nvptx_uni[] хранит битовые маски всех нулей или всех единиц для каждой группы потоков, указывающие текущий режим (0 вне областей SIMD). Каждый поток может выполнить побитовое И битовой маски в позиции tid.y с текущим индексом потока, чтобы вычислить индекс основного потока.

-mgomp

Генерировать код для использования в OpenMP перенаправлении: включает параметры -msoft-stack и -muniform-simt, и выбирает соответствующий вариант многофункционального модуля.

Следующее: Параметры OpenRISC, Предыдущее: Параметры Nios II, Наверх: Параметры Подмоделей [Содержание][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Nvidia-PTX-Options.html

Spec-Zone.ru

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