<?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 Intel OpenCL SDK Command Queue View problem / OpenCL threading issue in OpenCL* for CPU</title>
    <link>https://community.intel.com/t5/OpenCL-for-CPU/Intel-OpenCL-SDK-Command-Queue-View-problem-OpenCL-threading/m-p/1147470#M6010</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Today I downloaded the latest version of Intel SDK for OpenCL. I very like it. It's nice to look inside the device.&lt;/P&gt;

&lt;P&gt;I have found couple strange thing with the Command Queue View.&lt;BR /&gt;
	1.&amp;nbsp;It shows commands a bit strange way. I believe there is some problems with the font.&lt;BR /&gt;
	2. Some commands are found at 2 stages at the same time: WRITE_IMAGE(4), MAP_BUFFER(8), MAP_BUFFER(11), MAP_BUFFER(13). It's a bit hard to recognize them with the font issue. &lt;STRONG&gt;Is it expected?&lt;/STRONG&gt;&lt;BR /&gt;
	3. Time after time I've got garbage in mapped region, when working kernel size is small (= kernel loading/submitting time is much bigger than kernel running time). The buffer contains bytes like "&lt;SPAN style="font-size: 13.008px;"&gt;_Z55intel_sub_group_avc_ref_set_motion_vector_cost_functionmDv2_jh33intel_sub_group_avc_re". Looks like a wrong region was mapped. No error/warnings were return from any OpenCL function before getting the garbage. The OpenCL log view from MSVC contains only CL_SUCCESS.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="command queue"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/10334i44E5C16162D25375/image-size/large?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="command queue" alt="command queue" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;A brief description of my application. The application creates an asynchronous command queue on the Intel device, writes YUV data to 8-bit frames allocated on the device (asynchronous clEnqueueWriteImage), asynchronously runs kernel &lt;SPAN style="font-size: 13.008px;"&gt;vme.cl downloaded from the Intel site, and maps buffers with results into the host memory (asynchronous clEnqueueMapBuffer). All cl_event objects are passed correctly between the stages. At the end applications synchronizes with latest cl_event and reads the data. Commands are submitted from various threads. &lt;STRONG&gt;Is it possible that OpenCL library has problems with calls from different threads?&lt;/STRONG&gt;&amp;nbsp;When I map buffers with results only once (at the starting of the application), the everything runs fine. But it contradicts with OpenCL description of&amp;nbsp;clEnqueueMapBuffer: "&lt;EM&gt;The behavior of writes by a kernel executing on a device to a mapped region of a memory object is undefined&lt;/EM&gt;". So I have to map buffers after the kernel execution and to unmap them after finishing using.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;My PC is running under regular Windows 10 Pro 64 bit, 24Gb RAM, i7 6700, GPU driver version is&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;22.20.16.4836. I'm running MSVC 2015 version 14.0.25420.01 Update 3.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I'll be very appreciated for any help.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;Regards,&lt;BR /&gt;
	Victor&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 03 Mar 2018 01:01:10 GMT</pubDate>
    <dc:creator>Victor_Cherepanov</dc:creator>
    <dc:date>2018-03-03T01:01:10Z</dc:date>
    <item>
      <title>Intel OpenCL SDK Command Queue View problem / OpenCL threading issue</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/Intel-OpenCL-SDK-Command-Queue-View-problem-OpenCL-threading/m-p/1147470#M6010</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Today I downloaded the latest version of Intel SDK for OpenCL. I very like it. It's nice to look inside the device.&lt;/P&gt;

&lt;P&gt;I have found couple strange thing with the Command Queue View.&lt;BR /&gt;
	1.&amp;nbsp;It shows commands a bit strange way. I believe there is some problems with the font.&lt;BR /&gt;
	2. Some commands are found at 2 stages at the same time: WRITE_IMAGE(4), MAP_BUFFER(8), MAP_BUFFER(11), MAP_BUFFER(13). It's a bit hard to recognize them with the font issue. &lt;STRONG&gt;Is it expected?&lt;/STRONG&gt;&lt;BR /&gt;
	3. Time after time I've got garbage in mapped region, when working kernel size is small (= kernel loading/submitting time is much bigger than kernel running time). The buffer contains bytes like "&lt;SPAN style="font-size: 13.008px;"&gt;_Z55intel_sub_group_avc_ref_set_motion_vector_cost_functionmDv2_jh33intel_sub_group_avc_re". Looks like a wrong region was mapped. No error/warnings were return from any OpenCL function before getting the garbage. The OpenCL log view from MSVC contains only CL_SUCCESS.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="command queue"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/10334i44E5C16162D25375/image-size/large?v=v2&amp;amp;px=999&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="command queue" alt="command queue" /&gt;&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;A brief description of my application. The application creates an asynchronous command queue on the Intel device, writes YUV data to 8-bit frames allocated on the device (asynchronous clEnqueueWriteImage), asynchronously runs kernel &lt;SPAN style="font-size: 13.008px;"&gt;vme.cl downloaded from the Intel site, and maps buffers with results into the host memory (asynchronous clEnqueueMapBuffer). All cl_event objects are passed correctly between the stages. At the end applications synchronizes with latest cl_event and reads the data. Commands are submitted from various threads. &lt;STRONG&gt;Is it possible that OpenCL library has problems with calls from different threads?&lt;/STRONG&gt;&amp;nbsp;When I map buffers with results only once (at the starting of the application), the everything runs fine. But it contradicts with OpenCL description of&amp;nbsp;clEnqueueMapBuffer: "&lt;EM&gt;The behavior of writes by a kernel executing on a device to a mapped region of a memory object is undefined&lt;/EM&gt;". So I have to map buffers after the kernel execution and to unmap them after finishing using.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;My PC is running under regular Windows 10 Pro 64 bit, 24Gb RAM, i7 6700, GPU driver version is&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;22.20.16.4836. I'm running MSVC 2015 version 14.0.25420.01 Update 3.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I'll be very appreciated for any help.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;Regards,&lt;BR /&gt;
	Victor&lt;/SPAN&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 03 Mar 2018 01:01:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/Intel-OpenCL-SDK-Command-Queue-View-problem-OpenCL-threading/m-p/1147470#M6010</guid>
      <dc:creator>Victor_Cherepanov</dc:creator>
      <dc:date>2018-03-03T01:01:10Z</dc:date>
    </item>
  </channel>
</rss>

