Просто чтобы посмотреть, какой код генерирует CUDA, мне нравится компилировать в ptx в дополнение к объектному файлу. Поскольку развертывание некоторых циклов может занять довольно много времени, я хотел бы иметь возможность компилировать *.cu
→*.ptx
→*.o
вместо того, чтобы тратить время как на *.cu
→*.ptx
, так и на strong>*.cu
→*.o
, что я сейчас и делаю.
Простое добавление -ptx
к строке nvcc *.cu
дает желаемый результат ptx.
Использование ptxas -c
для компиляции *.ptx
в *.o
работает, но вызывает ошибку в моей исполняемой компоновке: Relocations in generic ELF (EM: 190)
.
Попытка скомпилировать *.ptx
с nvcc
терпит неудачу молча, ничего не выводя.
Есть ли какой-то вариант, который мне нужно передать ptxas
? Как мне правильно скомпилировать через ptx с отдельной компиляцией? В качестве альтернативы, могу ли я просто сказать nvcc
оставить ptx?