Changing selector to cpu causes Internal compiler error #4185
-
Initially, I wanted to post this as an issue, but then I doubted whether it was a bug or my mistake. I have a kernel, after I changed gpu_selector to cpu_selector, I started getting the following error:
I started looking for where it could have occurred and it seems that it appears in this code snippet (I did not post the entire kernel, because it is quite large) //_iter is a lsit's node pointer
bool find = false;
bool total_found = false;
for(int i = ind; i <= ind + SUBGROUP_SIZE * (CONST - 1); i += SUBGROUP_SIZE) {
find = ((_iter->data[i].first) == key);
sycl::group_barrier(_gr);
total_found = sycl::any_of_group(_gr, find);
if (total_found) {
for (int j = 0; j < SUBGROUP_SIZE; j++) {
if (sycl::group_broadcast(_gr, find, j)) {
uint32_t tmp = 0;
if (ind == j) tmp = _iter->data[i].second;
ans = {sycl::group_broadcast(_gr, tmp, j), true};
break;
}
}
}
} If this error occurs due to my fault, then why does it occur and how can I fix it? Environment
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
It might be a OpenCL CPU issue, but I can't say for sure. Tagging @turinevgeny. |
Beta Was this translation helpful? Give feedback.
-
The compiler shouldn't fail with internal error even if the input program has bugs, I will convert this into an issue |
Beta Was this translation helpful? Give feedback.
The compiler shouldn't fail with internal error even if the input program has bugs, I will convert this into an issue