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