Binary Decoding

NVIDIA’s software does not offer translation of as- sembly code to binary for their GPUs, since the specifications are closed-source. This work fills that gap. We develop a systematic method of decoding the Instruction Set Architectures (ISAs) of NVIDIA’s GPUs, and generating assemblers for different generations of GPUs. Our framework enables cross-architecture binary analysis and transformation. Making the ISA accessible in this manner opens up a world of opportunities for developers and researchers, enabling numerous optimizations and explorations that are unachievable at the source-code level. Our infrastructure has already benefited and been adopted in important applications including performance tuning, binary instrumentation, resource allocation, and memory protection.

References

2019

  1. CGO
    Decoding CUDA Binary
    Ari B. Hayes, Fei Hua, Jin Huang, and 2 more authors
    In 2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Jun 2019