sass-isa-ast
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
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
Metadata Files
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
- Repositories: 3
- Profile: https://github.com/pyxis-roc
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
- python ^3.8