Original Post
Hi,
I'm messing around, trying to get the hang on VTune and I have the following query:
I wrote myself a very simple console app to put though a series of tests. Effectively all it does is fill a 3d array column first and then row first. Obviously this causes a lot of cache trashing (right?) when doing it column first.
const int g_n = 250;
float TestData[g_n][g_n][g_n];
void Col(void)
{
for(int k=0;k<g_n;k++)
for(int j=0;j<g_n;j++)
for(int i=0;i<g_n;i++)
TestData[i][j][k] = 0.0f;
}
void Row(void)
{...}
int main(void)
{
Row(); Col();
}
Ok so I sample and VTune notices that the Col() function is doing something wrong but the tuning assistant advice is pretty obscure:
Poor Nominal CPI : advice - more measurements should be taken to determine exactly what steps should be taken to improve performance.
What exactly does this mean? what does it what me to do and how?
Also when running a call graph test on the same chunk of code it shows me a lot of stuff from kernel32.dll and ntdll.dll but NOTHING from my test project test.exe. Why is this? surely it should see main() and Row() and Col() ??
I am most confused!
Many Thanks in advance
Anthony
[edited by - TonyFish on May 2, 2004 1:07:56 PM]