Hi all, I’m just curious about SASS and what really runs on GPU.
I used cuobjdump to extract the SASS code of my NVCC-compiled program, and I saw the codes at which I was surprised.
My environment is CUDA 5.5, sm_30 (GTX 650Ti BOOST)
/00d0/ MOV R0, R0; /* 0x2800000000001de4 */
is a typical anomaly in my point of view, because I think it is a dead statement which must be eliminated by the compiler.
Now here comes the question. I esteem NVIDIA, and I think NVCC isn’t too silly to eliminate this. But I doubt that there is further more optimizations to eliminate this. The moving of kernel from host to device, for instance, is a likely moment when the host could easily eliminate dead codes one by one.
Is this kind of optimizations really exist, or I could believe in SASS to be the real binary code?