<?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 Re: [OpenCL] Using USM on Intel CPU Runtime along with clSetKernelExecInfo(kernel, CL_KERNEL_EXEC_IN in OpenCL* for CPU</title>
    <link>https://community.intel.com/t5/OpenCL-for-CPU/OpenCL-Using-USM-on-Intel-CPU-Runtime-along-with/m-p/1621200#M7351</link>
    <description>&lt;P&gt;Hi, I had a brief look at this issue. Continuing the discussion from the GitHub issue:&lt;/P&gt;&lt;P&gt;I don't think the call to enable&amp;nbsp;&lt;SPAN&gt;CL_KERNEL_EXEC_INFO_INDIRECT_SHARED_ACCESS_INTEL is required.&amp;nbsp; The test app isn't making any SHARED allocations, so this call will have no affect.&amp;nbsp; Enabling CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL does have an affect, but because the set of USM pointers is explicitly provided using CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, enabling indirect access globally for all DEVICE allocations is redundant.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Note: enabling&amp;nbsp;CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL does "fix" this issue, but I think this is overkill and shouldn't be required.&amp;nbsp; Said another way, if the global indirect access flag is enabled then there is no need to pass any set of USM pointers explicitly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I don't see anything wrong with the call to provide the set of USM pointers with&amp;nbsp;CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, and it works with several other USM implementations I've tried.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Perhaps a good next step would be for somebody on the CPU OpenCL runtime team to report why the call to clEnqueueNDRangeKernel is returning CL_INVALID_OPERATION when the set of USM pointers is provided explicitly by&amp;nbsp;&lt;SPAN&gt;CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL and indirect access is NOT enabled globally.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 06 Aug 2024 15:00:25 GMT</pubDate>
    <dc:creator>Ben_A_Intel</dc:creator>
    <dc:date>2024-08-06T15:00:25Z</dc:date>
    <item>
      <title>[OpenCL] Using USM on Intel CPU Runtime along with clSetKernelExecInfo(kernel, CL_KERNEL_EXEC_INFO_U</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/OpenCL-Using-USM-on-Intel-CPU-Runtime-along-with/m-p/1621136#M7350</link>
      <description>&lt;P&gt;Original issue:&amp;nbsp;&lt;A href="https://github.com/intel/compute-runtime/issues/748" target="_blank" rel="noopener"&gt;https://github.com/intel/compute-runtime/issues/748&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Aug 2024 11:49:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/OpenCL-Using-USM-on-Intel-CPU-Runtime-along-with/m-p/1621136#M7350</guid>
      <dc:creator>Paulius_V_</dc:creator>
      <dc:date>2024-08-06T11:49:01Z</dc:date>
    </item>
    <item>
      <title>Re: [OpenCL] Using USM on Intel CPU Runtime along with clSetKernelExecInfo(kernel, CL_KERNEL_EXEC_IN</title>
      <link>https://community.intel.com/t5/OpenCL-for-CPU/OpenCL-Using-USM-on-Intel-CPU-Runtime-along-with/m-p/1621200#M7351</link>
      <description>&lt;P&gt;Hi, I had a brief look at this issue. Continuing the discussion from the GitHub issue:&lt;/P&gt;&lt;P&gt;I don't think the call to enable&amp;nbsp;&lt;SPAN&gt;CL_KERNEL_EXEC_INFO_INDIRECT_SHARED_ACCESS_INTEL is required.&amp;nbsp; The test app isn't making any SHARED allocations, so this call will have no affect.&amp;nbsp; Enabling CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL does have an affect, but because the set of USM pointers is explicitly provided using CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, enabling indirect access globally for all DEVICE allocations is redundant.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Note: enabling&amp;nbsp;CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL does "fix" this issue, but I think this is overkill and shouldn't be required.&amp;nbsp; Said another way, if the global indirect access flag is enabled then there is no need to pass any set of USM pointers explicitly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I don't see anything wrong with the call to provide the set of USM pointers with&amp;nbsp;CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL, and it works with several other USM implementations I've tried.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Perhaps a good next step would be for somebody on the CPU OpenCL runtime team to report why the call to clEnqueueNDRangeKernel is returning CL_INVALID_OPERATION when the set of USM pointers is provided explicitly by&amp;nbsp;&lt;SPAN&gt;CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL and indirect access is NOT enabled globally.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Aug 2024 15:00:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/OpenCL-for-CPU/OpenCL-Using-USM-on-Intel-CPU-Runtime-along-with/m-p/1621200#M7351</guid>
      <dc:creator>Ben_A_Intel</dc:creator>
      <dc:date>2024-08-06T15:00:25Z</dc:date>
    </item>
  </channel>
</rss>

