С помощью CuObjDump SASS можно сгенерировать из файла Cubin с помощью cuobjdump -sass <input file>
, но есть ли способ преобразовать SASS обратно в Cubin.
CUDA SASS в Кубин
Ответы (2)
В официальной цепочке инструментов NVIDIA CUDA нет «ассемблеров». Цепочка инструментов NVIDIA может использовать CUDA C/C++ или PTX и преобразовывать их в cubin или другой исполняемый формат.
Однако есть несколько ассемблеров, разработанных сообществом:
Возможно, самым последним на данный момент (вероятно, единственным, заслуживающим внимания на данный момент) является maxas.
Также был более старый asfermi, разработанный для графических процессоров CUDA поколения Fermi. Я не думаю, что он был обновлен или поддерживается.
Я хотел бы добавить, что в зависимости от архитектуры (maxwell/kepler и т. д.) вы можете использовать ассемблер/диссемблер, разработанный сообществом, для преобразования SASS обратно в Cubin. Вот некоторые:
Maxas: https://github.com/NervanaSystems/maxas
KeplerAs: https://github.com/PAA-NCIC/PPoPP2017_artifact/tree/master/KeplerAs