3.18.33 Параметры Nvidia PTX
Эти параметры определены для Nvidia PTX:
-m32-m64-
Генерировать код для 32-битного или 64-битного ABI.
-mmainkernel-
Подключать код для __main-ядра. Это для автономного, а не для удаленного выполнения.
-moptimize-
Применять оптимизации раздельного выполнения. Это значение по умолчанию, когда выбрано любое количество оптимизаций.
-msoft-stack-
Генерировать код, который не использует
.localпамять напрямую для хранения стека. Вместо этого явный указатель стека поддерживается на уровне warp. Это позволяет выделять стек переменной длины (с массивами переменной длины илиalloca), а когда глобальная память используется для базового хранения, это позволяет обращаться к автоматическим переменным из других потоков или с атомарными инструкциями. Эта опция генерации кода используется для удаленного выполнения OpenMP, но опция доступна и для тестирования компилятора; для генерации кода, подходящего для подключения в программы с удалённым выполнением OpenMP, используйте параметр -mgomp. -muniform-simt-
Переключаться на вариант генерации кода, который позволяет выполнять все потоки в каждом warp, сохраняя состояние памяти и побочные эффекты так, как если бы только один поток в каждом warp был активен вне областей OpenMP SIMD. Все атомарные операции и вызовы времени выполнения (malloc, free, vprintf) выполняются условно (если текущий индекс потока равен индексу ведущего потока), а регистр, которому присваивается значение, копируется с помощью инструкции shuffle из ведущего потока. Вне областей SIMD поток с индексом 0 является ведущим; внутри, каждый поток рассматривает себя как ведущий. Массив общей памяти
int __nvptx_uni[]хранит битовые маски всех нулей или всех единиц для каждого warp, указывающие текущий режим (0 вне областей SIMD). Каждый поток может побитово и битовую маску в позицииtid.yс текущим индексом потока, чтобы вычислить индекс ведущего потока. -mgomp-
Генерировать код для использования в OpenMP offloading: включает опции -msoft-stack и -muniform-simt и выбирает соответствующий вариант многолиб.
Далее: Параметры PDP-11, Предыдущее: Параметры Nios II, Вверх: Параметры подмодели [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/Nvidia-PTX-Options.html