CUDA_ARCHITECTURES
Добавлено в версии 3.18.
Список архитектур, для которых генерируется код устройства.
К архитектуре можно добавить суффикс -real или -virtual, чтобы указать тип архитектуры, для которой следует генерировать код. Если суффикс не указан, код генерируется как для реальных, так и для виртуальных архитектур.
Непустое значение false (например, 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–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/CUDA_ARCHITECTURES.html