CUDA_ARCHITECTURES
Добавлена в версии 3.18.
Список архитектур для генерации кода устройства.
Архитектура может быть дополнена суффиксом -real или -virtual, чтобы указать тип архитектуры, для которой генерируется код. Если суффикс не указан, то код генерируется для обеих реальных и виртуальных архитектур.
Непустое ложное значение (например, OFF) отключает добавление архитектур. Это предназначено для поддержки пакетировщиков и редких случаев, когда требуется полный контроль над переданными флагами.
Это свойство инициализируется значением переменной CMAKE_CUDA_ARCHITECTURES, если она установлена при создании целевого объекта.
Свойство целевого объекта CUDA_ARCHITECTURES должно быть установлено на непустое значение для целевых объектов, которые компилируют исходные коды CUDA, в противном случае это ошибка. См. политику CMP0104.
CUDA_ARCHITECTURES может быть установлено на одно из следующих специальных значений:
-
all -
Добавлена в версии 3.23.
Компилировать для всех поддерживаемых основных и второстепенных реальных архитектур и самой высокой основной виртуальной архитектуры.
-
all-major -
Добавлена в версии 3.23.
Компилировать для всех поддерживаемых основных реальных архитектур и самой высокой основной виртуальной архитектуры.
-
native -
Добавлена в версии 3.24.
Компилировать для архитектуры(архитектур) графического процессора(процессоров) хоста.
Примеры
set_target_properties(tgt PROPERTIES CUDA_ARCHITECTURES "35;50;72")
Генерирует код для реальных и виртуальных архитектур 30, 50 и 72.
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES 70-real 72-virtual)
Генерирует код для реальной архитектуры 70 и виртуальной архитектуры 72.
set_property(TARGET tgt PROPERTY CUDA_ARCHITECTURES OFF)
CMake не будет передавать никаких флагов архитектуры компилятору.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/prop_tgt/CUDA_ARCHITECTURES.html