Re:Demystifying GPU Compute Architectures – By Babbage
by dist-epoch on Tuesday February 06, 2024 @07:04PM
(#39282722)
4. 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/Con...
Re:Demystifying GPU Compute Architectures – By Babbage
by einpoklum on Tuesday February 06, 2024 @07:28PM
(#39282928)
You 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.
Re:Demystifying GPU Compute Architectures – By Babbage
by av3csr on Wednesday February 07, 2024 @01:07AM
(#39285086)
The 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.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)
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).