2011-06-20 1 views
0

1) Я хочу извлечь код ptx из CUDA exe и использовать этот код ядра в другой программе. Есть ли способ идентифицировать код ядра ptx из exe. Я знаю, что они произвольно выложены в разделе данных файла exe.Как извлечь ptx из cuda exe и некоторые связанные с ним вопросы компилятора cuda

Я узнал, что в исполняемых файлах MAC ядра ptx начинаются с .version и заканчиваются нулевой строкой. Есть ли что-то подобное для win exe (PE) файлов. Думаю, мне нужно разобрать exe-файл, собрать команды ptx по одному и сгруппировать их в виде ядер. Но я не знаю, как бы я это сделал. какая-то помощь заставит меня начать. Я также нашел раздел .nvFatBi в Cuda exe. Что это должно быть?

2) Я также узнал, что существуют глобальные конструкторы, которые регистрируют кубин с временем выполнения cuda. Я не совсем понимаю эту часть. Входит ли здесь функция cudaRegisterFatBinary. Если да, то как я могу использовать этот ptx для указания указателя на cudaRegisterFatBinary? Я понимаю, что мне нужно скомпилировать файл ptx в кубик. возможно ли это программно? Короче говоря, я хочу в какой-то мере эмулировать nvcc.

ответ

1

Попытка: cuobjdump --dump-ptx [исполнимое имя]

+0

Большое спасибо! но как это сделать программно? есть идеи? и не могли бы вы также показать мне способ сделать то, что я упомянул в моем втором вопросе. – ash

+0

@ash Вы не можете вызвать этот инструмент, используя 'system()'? – karlphillip

Смежные вопросы