The ROCetta Project (pron. rosetta) aims to formally specify GPU virtual instruction sets (e.g. PTX) and hardware instruction sets (e.g. SASS). The emphasis is on specifying all the components of these instruction sets in a modular, reusable fashion.
Note: (May 2024) Some of the links below may not work since they point to private repositories. We're working to release them.
Our current focus is to produce for NVIDIA's PTX:
We've also produced semantics for NVIDIA's SASS for the Pascal architecture (plus bits of Maxwell and Volta):
We're slowly but surely preparing artifacts for public release. Here is a list of artifacts currently available:
Amr S. Elhelw and Sreepathi Pai, Horus: A Modular GPU Emulator Framework (Poster), ISPASS 2020, August 2020