Number of GPU instructions per kernel How to count it precisely ?

After the compilation of the .cu file with -keep option I have the .fatbin.c file generated. There is a huge array in it, something like this:

static const unsigned long long _deviceTextsm_20 = {
0x33010102464c457f,0x0000000000000003,0x0000000100be0002,0x0
000000000000000,
0x000000000004c198,0x0000000000000040,0x0038004000140014,0x0
001000e00400004,
0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0
000000000000000,
0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0
000000000000000,
0x0000000300000001,0x0000000000000000,0x0000000000000000,0x0
0000000000003c0,

};

Am I right that each 64bit value of this array represents a single instruction ?

After the compilation of the .cu file with -keep option I have the .fatbin.c file generated. There is a huge array in it, something like this:

static const unsigned long long _deviceTextsm_20 = {
0x33010102464c457f,0x0000000000000003,0x0000000100be0002,0x0
000000000000000,
0x000000000004c198,0x0000000000000040,0x0038004000140014,0x0
001000e00400004,
0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0
000000000000000,
0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0
000000000000000,
0x0000000300000001,0x0000000000000000,0x0000000000000000,0x0
0000000000003c0,

};

Am I right that each 64bit value of this array represents a single instruction ?

I think that instructions use variable-length encoding so you probably want to try out the objdump to get an exact count.

I think that instructions use variable-length encoding so you probably want to try out the objdump to get an exact count.

Could you please give more info on it ? What exactly should be done, what file should I use as a source for objdump, how to interpret objdump output ?

Could you please give more info on it ? What exactly should be done, what file should I use as a source for objdump, how to interpret objdump output ?

Also, am I right that this is Linux utility ? Google does not give straightforward info on how and where to get the latest objdump for windows (if it works on windows).

Also, am I right that this is Linux utility ? Google does not give straightforward info on how and where to get the latest objdump for windows (if it works on windows).

Romant,
I think that file is a “ASCII” file… Just print the content to the screen and you should see a PTX file…but not sure if something changed with FERMI…

Romant,
I think that file is a “ASCII” file… Just print the content to the screen and you should see a PTX file…but not sure if something changed with FERMI…

See this thread: http://forums.nvidia.com/index.php?showtopic=178114

See this thread: http://forums.nvidia.com/index.php?showtopic=178114