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