COMP_ERROR: Dynamic Compiler Internal Error

COMP_ERROR: Dynamic Compiler Internal Error

When i try and run this code (this is a simplified version of the code but it generates the error) I get a
COMP_ERROR: Dynamic Compiler Internal Error. It occurs on the _if(v1[2]at least if I comment out this test and just do the calculation i don't get the error). What am I doing
that it doesn't like ?

void Fnc1a(f32 & result, dense v1,dense v2,dense A1, dense A2) {

u64 p = 1;
usize entry;
position(entry);
i32 offset = entry; // Need this due to casting problems . . .

i32 n,m,i;
_for (n=0, n<21, n++) {
/* Below calculates the initial skip ahead before we skip ahead in individual threads for parallelism*/
m = (i32) (offset%8 - 1);
_if (m>=0) {
_for (i=0, i<3, i++) {
v1[i] = (A1[i+3*0+9*m+63*n])%m1;
v2[i] = (A2[i+3*0+9*m+63*n])%m2;
} _end_for;
} _end_if;
offset = offset/8;
} _end_for;

_if(v1[2] p += m1;
} _end_if;

result = norm * (f32)p;
}
void Fnc1aCall(dense & Result,dense v1,dense v2, dense A1, dense A2) {
arbb::map(Fnc1a)(Result, v1, v2, A1, A2);
}

the m1, m2 and norm are just #define(d) like below

#define m1 4294967087

--
jason

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Jason,

It is not that _if test that causes the problem. It is the position() statement at the beginning of the mapped function that causes the problem. However, this does not mean you did anything wrong. It is a known bug to the latest ArBB release (Beta 4), that using position() and/or neighbor() inside a mapped function may lead to "dynamic compiler internal errors". This is a high priority bug and it will be fixed in our next release.

Thanks,
Zhang

Leave a Comment

Please sign in to add a comment. Not a member? Join today