The ROCetta Project

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.

Our current focus is to produce for NVIDIA's PTX:

  1. A complete grammar
  2. A test suite
  3. An interpreter
  4. Executable semantics (in Python and C)
  5. Formal semantics (in SMT2)


  1. Amr S. Elhelw
  2. Benjamin Valpey
  3. Benjamin Carleton
  4. Sreepathi Pai


No publicly available artifacts available yet, but check back soon!


  1. Amr S. Elhelw and Sreepathi Pai, Horus: A Modular GPU Emulator Framework (Poster), ISPASS 2020, August 2020