1
0
Fork
You've already forked sassembler
0
No description
  • C++ 99.6%
  • Makefile 0.4%
2026年07月08日 13:46:24 +02:00
src Progress 2026年07月08日 13:46:24 +02:00
.clang-format Bad code... 2026年06月15日 20:53:51 +02:00
.clangd Big things are comming 2026年07月04日 21:09:38 +02:00
.gitattributes We're moving forward 2026年06月10日 17:51:19 +02:00
.gitignore We're moving forward 2026年06月10日 17:51:19 +02:00
LICENSE-APACHE We're moving forward 2026年06月10日 17:51:19 +02:00
LICENSE-MIT It's looking good 2026年06月10日 22:22:11 +02:00
Makefile Progress 2026年07月08日 13:46:24 +02:00
README.md Its comming along somewhat 2026年06月13日 17:34:42 +02:00

SASSembler

Resources

SIMD

SASS

Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking

Abstract

Every year, novel NVIDIA GPU designs are introduced. This rapid architectural and technological progression, coupled with a reluctance by manufacturers to disclose low-level details, makes it difficult for even the most proficient GPU software designers to remain up-to-date with the technological advances at a microarchitectural level. To address this dearth of public, microarchitectural-level information on the novel NVIDIA GPUs, independent researchers have resorted to microbenchmarks-based dissection and discovery. This has led to a prolific line of publications that shed light on instruction encoding, and memory hierarchy's geometry and features at each level. Namely, research that describes the performance and behavior of the Kepler, Maxwell and Pascal architectures. In this technical report, we continue this line of research by presenting the microarchitectural details of the NVIDIA Volta architecture, discovered through microbenchmarks and instruction set disassembly. Additionally, we compare quantitatively our Volta findings against its predecessors, Kepler, Maxwell and Pascal.

BibTeX
@misc{jia2018dissectingnvidiavoltagpu,
 title={Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking}, 
 author={Zhe Jia and Marco Maggioni and Benjamin Staiger and Daniele P. Scarpazza},
 year={2018},
 eprint={1804.06826},
 archivePrefix={arXiv},
 primaryClass={cs.DC},
 url={https://arxiv.org/abs/1804.06826}, 
}

Decoding CUDA Binary

Abstract

NVIDIA’s software does not offer translation of assembly 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.

BibTeX Citation
@INPROCEEDINGS{8661186,
 author={Hayes, Ari B. and Hua, Fei and Huang, Jin and Chen, Yanhao and Zhang, Eddy Z.},
 booktitle={2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)}, 
 title={Decoding CUDA Binary}, 
 year={2019},
 volume={},
 number={},
 pages={229-241},
 keywords={Instruction sets;Graphics processing units;Computer architecture;Registers;Decoding;Hardware;Encoding;CUDA;GPU;Code Generation;Code Translation and Transformation;Instruction Set Architecture (ISA)},
 doi={10.1109/CGO.2019.8661186}}