3 ms·
> GPU instructions sets change every year/generation. 1. It's every two-to-three years. 2. It's not like they change into something completely different. 3.
by einpoklum 3y ago
> GPU instructions sets change every year/generation.
1. It's every two-to-three years.
2. It's not like they change into something completely different.
3. PTX is not a hardware instruction set, it's just an LLVM IR variant
4. I don't need to only target an instruction set directly, but it does help to know what instructions the hardware actually executes. And this is just like for CPUs (ok, not just like, because CPUs have u-ops, and I don't know that GPUs have those).
- dist-epoch 3y ago4. The actual instruction set is called SASS. You can view it with Nsight, which can show all 3 levels, CUDA+PTX+SASS: https://docs.nvidia.com/nsight-visual-studio-edition/3.2/Content/Images/Debugger.CUDA.Disassembly.Breakpoints.001.png https://docs.nvidia.com/nsight-visual-studio-edition/3.2/Con...
- einpoklum 3y agoYou can view it, but there's no documentation for it, nor a listing of all instructions. You need to guess what the instructions actually do. Sometimes it's not so difficult, like IADD3; but sometimes it's not at all trivial.
- av3csr 3y agoThe only "documentation" we have is in the form of the binary utility docs, which has a list of SASS instructions https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#ampere-and-ada-instruction-set https://docs.nvidia.com/cuda/cuda-binary-utilities/index.htm... though there is no guarantee this is exhaustive, no opcodes either (though you could reverse engineer it using cuobjdump -sass and a hex editing like I've been doing). I'm pretty sure some of the instructions in the list are deprecated as well (95% percent sure that PMTRIG does nothing >Volta)