I used cuobjdump, one of the CUDA Binary Utilities, to generate the SASS code, sample results are as below. These codes try to load from global memory.
/*0028*/ IMAD R6.CC, R3, R5, c[0x0][0x20];
/*0030*/ IMAD.HI.X R7, R3, R5, c[0x0][0x24];
/*0040*/ LD.E R2, [R6]; //load
Where can i get the full manual of SASS code that explain the meaning of each instruction. In "cuda binary utility " , It only provide a general explanation of the meaning of the instruction. e.g. it doesn't explain the meaning of "R1.cc", "IMAD.HI.X" and LD.e .
What is meaning of second instruction. I guess that the first one is to compute the memory address that each thread should load, while the third instruction is to load global memory into register. I have no idea on the meaning of second instruction.
I guess that cuda save some parameter information like grid size, block size and array base address into constant memory. In this case, c[0x0][0x20] is the base address of an array. My question is how can i get those information.