<?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:Skipping items in parallel_for() in Intel® oneAPI DPC++/C++ Compiler</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296260#M1378</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;I&gt;&amp;gt;&amp;gt; &lt;/I&gt;&lt;I style="font-size: 16px; font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;"&gt;&amp;nbsp;I might also care about some random interior nodes as well&lt;/I&gt;&lt;/P&gt;&lt;P&gt;Could you please give us some more details regarding the above statement, which might help us in sorting out the issue.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 06 Jul 2021 11:27:12 GMT</pubDate>
    <dc:creator>VidyalathaB_Intel</dc:creator>
    <dc:date>2021-07-06T11:27:12Z</dc:date>
    <item>
      <title>Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1294036#M1339</link>
      <description>&lt;DIV id="chat-messages-857513104221011988" class="message-2qnXI6 cozyMessage-3V1Y8y groupStart-23k01U wrapper-2a6GCs cozy-3raOZG zalgo-jN1Ica" tabindex="-1" role="listitem" data-list-item-id="chat-messages___chat-messages-857513104221011988"&gt;
&lt;DIV class="contents-2mQqc9" role="document"&gt;
&lt;DIV class="markup-2BOw-j messageContent-2qWWxC"&gt;Hi,&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="buttonContainer-DHceWr"&gt;
&lt;DIV class="buttons-cl5qTG container-3npvBV isHeader-2dII4U" aria-label="Message Actions"&gt;
&lt;DIV class="wrapper-2aW0bm"&gt;
&lt;DIV class="button-1ZiXG9" tabindex="0" role="button" aria-label="More" aria-controls="popout_1498" aria-expanded="false"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="chat-messages-857513271077896192" class="message-2qnXI6 cozyMessage-3V1Y8y wrapper-2a6GCs cozy-3raOZG zalgo-jN1Ica" tabindex="-1" role="listitem" data-list-item-id="chat-messages___chat-messages-857513271077896192"&gt;
&lt;DIV class="contents-2mQqc9" role="document"&gt;
&lt;DIV class="markup-2BOw-j messageContent-2qWWxC"&gt;In case I don't want to iterate all the items, is there an efficient way to break&amp;nbsp;parallel_for()?&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="chat-messages-859105258408378378" class="message-2qnXI6 cozyMessage-3V1Y8y groupStart-23k01U wrapper-2a6GCs cozy-3raOZG zalgo-jN1Ica" tabindex="-1" role="listitem" data-list-item-id="chat-messages___chat-messages-859105258408378378"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="message-2qnXI6 cozyMessage-3V1Y8y groupStart-23k01U wrapper-2a6GCs cozy-3raOZG zalgo-jN1Ica" tabindex="-1" role="listitem" data-list-item-id="chat-messages___chat-messages-859105258408378378"&gt;Thanks,&lt;/DIV&gt;
&lt;DIV class="message-2qnXI6 cozyMessage-3V1Y8y groupStart-23k01U wrapper-2a6GCs cozy-3raOZG zalgo-jN1Ica" tabindex="-1" role="listitem" data-list-item-id="chat-messages___chat-messages-859105258408378378"&gt;Leila&lt;/DIV&gt;</description>
      <pubDate>Mon, 28 Jun 2021 18:21:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1294036#M1339</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-06-28T18:21:30Z</dc:date>
    </item>
    <item>
      <title>Re: Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1294283#M1340</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;
&lt;P&gt;Could you please let us know the Use Case on which you want to implement this &amp;gt;&amp;gt;&amp;nbsp;&lt;I&gt;way to break parallel_for()&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;and also the way which you are following currently in your code, for skipping some of the iterations ?&lt;/P&gt;
&lt;P&gt;So that we can work on it from our end.&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;
&lt;P&gt;Vidya.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Jun 2021 11:16:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1294283#M1340</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2021-06-29T11:16:59Z</dc:date>
    </item>
    <item>
      <title>Re: Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1294294#M1341</link>
      <description>&lt;P&gt;Hi Vidya,&lt;/P&gt;
&lt;P&gt;This is my current code:&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;init_velocity&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;queue&lt;/SPAN&gt; &lt;SPAN&gt;q&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;m&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;n&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;double&lt;/SPAN&gt; &lt;SPAN&gt;psi&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;DOMAIN_SIZE&lt;/SPAN&gt;&lt;SPAN&gt;],&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double&lt;/SPAN&gt; &lt;SPAN&gt;u&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;DOMAIN_SIZE&lt;/SPAN&gt;&lt;SPAN&gt;], &lt;/SPAN&gt;&lt;SPAN&gt;double&lt;/SPAN&gt; &lt;SPAN&gt;v&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;DOMAIN_SIZE&lt;/SPAN&gt;&lt;SPAN&gt;], &lt;/SPAN&gt;&lt;SPAN&gt;double&lt;/SPAN&gt; &lt;SPAN&gt;p&lt;/SPAN&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;DOMAIN_SIZE&lt;/SPAN&gt;&lt;SPAN&gt;]) {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;...&lt;/DIV&gt;
&lt;DIV&gt;//&amp;nbsp;&lt;SPAN&gt;DOMAIN_SIZE = (m+2)*(n+2)&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;auto&lt;/SPAN&gt;&lt;SPAN&gt; R = range&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;{&lt;/SPAN&gt;&lt;SPAN&gt;DOMAIN_SIZE&lt;/SPAN&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; buffer&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;double&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;u_buf&lt;/SPAN&gt;&lt;SPAN&gt;(u, R),&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;v_buf&lt;/SPAN&gt;&lt;SPAN&gt;(v, R),&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;p_buf&lt;/SPAN&gt;&lt;SPAN&gt;(p, R),&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;psi_buf&lt;/SPAN&gt;&lt;SPAN&gt;(psi, R);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;q&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;submit&lt;/SPAN&gt;&lt;SPAN&gt;([&amp;amp;](&lt;/SPAN&gt;&lt;SPAN&gt;handler&lt;/SPAN&gt; &lt;SPAN&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN&gt;h&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;auto&lt;/SPAN&gt;&lt;SPAN&gt; psi = &lt;/SPAN&gt;&lt;SPAN&gt;psi_buf&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;get_access&lt;/SPAN&gt;&lt;SPAN&gt;(h, read_only);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;auto&lt;/SPAN&gt;&lt;SPAN&gt; u = &lt;/SPAN&gt;&lt;SPAN&gt;u_buf&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;get_access&lt;/SPAN&gt;&lt;SPAN&gt;(h, write_only);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;auto&lt;/SPAN&gt; &lt;SPAN&gt;v&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;v_buf&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;get_access&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;h&lt;/SPAN&gt;&lt;SPAN&gt;, write_only);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;auto&lt;/SPAN&gt; &lt;SPAN&gt;p&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;p_buf&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;get_access&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;h&lt;/SPAN&gt;&lt;SPAN&gt;, write_only);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;h&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;parallel_for&lt;/SPAN&gt;&lt;SPAN&gt;(R, [=](&lt;/SPAN&gt;&lt;SPAN&gt;auto&lt;/SPAN&gt; &lt;SPAN&gt;ij&lt;/SPAN&gt;&lt;SPAN&gt;) {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int&lt;/SPAN&gt;&lt;SPAN&gt; j = ij%(n+&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int&lt;/SPAN&gt;&lt;SPAN&gt; i = (&lt;/SPAN&gt;&lt;SPAN&gt;int&lt;/SPAN&gt;&lt;SPAN&gt;) (ij - j)/(n+&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int&lt;/SPAN&gt;&lt;SPAN&gt; ijm1 = ij-&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int&lt;/SPAN&gt; &lt;SPAN&gt;im1j&lt;/SPAN&gt;&lt;SPAN&gt;= ij-(n+&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if&lt;/SPAN&gt;&lt;SPAN&gt; (i==&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt; || j==&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt; || i == m+&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt; || j== n+&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;) {} &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;u&lt;/SPAN&gt;&lt;SPAN&gt;[ij] = -(&lt;/SPAN&gt;&lt;SPAN&gt;psi&lt;/SPAN&gt;&lt;SPAN&gt;[ij] - &lt;/SPAN&gt;&lt;SPAN&gt;psi&lt;/SPAN&gt;&lt;SPAN&gt;[ijm1]) / dy;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v&lt;/SPAN&gt;&lt;SPAN&gt;[ij] = (&lt;/SPAN&gt;&lt;SPAN&gt;psi&lt;/SPAN&gt;&lt;SPAN&gt;[ij] - &lt;/SPAN&gt;&lt;SPAN&gt;psi&lt;/SPAN&gt;&lt;SPAN&gt;[im1j]) / dx;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; p&lt;/SPAN&gt;&lt;SPAN&gt;[ij] = pcf * (&lt;/SPAN&gt;&lt;SPAN&gt;cos&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2.&lt;/SPAN&gt;&lt;SPAN&gt; * (i-&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;) * di) + &lt;/SPAN&gt;&lt;SPAN&gt;cos&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2.&lt;/SPAN&gt;&lt;SPAN&gt; * (j-&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;) * dj)) + &lt;/SPAN&gt;&lt;SPAN&gt;50000.&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; });&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt; });&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;To skip the exterior nodes, I have used `&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (i==&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt; || j==&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt; || i == m+&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt; || j==n+&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;) {}`.&amp;nbsp; I might also care about some random interior nodes as well!&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Please let me know if I need to explain more.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;SPAN&gt;Leila&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 29 Jun 2021 13:51:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1294294#M1341</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-06-29T13:51:56Z</dc:date>
    </item>
    <item>
      <title>Re: Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1295713#M1373</link>
      <description>&lt;P&gt;Any comments/thoughts?&lt;/P&gt;</description>
      <pubDate>Sat, 03 Jul 2021 21:23:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1295713#M1373</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-07-03T21:23:40Z</dc:date>
    </item>
    <item>
      <title>Re:Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296260#M1378</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;I&gt;&amp;gt;&amp;gt; &lt;/I&gt;&lt;I style="font-size: 16px; font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;"&gt;&amp;nbsp;I might also care about some random interior nodes as well&lt;/I&gt;&lt;/P&gt;&lt;P&gt;Could you please give us some more details regarding the above statement, which might help us in sorting out the issue.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Jul 2021 11:27:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296260#M1378</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2021-07-06T11:27:12Z</dc:date>
    </item>
    <item>
      <title>Re: Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296294#M1381</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for getting back to me.&lt;/P&gt;
&lt;P&gt;The following figure is an example of a physical problem which is similar to what I care to solve.&lt;/P&gt;
&lt;P&gt;The exterior nodes (red and blue) are the ones that I want to skip. This is what I am trying to do in the code above. ie. is there a way to exclude some items in a parallel_for() operation?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Honestly, this is my main concern right now. I am wondering if there are other ways to do this with DPC++ or should I just make my peace with this naive approach.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A random interior node that I mentioned above could be something in the middle (is labeled by "Node m,n") that I might want to skip or treat it differently. But, if I can find an answer to my main question (skipping the exterior nodes), this should be easy to figure out.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="leilag_0-1625577933068.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/18044iEE8A1159B8126E27/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="leilag_0-1625577933068.png" alt="leilag_0-1625577933068.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for helping me with this and please let me know if I need to explain more.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Leila&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 13:34:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296294#M1381</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-07-06T13:34:36Z</dc:date>
    </item>
    <item>
      <title>Re: Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296365#M1383</link>
      <description>&lt;P&gt;Hi again,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Another example in C would be&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;for (int i=2; i&amp;lt;global_size-1; i++) {}&lt;/LI-CODE&gt;
&lt;P&gt;instead of&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;for (int i=0; i&amp;lt;global_size; i++) {}&lt;/LI-CODE&gt;
&lt;P&gt;ie. could we limit the scope of parallel_for() or even increase the stride?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Leila&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 18:56:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1296365#M1383</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-07-06T18:56:39Z</dc:date>
    </item>
    <item>
      <title>Re:Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1298132#M1410</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thanks for your patience.&lt;/P&gt;&lt;P&gt;We are looking into this issue internally. we will get back to you soon.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 13 Jul 2021 11:40:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1298132#M1410</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2021-07-13T11:40:13Z</dc:date>
    </item>
    <item>
      <title>Re:Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1303752#M1456</link>
      <description>&lt;P&gt;Hi Leila,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The exterior nodes can be skipped by using 2 dimensional nd-range (&lt;A href="https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html#_nd_range_kernels" target="_blank"&gt;https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html#_nd_range_kernels&lt;/A&gt;) and adjusting the range accordingly. For random interior nodes, what you are doing might be the best possible option.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 04 Aug 2021 22:26:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1303752#M1456</guid>
      <dc:creator>Sravani_K_Intel</dc:creator>
      <dc:date>2021-08-04T22:26:32Z</dc:date>
    </item>
    <item>
      <title>Re: Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1303986#M1460</link>
      <description>&lt;P&gt;Hello Sravani,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your answer!&lt;/P&gt;
&lt;P&gt;I did try 2d range in the beginning which was ideally what I was hoping to do but there was a compiler warning which dissuaded me!&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;// 2D range

#include &amp;lt;vector&amp;gt;
#include &amp;lt;chrono&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include "dpc_common.hpp"
#include &amp;lt;limits&amp;gt;
#include &amp;lt;CL/sycl.hpp&amp;gt;
#if FPGA || FPGA_EMULATOR
#include &amp;lt;CL/sycl/INTEL/fpga_extensions.hpp&amp;gt;
#endif

using namespace std;
using namespace sycl;

#define M 4
#define N 5
#define DOMAIN_SIZE (M+2)*(N+2)

int main () {
    
    //int dim = 2;
    auto R = range&amp;lt;2&amp;gt;{M+2, N+2};
    
    double u[DOMAIN_SIZE];
    buffer&amp;lt;double, 2&amp;gt; u_buf(u, R);
    
    for (int i=0;i&amp;lt;DOMAIN_SIZE; i++) u[i] = 0.;
    
    default_selector d_selector;
    queue q(d_selector);
    
    
    
    q.submit([&amp;amp;](handler &amp;amp;h) {
        
        auto u = u_buf.get_access(h, write_only);
        
        h.parallel_for(R, [=](auto index) {
            
            u[index[0]][index[1]] =  index[0] + index[1];
            
        }); 
    });
    
    host_accessor u_read(u_buf, read_only);
    for (int i=0; i&amp;lt;M+2; i++)
        for (int j=0; j&amp;lt;N+2; j++)
            std::cout &amp;lt;&amp;lt; "u[" &amp;lt;&amp;lt; i &amp;lt;&amp;lt; "][" &amp;lt;&amp;lt; j &amp;lt;&amp;lt; "] = " &amp;lt;&amp;lt; u_read[i][j] &amp;lt;&amp;lt; std::endl;
    
    return(0);
}&lt;/LI-CODE&gt;
&lt;P&gt;And here is the warning:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;In file included from t002.cpp:6:
In file included from /glob/development-tools/versions/oneapi/2021.2/inteloneapi/dev-utilities/2021.2.0/include/dpc_common.hpp:15:
In file included from /glob/development-tools/versions/oneapi/2021.2/inteloneapi/compiler/2021.2.0/linux/bin/../include/sycl/CL/sycl.hpp:11:
In file included from /glob/development-tools/versions/oneapi/2021.2/inteloneapi/compiler/2021.2.0/linux/bin/../include/sycl/CL/sycl/ONEAPI/atomic.hpp:11:
In file included from /glob/development-tools/versions/oneapi/2021.2/inteloneapi/compiler/2021.2.0/linux/bin/../include/sycl/CL/sycl/ONEAPI/atomic_accessor.hpp:14:
/glob/development-tools/versions/oneapi/2021.2/inteloneapi/compiler/2021.2.0/linux/bin/../include/sycl/CL/sycl/accessor.hpp:883:5: warning: loop not unrolled: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning]
    for (int I = 0; I &amp;lt; AdjustedDim; ++I) {
    ^
1 warning generated.&lt;/LI-CODE&gt;
&lt;P&gt;Is there a reason why dpcpp cannot optimize a 1d array with a 2d range?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;
&lt;P&gt;Leila&lt;/P&gt;</description>
      <pubDate>Thu, 05 Aug 2021 14:33:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1303986#M1460</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-08-05T14:33:24Z</dc:date>
    </item>
    <item>
      <title>Re:Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1307241#M1491</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sorry for the delay in my response. &lt;/P&gt;&lt;P&gt;I tried this code with the latest internal compiler build and no longer see the warning. I am seeking clarification on this from the compiler team and will get back to you once I hear back.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Aug 2021 21:26:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1307241#M1491</guid>
      <dc:creator>Sravani_K_Intel</dc:creator>
      <dc:date>2021-08-16T21:26:42Z</dc:date>
    </item>
    <item>
      <title>Re:Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1307496#M1495</link>
      <description>&lt;P&gt;Hi Leila,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Compiler engineers confirmed that the warning was emitted by mistake and the loop is being successfully unrolled. The false warning issue is now fixed and you will no longer see it in the upcoming release of the compiler. &lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 17 Aug 2021 17:24:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1307496#M1495</guid>
      <dc:creator>Sravani_K_Intel</dc:creator>
      <dc:date>2021-08-17T17:24:25Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Skipping items in parallel_for()</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1308099#M1502</link>
      <description>&lt;P&gt;Hello Sravani,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for checking that for me.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;Leila&lt;/P&gt;</description>
      <pubDate>Thu, 19 Aug 2021 13:44:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Skipping-items-in-parallel-for/m-p/1308099#M1502</guid>
      <dc:creator>leilag</dc:creator>
      <dc:date>2021-08-19T13:44:28Z</dc:date>
    </item>
  </channel>
</rss>

