Использование nvdisasm для создания изображения потока управления кода PTX

У меня есть один файл кода CUDA, скомпилированный в код PTX на промежуточном языке, example.ptx. Мне было бы интересно начать ковыряться в этом коротком файле, пытаясь понять, как он работает.

У меня нет предыдущего опыта работы с промежуточным представлением кода, но я понял, что могу каким-то образом распечатать рисунок потока управления, чтобы поддержать меня в попытке реконструировать это. Cuda Binary Utilities упоминает nvdisasm и показывает хорошие цифры Graphviz потока управления, но, похоже, он работает только для файлов cubin. Я так понимаю, что эти cubin-файлы оптимизированы дальше от PTX, в зависимости от текущей архитектуры GPU.

Мой вопрос: могу ли я использовать nvdisasm для создания изображения потока управления из example.ptx или скомпилировать файл ptx в файл cubin и использовать его для создания изображения?


person Toothery    schedule 29.01.2021    source источник
comment
Нет, потому что PTX — это язык виртуальной машины, а не настоящий исполняемый конус машины.   -  person talonmies    schedule 29.01.2021


Ответы (1)


или скомпилируйте файл ptx в файл cubin и используйте этот

Да, вы можете это сделать. Скомпилируйте файл ptx в cubin с помощью:

nvcc example.ptx -cubin 

(результат будет в example.cubin или вы можете добавить, например, -o myfile.cubin, чтобы назвать его как-то иначе)

Этот файл cubin можно передать nvdisasm для обработки. .

person Robert Crovella    schedule 29.01.2021