A simple example built with u32 ptx registers. Prints the compiled PTX.
An example that introduces routines. These are a series of Stack PTX instructions that can be "called" from a Stack PTX instruction.
An example that shows a way to make routine libraries that are callable from Stack PTX.
An example that shows the use of meta instructions that can manipulate stack values during generation of the AST. These instructions were heavily inspired by Lee Spector's push language and instructions.
This example uses every meta instruction (including clear). Check the folders out.txt for the executable's output demonstrating the transformations.
An example that shows the use of special register instructions that can add special register names to Stack PTX
like %clock, %tid.x, %warpid, etc... These values can be modified with descriptions/special_registers.csv and
re-running tools/stack_ptx_description_generator.py with:
python tools/stack_ptx_description_generator.py descriptions/ptx_instructions.csv descriptions/special_registers.csv stack_ptx_generated_descriptions.hAn example that shows the usage of predicates. It uses instructions that make use of the PRED stack for storing PTX predicates.
An example that shows the compilation of a complex tf32 mma.sync.aligned tensor core instructions.
An example that shows the usage of the store and load Stack PTX Instructions for storing/loading AST values from their stack.
An example using the stack_ptx_default_generated_types.hpp in c++
An example that shows routine libraries in C++, mirroring the C routine library pattern.