daadaada / turingas

Assembler for NVIDIA Volta and Turing GPUs
MIT License
196 stars 41 forks source link

Is it possible to read sass from cubin/elf? #3

Closed YangWang92 closed 4 years ago

YangWang92 commented 4 years ago

Hi Yan, I found this assembler when I tried to modify and profile some CUDA codes. Thanks for sharing such an exciting tool.

Is it possible to read a CUBIN file to turingas rather than write SASS codes from scratch?

I want to write a tool to read CUBIN file and convert to TuringAS format SASS file. Is there a document to describe the format of the input of TuringAS like this (https://github.com/daadaada/turingas/blob/master/examples/copy_element/copy_element.sass)?

Do you have any suggestions? Thanks!

daadaada commented 4 years ago

It is possible to extract SASS code from .cufin files. And such a tool can be helpful in many cases.

I do plan to add more examples. And you can also explore the grammar.py file to figure out how different instructions work.

YangWang92 commented 4 years ago

Thanks for your reply, I found the encoded instructions in cubin files, it is possible to convert cubin files to SASS source codes.

daadaada commented 4 years ago

Indeed. Please let me know if you have any other questions.

YangWang92 commented 4 years ago

BTW, I found your paper about tensor core and HMM. The throughput of your HGEMM is impressive, will you opensource the implementation of HGEMM? And do you have any comment about the latest Ameper tensor core? Thanks!

daadaada commented 4 years ago

I may opensource it in the future.

Ampere's tensor core supports more data types (e.g., bf16). However, from the perspective of compiler/assembler, Ampere's tensor core is similar to Turing's.

zeekimn commented 3 years ago

Thanks for your reply, I found the encoded instructions in cubin files, it is possible to convert cubin files to SASS source codes.

hi@YangWang92, could you shared the example for convert cubin files to SASS source codes?

YangWang92 commented 3 years ago

You can generate SASS codes from cuobjdump, and you may overwrite generated SASS codes to turingas's format by hand.

I tried to write a tool to do this automatically, however, I have not finished it.

Thanks for your reply, I found the encoded instructions in cubin files, it is possible to convert cubin files to SASS source codes.

hi@YangWang92, could you shared the example for convert cubin files to SASS source codes?

Hi @zeekimn,

You can generate SASS codes from cuobjdump, and you may overwrite generated SASS codes to turingas's format by yourself.

I tried to write a tool to do this automatically. However, I have not finished it.

zeekimn commented 3 years ago

You can generate SASS codes from cuobjdump, and you may overwrite generated SASS codes to turingas's format by hand.

I tried to write a tool to do this automatically, however, I have not finished it.

Thanks for your reply, I found the encoded instructions in cubin files, it is possible to convert cubin files to SASS source codes.

hi@YangWang92, could you shared the example for convert cubin files to SASS source codes?

Hi @zeekimn,

You can generate SASS codes from cuobjdump, and you may overwrite generated SASS codes to turingas's format by yourself.

I tried to write a tool to do this automatically. However, I have not finished it.

Hi @YangWang92, Very thanks for your quick reply. I am also very interesting in the convert tool but It's difficult for me to create one currently. I startet learning how to implement one...Thanks.