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