При компиляции кода CUDA вы должны выбрать, для какой архитектуры создается ваш код. nvcc
предоставляет два параметра для указания этой архитектуры, в основном:
arch
указывает виртуальную архитектуру, которая может бытьcompute_10
,compute_11
и т. д.code
указывает реальную архитектуру, которая может бытьsm_10
,sm_11
и т. д.
Итак, такая команда:
nvcc x.cu -arch=compute_13 -code=sm_13
Будет генерировать кубический код для устройств с вычислительными возможностями 1.3. Пожалуйста, поправьте меня, если я ошибаюсь. Я хотел бы знать, какие значения по умолчанию для этих двух параметров? Какую архитектуру по умолчанию использует nvcc, если не указано значение для arch
или code
?