singe_ptx/lib.rs
1//! CUDA PTX parser, AST, and generated instruction metadata utilities.
2//!
3//! This crate parses PTX assembly into a Rust AST and exposes generated metadata
4//! for known PTX instructions.
5//!
6//! # Example
7//!
8//! ```
9//! let ptx = r#"
10//! .version 9.1
11//! .target sm_90
12//! .address_size 64
13//!
14//! .visible .entry add(.param .u64 data) {
15//! ret;
16//! }
17//! "#;
18//!
19//! let module = singe_ptx::parser::parse_module(ptx)?;
20//! assert_eq!(module.version.major, 9);
21//! assert_eq!(module.items.len(), 1);
22//! # Ok::<(), singe_ptx::error::ParseError>(())
23//! ```
24
25pub mod ast;
26pub mod error;
27pub mod parser;
28
29mod generated;
30
31pub use generated::instruction_set::*;