The ISA to which CUDA's nvcc compiles source code. This is JIT'd into architecture-specific machine language by the hardware driver after the CUDA runtime is used to load a PTX module. It can then be scheduled for execution on CUDA devices. From Version 2.1 of the PTX ISA Reference:
- PTX defines a virtual machine and ISA for general purpose parallel thread execution. PTX programs are translated at install time to the target hardware instruction set. The PTX-to-GPU translator and driver enable NVIDIA GPUs to be used as programmable parallel computers.
All PTX instructions can be predicated. Predicated instances of the branch and call instructions are the only way to effect conditional branching.
|PTX Version||CUDA Toolkit Version||Changes|
Cooperative Thread Arrays
- Equivalent to a block in CUDA -- broken up into warps, can communicate, can be grouped into a grid, one kernel per grid
- tid: thread ID within CTA
- ntid: 3D shape of CTA
- ctaid: CTA ID within grid
- nctaid: 3D shape of grid
- gridid: grid ID
- Marcin Wilhelm Kościelnicki's nv50dis, a disassembler