Open
Description
Compiling and building the following OpenCL program causes the latest version of the OpenCL runtime to crash:
typedef struct {
uint n_mails;
uint mails[100];
} mailbox;
__kernel void
run() {
uint me = get_local_id(0);
__local mailbox boxes[1][4];
for (uint ix = 0; ix < 1; ix++) {
__local mailbox *mb = &boxes[ix][me];
uint i = 0;
while (true) {
uint swap = (i * 2) + 1;
if (swap >= mb->n_mails) {
break;
}
mb->mails[i] = mb->mails[swap];
i = swap;
}
}
}
Compilation crashes on the following device:
Name : Intel(R) Xeon(R) W-2245 CPU @ 3.90GHz
Version : OpenCL 3.0 (Build 0)
Driver : 2024.18.7.0.11_160000
C Version : OpenCL C 3.0
Compute units : 16
Global memory : 33.33 GB
Max allocation : 16.66 GB
Max wg. size : 8 k
Local mem. size: 32.77 kB
Max work items : 8192:8192:8192
Pipe support : yes
Compiler usable: yes
Image support : yes
But works fine on the following device:
Name : Intel(R) Xeon(R) W-2245 CPU @ 3.90GHz
Version : OpenCL 3.0 (Build 0)
Driver : 2024.17.3.0.08_160000
C Version : OpenCL C 3.0
Compute units : 16
Global memory : 33.33 GB
Max allocation : 16.66 GB
Max wg. size : 8 k
Local mem. size: 32.77 kB
Max work items : 8192:8192:8192
Pipe support : yes
Compiler usable: yes
Image support : yes
So I guess a bug was introduced relatively recently.