Has anyone used the Stream kernelAnalyzer?
I use it analyze a simple kernel program. It always reports
"Error - Brook+ timed out whilst compiling."
While I could compile and run this kernel through brcc compiler.
Yes, I have used the SKA fairly extensively both for IL and Brook+ code. I have run into your problem in the past but I cannot remember why, can you post the code?
When I used SKA, I really find it could only analyze rather simple code.
Here is my code :
kernel void kim_kernel(double a[], double u[][][], double v<>, out double r<>)
{
float3 core;
float3 precore1 = float3(-1.0, -1.0, -1.0);
float3 precore2 = float3( 0.0, -1.0, -1.0);
float3 precore3 = float3(+1.0, -1.0, -1.0);
float3 precore4 = float3(-1.0, 0.0, -1.0);
float3 precore5 = float3( 0.0, 0.0, -1.0);
float3 precore6 = float3(+1.0, 0.0, -1.0);
float3 precore7 = float3(-1.0, +1.0, -1.0);
float3 precore8 = float3( 0.0, +1.0, -1.0);
float3 precore9 = float3(+1.0, +1.0, -1.0);
float3 currcore1 = float3(-1.0, -1.0, 0.0);
float3 currcore2 = float3( 0.0, -1.0, 0.0);
float3 currcore3 = float3(+1.0, -1.0, 0.0);
float3 currcore4 = float3(-1.0, 0.0, 0.0);
float3 currcore5 = float3( 0.0, 0.0, 0.0);
float3 currcore6 = float3(+1.0, 0.0, 0.0);
float3 currcore7 = float3(-1.0, +1.0, 0.0);
float3 currcore8 = float3( 0.0, +1.0, 0.0);
float3 currcore9 = float3(+1.0, +1.0, 0.0);
float3 nextcore1 = float3(-1.0, -1.0, +1.0);
float3 nextcore2 = float3( 0.0, -1.0, +1.0);
float3 nextcore3 = float3(+1.0, -1.0, +1.0);
float3 nextcore4 = float3(-1.0, 0.0, +1.0);
float3 nextcore5 = float3( 0.0, 0.0, +1.0);
float3 nextcore6 = float3(+1.0, 0.0, +1.0);
float3 nextcore7 = float3(-1.0, +1.0, +1.0);
float3 nextcore8 = float3( 0.0, +1.0, +1.0);
float3 nextcore9 = float3(+1.0, +1.0, +1.0);
core = core + indexof(r);
r = v - a[0] * u[currcore5+core]
- a[1] * (u[currcore2+core] + u[currcore4+core]
+ u[currcore6+core] + u[currcore8+core]
+ u[precore5+core] + u[nextcore5+core])
- a[2] * ( u[precore2+core] + u[precore8+core]
+ u[nextcore2+core] + u[nextcore8+core]
+ u[currcore1+core] + u[currcore7+core]
+ u[precore4+core] + u[nextcore4+core]
+ u[currcore3+core] + u[currcore9+core]
+ u[precore6+core] + u[nextcore6+core] )
- a[3] * ( u[precore1+core] + u[precore7+core]
+ u[nextcore1+core] + u[nextcore7+core]
+ u[precore3+core] + u[precore9+core]
+ u[nextcore3+core] + u[nextcore9+core] );
}