<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Problem: struct forwarding to kernel (Intel OpenCL SDK 1.5) in OpenCL* for CPU</title>
    <link>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781262#M391</link>
    <description>&lt;DIV id="_mcePaste"&gt;Hi there,&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I'm using OpenCL for a few accelerators, but within the last few days I tried to get my stuff running on two Intel CPUs.Unfortunatly my program fails to run on Intel Core i7 2600k and Intel Core i7 2620M and I think that this could be a bug withinthe Intel OpenCL SDK 1.5. I'm using Arch Linux on both Intel CPUs with like I said Intel OpenCL SDK 1.5 and the latest Nvidia OpenCL Headers.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I reduced my program to a very small piece of code, which runs fine on my Nvidia GTX 560TI, Nvidia Quadro FX570 and a IBMQS22 Blade (Cell).&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Let's have a look at it: I forward a struct as parameter to an OpenCL kernel, which look like this:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]struct myStruct {
    unsigned int A;
    unsigned int B;
    unsigned int C;
    unsigned int D;
};

__kernel void ckInit( struct myStruct ctl )
{
// just do nothing :-)
}[/cpp]&lt;/PRE&gt;&lt;DIV id="_mcePaste"&gt;... within the host code, the struct looks like following:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]struct myStruct {
    cl_uint A;
    cl_uint B;
    cl_uint C;
    cl_uint D;
};[/cpp]&lt;/PRE&gt;&lt;DIV id="_mcePaste"&gt;... and within the host code function I set the kernel arguments like this:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]    struct myStruct my_test_struct;
    my_test_struct.A = 1;
    my_test_struct.B = 2;
    my_test_struct.C = 3;
    my_test_struct.D = 4;

    error = clSetKernelArg(ckInit, 0, sizeof(my_test_struct), (void*)&amp;amp;my_test_struct);
    if (error != CL_SUCCESS) {
       printf("Error creating clSetKernelArg!\n");
       exit(error);
    }

    size_t szGlobalWorkSize[2] = {8,8};
    size_t szLocalWorkSize[2]  = {8,8};
    error = clEnqueueNDRangeKernel(queue, ckInit, 2, NULL, szGlobalWorkSize, szLocalWorkSize, 0, NULL, NULL);
    if (error != CL_SUCCESS) {
       printf("Error creating clEnqueueNDRangeKernel!\n");
       exit(error);
    }[/cpp]&lt;/PRE&gt; &lt;DIV id="_mcePaste"&gt;... running this on Nvidia OpenCL devices or the cell OpenCL device works fine.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;On Intel devices I get an error and the error code is: "CL_INVALID_ARG_SIZE"&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;You could say: struct forwarding is not supported ... maybe?!? ... but reducing the struct to two unsigned int(or also float) works on Intel.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Furthermore, increasing the size of the unsigned int to 8, I get a bad segmentation fault. (You can also take 8 floats and it happens just the same.)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;GDB shows the following:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[bash](gdb) backtrace
#0  0x00007ffff71e71cc in Intel::OpenCL::Framework::MemoryObject::GetDeviceMemoryObject(_cl_device_id*) () from /opt/intel/opencl-sdk/libintelocl.so
#1  0x00007ffff71e91f8 in Intel::OpenCL::Framework::MemoryObject::IsAllocated(_cl_device_id*) () from /opt/intel/opencl-sdk/libintelocl.so
#2  0x00007ffff7203931 in Intel::OpenCL::Framework::NDRangeKernelCommand::Init() () from /opt/intel/opencl-sdk/libintelocl.so
#3  0x00007ffff71f7ff5 in Intel::OpenCL::Framework::ExecutionModule::EnqueueNDRangeKernel(_cl_command_queue*, _cl_kernel*, unsigned int, unsigned long const*, unsigned long const*, unsigned long const*, unsigned int, _cl_event* const*, _cl_event**) () from /opt/intel/opencl-sdk/libintelocl.so
#4  0x00007ffff71dc876 in clEnqueueNDRangeKernel () from /opt/intel/opencl-sdk/libintelocl.so
#5  0x000000000040145d in oclInterface ()
#6  0x00000000004010b7 in main ()[/bash]&lt;/PRE&gt; &lt;DIV id="_mcePaste"&gt;Within the last few days I tried to get this fixed and read that I have to align my struct (within the host code I think) or pack it ...&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;But I got confused, because I'm not really familiar with aligning structs and I think it can't be right, because on other devices from other vendors it works fine :-)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;So the only way around this problem was following OpenCL kernel (here with 8 unsigned int):&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]struct myStruct {
    unsigned int A;
    unsigned int B;
    unsigned int C;
    unsigned int D;
    unsigned int A1;
    unsigned int B1;
    unsigned int C1;
    unsigned int D1;
};

__kernel void ckInit( __constant struct myStruct* ctl )
{
}[/cpp]&lt;/PRE&gt; &lt;DIV id="_mcePaste"&gt;Within the host code I'm creating a buffer and writing the struct into the buffer. This works fine on Nvidia GPU, IBM Cell and Intel ... but this is only a way around and no solution ... :-/&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;... the host code struct looks like this:&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[cpp]struct myStruct {
    cl_uint A;
    cl_uint B;
    cl_uint C;
    cl_uint D;
    cl_uint A1;
    cl_uint B1;
    cl_uint C1;
    cl_uint D1;
};[/cpp]&lt;/PRE&gt; &lt;DIV&gt;... and the host code function like this:&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[cpp]    struct myStruct my_test_struct;
    my_test_struct.A = 1;&lt;BR /&gt;    my_test_struct.B = 2;&lt;BR /&gt;    my_test_struct.C = 3;&lt;BR /&gt;    my_test_struct.D = 4;&lt;BR /&gt;    my_test_struct.A1 = 5;&lt;BR /&gt;    my_test_struct.B1 = 6;&lt;BR /&gt;    my_test_struct.C1 = 7;&lt;BR /&gt;    my_test_struct.D1 = 8;&lt;BR /&gt;
    cl_mem clBuffer_struct = clCreateBuffer(context, CL_MEM_READ_WRITE, sizeof(my_test_struct), NULL, &amp;amp;error);

    error = clSetKernelArg(ckInit, 0, sizeof(clBuffer_struct), (void*)&amp;amp;clBuffer_struct));
    if (error != CL_SUCCESS) {
       printf("Error creating clSetKernelArg!\n");
       exit(error);
    }

    error = clEnqueueWriteBuffer(queue, clBuffer_struct, CL_TRUE, 0, sizeof(my_test_struct), (void*) &amp;amp;my_test_struct, 0, NULL, NULL);
    if (error != CL_SUCCESS) {
       printf("Error creating clEnqueueWriteBuffer!\n");
       exit(error);
    }[/cpp]&lt;/PRE&gt; &lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Is this a bug or a feature?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I hope you will fix this :-)&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Patrick&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 05 Dec 2011 20:21:34 GMT</pubDate>
    <dc:creator>p_siegl</dc:creator>
    <dc:date>2011-12-05T20:21:34Z</dc:date>
    <item>
      <title>Problem: struct forwarding to kernel (Intel OpenCL SDK 1.5)</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781262#M391</link>
      <description>&lt;DIV id="_mcePaste"&gt;Hi there,&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I'm using OpenCL for a few accelerators, but within the last few days I tried to get my stuff running on two Intel CPUs.Unfortunatly my program fails to run on Intel Core i7 2600k and Intel Core i7 2620M and I think that this could be a bug withinthe Intel OpenCL SDK 1.5. I'm using Arch Linux on both Intel CPUs with like I said Intel OpenCL SDK 1.5 and the latest Nvidia OpenCL Headers.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I reduced my program to a very small piece of code, which runs fine on my Nvidia GTX 560TI, Nvidia Quadro FX570 and a IBMQS22 Blade (Cell).&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Let's have a look at it: I forward a struct as parameter to an OpenCL kernel, which look like this:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]struct myStruct {
    unsigned int A;
    unsigned int B;
    unsigned int C;
    unsigned int D;
};

__kernel void ckInit( struct myStruct ctl )
{
// just do nothing :-)
}[/cpp]&lt;/PRE&gt;&lt;DIV id="_mcePaste"&gt;... within the host code, the struct looks like following:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]struct myStruct {
    cl_uint A;
    cl_uint B;
    cl_uint C;
    cl_uint D;
};[/cpp]&lt;/PRE&gt;&lt;DIV id="_mcePaste"&gt;... and within the host code function I set the kernel arguments like this:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]    struct myStruct my_test_struct;
    my_test_struct.A = 1;
    my_test_struct.B = 2;
    my_test_struct.C = 3;
    my_test_struct.D = 4;

    error = clSetKernelArg(ckInit, 0, sizeof(my_test_struct), (void*)&amp;amp;my_test_struct);
    if (error != CL_SUCCESS) {
       printf("Error creating clSetKernelArg!\n");
       exit(error);
    }

    size_t szGlobalWorkSize[2] = {8,8};
    size_t szLocalWorkSize[2]  = {8,8};
    error = clEnqueueNDRangeKernel(queue, ckInit, 2, NULL, szGlobalWorkSize, szLocalWorkSize, 0, NULL, NULL);
    if (error != CL_SUCCESS) {
       printf("Error creating clEnqueueNDRangeKernel!\n");
       exit(error);
    }[/cpp]&lt;/PRE&gt; &lt;DIV id="_mcePaste"&gt;... running this on Nvidia OpenCL devices or the cell OpenCL device works fine.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;On Intel devices I get an error and the error code is: "CL_INVALID_ARG_SIZE"&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;You could say: struct forwarding is not supported ... maybe?!? ... but reducing the struct to two unsigned int(or also float) works on Intel.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Furthermore, increasing the size of the unsigned int to 8, I get a bad segmentation fault. (You can also take 8 floats and it happens just the same.)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;GDB shows the following:&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[bash](gdb) backtrace
#0  0x00007ffff71e71cc in Intel::OpenCL::Framework::MemoryObject::GetDeviceMemoryObject(_cl_device_id*) () from /opt/intel/opencl-sdk/libintelocl.so
#1  0x00007ffff71e91f8 in Intel::OpenCL::Framework::MemoryObject::IsAllocated(_cl_device_id*) () from /opt/intel/opencl-sdk/libintelocl.so
#2  0x00007ffff7203931 in Intel::OpenCL::Framework::NDRangeKernelCommand::Init() () from /opt/intel/opencl-sdk/libintelocl.so
#3  0x00007ffff71f7ff5 in Intel::OpenCL::Framework::ExecutionModule::EnqueueNDRangeKernel(_cl_command_queue*, _cl_kernel*, unsigned int, unsigned long const*, unsigned long const*, unsigned long const*, unsigned int, _cl_event* const*, _cl_event**) () from /opt/intel/opencl-sdk/libintelocl.so
#4  0x00007ffff71dc876 in clEnqueueNDRangeKernel () from /opt/intel/opencl-sdk/libintelocl.so
#5  0x000000000040145d in oclInterface ()
#6  0x00000000004010b7 in main ()[/bash]&lt;/PRE&gt; &lt;DIV id="_mcePaste"&gt;Within the last few days I tried to get this fixed and read that I have to align my struct (within the host code I think) or pack it ...&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;But I got confused, because I'm not really familiar with aligning structs and I think it can't be right, because on other devices from other vendors it works fine :-)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;So the only way around this problem was following OpenCL kernel (here with 8 unsigned int):&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;PRE&gt;[cpp]struct myStruct {
    unsigned int A;
    unsigned int B;
    unsigned int C;
    unsigned int D;
    unsigned int A1;
    unsigned int B1;
    unsigned int C1;
    unsigned int D1;
};

__kernel void ckInit( __constant struct myStruct* ctl )
{
}[/cpp]&lt;/PRE&gt; &lt;DIV id="_mcePaste"&gt;Within the host code I'm creating a buffer and writing the struct into the buffer. This works fine on Nvidia GPU, IBM Cell and Intel ... but this is only a way around and no solution ... :-/&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;... the host code struct looks like this:&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[cpp]struct myStruct {
    cl_uint A;
    cl_uint B;
    cl_uint C;
    cl_uint D;
    cl_uint A1;
    cl_uint B1;
    cl_uint C1;
    cl_uint D1;
};[/cpp]&lt;/PRE&gt; &lt;DIV&gt;... and the host code function like this:&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;PRE&gt;[cpp]    struct myStruct my_test_struct;
    my_test_struct.A = 1;&lt;BR /&gt;    my_test_struct.B = 2;&lt;BR /&gt;    my_test_struct.C = 3;&lt;BR /&gt;    my_test_struct.D = 4;&lt;BR /&gt;    my_test_struct.A1 = 5;&lt;BR /&gt;    my_test_struct.B1 = 6;&lt;BR /&gt;    my_test_struct.C1 = 7;&lt;BR /&gt;    my_test_struct.D1 = 8;&lt;BR /&gt;
    cl_mem clBuffer_struct = clCreateBuffer(context, CL_MEM_READ_WRITE, sizeof(my_test_struct), NULL, &amp;amp;error);

    error = clSetKernelArg(ckInit, 0, sizeof(clBuffer_struct), (void*)&amp;amp;clBuffer_struct));
    if (error != CL_SUCCESS) {
       printf("Error creating clSetKernelArg!\n");
       exit(error);
    }

    error = clEnqueueWriteBuffer(queue, clBuffer_struct, CL_TRUE, 0, sizeof(my_test_struct), (void*) &amp;amp;my_test_struct, 0, NULL, NULL);
    if (error != CL_SUCCESS) {
       printf("Error creating clEnqueueWriteBuffer!\n");
       exit(error);
    }[/cpp]&lt;/PRE&gt; &lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Is this a bug or a feature?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I hope you will fix this :-)&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Patrick&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 05 Dec 2011 20:21:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781262#M391</guid>
      <dc:creator>p_siegl</dc:creator>
      <dc:date>2011-12-05T20:21:34Z</dc:date>
    </item>
    <item>
      <title>Problem: struct forwarding to kernel (Intel OpenCL SDK 1.5)</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781263#M392</link>
      <description>&lt;DIV&gt;*PUSH*&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;Is there really nobody who has an idea if it is a bug or not?&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;Patrick&lt;/DIV&gt;</description>
      <pubDate>Wed, 07 Dec 2011 16:41:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781263#M392</guid>
      <dc:creator>p_siegl</dc:creator>
      <dc:date>2011-12-07T16:41:55Z</dc:date>
    </item>
    <item>
      <title>Problem: struct forwarding to kernel (Intel OpenCL SDK 1.5)</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781264#M393</link>
      <description>Hi Patrick,&lt;BR /&gt;&lt;BR /&gt;In general there is a bit of ambiguity in the OpenCL specification with regards to structs.&lt;BR /&gt;The ambiguity is that the struct on the host and the struct on the device don'tnecessarily share the same layout in memory. For example a certain device can choose to pad, reorder members differently than what the host would do. So when one performs a &lt;EM&gt;sizeof( mystructure )&lt;/EM&gt; on the host or initializes a data member in the structure on the host &lt;EM&gt;mystruct.myfield = something... &lt;/EM&gt;doesn't necessarily reflects well the structure on the device. Wierd stuff could happen...&lt;BR /&gt;&lt;BR /&gt;Having said that, we are now investigating the scenario which you are describing and will let you know soon whether this is a bug or something which falls in the category which I have described above.&lt;BR /&gt;&lt;BR /&gt;Thanks ,&lt;BR /&gt;Boaz</description>
      <pubDate>Thu, 08 Dec 2011 06:53:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781264#M393</guid>
      <dc:creator>Boaz_O_Intel</dc:creator>
      <dc:date>2011-12-08T06:53:54Z</dc:date>
    </item>
    <item>
      <title>Problem: struct forwarding to kernel (Intel OpenCL SDK 1.5)</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781265#M394</link>
      <description>Hi Boaz,&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;thank you for your feedback and your explanation.&lt;/DIV&gt;&lt;DIV&gt;Have you got any interesting results yet? :-)&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;Patrick&lt;/DIV&gt;</description>
      <pubDate>Sun, 11 Dec 2011 21:41:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781265#M394</guid>
      <dc:creator>p_siegl</dc:creator>
      <dc:date>2011-12-11T21:41:03Z</dc:date>
    </item>
    <item>
      <title>Problem: struct forwarding to kernel (Intel OpenCL SDK 1.5)</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781266#M395</link>
      <description>Hi Patrick,&lt;BR /&gt;&lt;BR /&gt;We have analyzed the issue and this turns out to be a bug in our SDK.&lt;BR /&gt;At the moment it seems like our implementaiton is broken with regards to passing structs to kernels.&lt;BR /&gt;We are working on a fix which will be included in one of our coming releases.&lt;BR /&gt;&lt;BR /&gt;I hope you are able to workaround this bug for now.&lt;BR /&gt;Thanks for raising this issue in the forum and sorry for the inconenice.&lt;BR /&gt;&lt;BR /&gt;Boaz</description>
      <pubDate>Mon, 12 Dec 2011 06:25:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Problem-struct-forwarding-to-kernel-Intel-OpenCL-SDK-1-5/m-p/781266#M395</guid>
      <dc:creator>Boaz_O_Intel</dc:creator>
      <dc:date>2011-12-12T06:25:33Z</dc:date>
    </item>
  </channel>
</rss>

