Идиома CMake относительно минимальной проверки микроархитектуры
Предположим, у меня есть проект CUDA, и я пишу его .
В моем проекте есть несколько.cu
исходные файлы с ядрами, каждое из которых имеет минимальную поддерживаемую версию микроархитектуры NVIDIA.
В моемCMakeLists.txt
, я бы хотел иметь возможность...
- Обнаружить или, по крайней мере, иметь возможность указать этот минимальный uarch для каждого файла (а не набор uarchitecture для сборки - минимум, для которого может быть построен целевой объект).
- (возможно) Вычислите и напечатайте пересечение этих приемлемых диапазонов вычислительных возможностей (поскольку я говорил только о минимуме - это максимум из минимумов).
- Ошибка конфигурации CMake, если в системе нет графических процессоров, поддерживающих uarch на пересечении (... если только это не перекрестная сборка, в этом случае пользователь указал целевую архитектуру/ы, а графические процессоры системы сборки не имеют значения) .
- Иметь возможность указать, на какой графический процессор я ориентируюсь, чтобы только его CC проверялся на соответствие диапазону допустимых значений uarches/CC.
Я действительно не вижу ничего из этого, просматривая документацию, например,CUDA_ARCHITECTURES
иCMAKE_CUDA_ARCHITECTURES
страницы.
1 ответ
Судя по всему, CMake этого не поддерживает. Я сообщил об ошибке в Kitware для добавления такой поддержки через свойство исходного файла и некоторые арифметические операции во время настройки.