Идиома CMake относительно минимальной проверки микроархитектуры

Предположим, у меня есть проект CUDA, и я пишу его .

В моем проекте есть несколько.cuисходные файлы с ядрами, каждое из которых имеет минимальную поддерживаемую версию микроархитектуры NVIDIA.

В моемCMakeLists.txt, я бы хотел иметь возможность...

  • Обнаружить или, по крайней мере, иметь возможность указать этот минимальный uarch для каждого файла (а не набор uarchitecture для сборки - минимум, для которого может быть построен целевой объект).
  • (возможно) Вычислите и напечатайте пересечение этих приемлемых диапазонов вычислительных возможностей (поскольку я говорил только о минимуме - это максимум из минимумов).
  • Ошибка конфигурации CMake, если в системе нет графических процессоров, поддерживающих uarch на пересечении (... если только это не перекрестная сборка, в этом случае пользователь указал целевую архитектуру/ы, а графические процессоры системы сборки не имеют значения) .
  • Иметь возможность указать, на какой графический процессор я ориентируюсь, чтобы только его CC проверялся на соответствие диапазону допустимых значений uarches/CC.

Я действительно не вижу ничего из этого, просматривая документацию, например,CUDA_ARCHITECTURESиCMAKE_CUDA_ARCHITECTURESстраницы.

1 ответ

Судя по всему, CMake этого не поддерживает. Я сообщил об ошибке в Kitware для добавления такой поддержки через свойство исходного файла и некоторые арифметические операции во время настройки.

Другие вопросы по тегам