<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 16, 2017 at 12:50 AM, Hal Finkel via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <p>Hi, Erik,</p>
    <p>That's great!<br>
    </p>
    <p>Gor, Marshall, and I discussed this after some past committee
      meeting. We wanted to architect the implementation so that we
      could provide different underlying concurrency mechanisms;
      including:</p>
    <p>   a. A self-contained thread-pool-based implementation using a
      work-stealing scheme.</p>
    <p>   b. An implementation that wraps Grand Central Dispatch (for
      Mac and any other platforms providing libdispatch).</p>
    <p>   c. An implementation that uses OpenMP.</p>
    <p>The OpenMP-based provider is essential for interoperability in
      applications using OpenMP, GCD seemed most natural on Mac, and the
      self-contained implementation is available for anyone else.
      CUDA+UVM should be possible in the future as well. All of these
      mechanisms can export an interface for scheduling tasks, and we
      specifically discussed the interface having a "bulk enqueue"
      capability. This is essential for efficiently mapping onto several
      potential underlying technologies (e.g. OpenMP). You don't want to
      generate individual tasks for each item, and for underlying
      technologies that can do intelligent things, you want the
      underlying technology to make the coarsening decisions.</p>
    <p>par_unseq should map, via pragmas, either Clang-specific and/or
      OpenMP, to enabling vectorizaton. As a longer-term exercise, we
      might need additional compiler extensions to make this work well
      for some algorithms (such as sorting), dealing with exceptions,
      etc.</p>
    <p> -Hal<br></p></div></blockquote><div><br></div><div>Don't forget about ConcRT on Windows. </div><div><br></div><div>- Michael Spencer<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF"><p>
    </p><div><div class="gmail-h5">
    <div class="gmail-m_-4134144157231760536moz-cite-prefix">On 05/15/2017 11:54 AM, Erik Pilkington
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      
      <div id="gmail-m_-4134144157231760536bloop_customfont" style="font-family:helvetica,arial;font-size:13px;color:rgb(0,0,0);margin:0px">Hello
        all,</div>
      <div class="gmail-m_-4134144157231760536bloop_sign" id="gmail-m_-4134144157231760536bloop_sign_1494866586037445120">
        <div><br>
        </div>
        I’m an intern at Apple this summer, and my project is to work on
        the C++17 parallel algorithms library. In a recent thread, Hal
        mentioned [0] that he had spoken with Marshall about the design
        of the library. I’m currently working on a prototype that is
        pretty similar to what was committed into lib/Support in
        r302748. I’m wondering what you folks talked about, and if any
        consensus wrt to design has been reached. Even if not, I’d love
        to hear about what thoughts were exchanged, or any reference
        material that could bring me up to speed!
        <div><br>
        </div>
        <div>It might also be worth having a conversation about how to
          divide up the work to be done here. Were any of you intending
          to start working on the library?<br>
          <div><br>
            <div>Thanks!</div>
            <div>Erik</div>
            <div><br>
            </div>
            <div><span>[0] </span><a href="http://lists.llvm.org/pipermail/llvm-dev/2017-May/112988.html" target="_blank">http://lists.llvm.org/<wbr>pipermail/llvm-dev/2017-May/<wbr>112988.html</a><br>
            </div>
          </div>
        </div>
        <div><br>
        </div>
      </div>
    </blockquote>
    <br>
    </div></div><span class="gmail-HOEnZb"><font color="#888888"><pre class="gmail-m_-4134144157231760536moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </font></span></div>

<br>______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div>