- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have three OpenCL platforms installed on my Ubuntu 10.04 amd64: nVidia, AMD and Intel. I noticed that my FFT kernel gives incorrect results on the Intel platform. I managed to reduce it to the following:
[bash]__kernel void test(__global float *out) { float a[8]; __local float smem[32]; for(int q=0; q < 32; q++) { smem
I have three OpenCL platforms installed on my Ubuntu 10.04 amd64: nVidia, AMD and Intel. I noticed that my FFT kernel gives incorrect results on the Intel platform. I managed to reduce it to the following:
[bash]__kernel void test(__global float *out) { float a[8]; __local float smem[32]; for(int q=0; q < 32; q++) { smem
= q; } barrier(CLK_LOCAL_MEM_FENCE); for(int q=0; q < 8; q++) { a= 0; } int thread_id = get_local_id(0); if(thread_id < 16) a[0] = 0; a[0] = smem[thread_id]; a[1] = 0; barrier(CLK_LOCAL_MEM_FENCE); smem[thread_id] = a[0]; smem[thread_id + 16] = a[1]; barrier(CLK_LOCAL_MEM_FENCE); if(thread_id < 16) out[thread_id] = a[0]; a[0] = 0; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 0; a[6] = 0; if(thread_id < 0) out[0] = a[1]; }[/bash] Being executed with global size=16 and local size=16 it returns [0 .. 15] array on AMD (CPU) & nVidia (GPU), but [15 .. 15] on Intel (CPU). C and Python programs for reproduction are attached (C code is a bit messy and without error checking). The output I am getting:
Platform: NVIDIA CUDA
Device: Tesla C2050 / C2070
0.000000 1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 10.000000 11.000000 12.000000 13.000000 14.000000 15.000000
Platform: Intel OpenCL
Device: Intel Xeon CPU E5620 @ 2.40GHz
15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000 15.000000
Platform: AMD Accelerated Parallel Processing
Device: Intel Xeon CPU E5620 @ 2.40GHz
0.000000 1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 10.000000 11.000000 12.000000 13.000000 14.000000 15.000000
Does anyone know what can be causing such behavior?
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Intel SDK currently doesnt support Ubuntu 10.04.
However we will look into your kernel.
Thanks, Shiri

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page