Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: pyxis-roc
  • Language: Python
  • Default Branch: main
  • Size: 24.4 KB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Created about 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

sass-isa-ast

An ast library for NVIDIA's SASS instruction set, designed for the ROCetta project.

Pre-requisites

Requires Python 3.8 or greater.

installation

Install via pip: pip install git+https://github.com/pyxis-roc/sass-isa-ast.git@1.0.1

Usage

This library constructs an AST when given a line of SASS disassembly obtained from cuobjdump. It is recommended to use this library in conjunction with the gen_xlat_metadata.py script provided by harmonv. This will produce a yaml file from a GPU program that includes a list of each line in the disassembly. Each line can then be parsed by this library.

To convert a line of disassembly into an AST, provide a label (usually the instruction's address) along with the string text of the dissassembly to the Statement constructor, as follows:

```python from sassisaast import ast as sass_ast

The label / text for the disassembly must be available to use this library.

label, text = ... stmt = sassast.Statement(addr, sassline)

After conversion to an AST, the instruction, operands, and predicate

guard are accessible as members on the statement object.

Access the underlying instruction

instr = stmt.instruction

Access the instruction's operands (as a list)

operands = stmt.instruction.arguments

Check the predicate guard

is_predicated = stmt.instruction.predicated ```

Limitations

This library has been tested to work with Maxwell, Pascal, and Volta architectures (sm55, sm61, sm_70). New features introduced in architectures after Volta, such as uniform registers, are currently not supported. Note that VLIW instruction sequences are treated as two distinct statements.

Owner

  • Name: Pyxis@ROC
  • Login: pyxis-roc
  • Kind: organization
  • Location: University of Rochester

The Pyxis Research Group

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Valpey"
  given-names: "Benjamin"
  orcid: "https://orcid.org/0000-0002-2245-3022"
title: "SASS ISA AST"
version: 1.0.0
url: "https://github.com/pyxis-roc/sass-isa-ast"

GitHub Events

Total
  • Member event: 2
Last Year
  • Member event: 2

Dependencies

pyproject.toml pypi
  • python ^3.8