<div dir="ltr"><div>Even if the API is stable, there is no guarantee for compatibility.<div></div><div>I was burnt by mixing old system libomp and newer libomptarget.<br></div></div><div><a href="http://lists.llvm.org/pipermail/openmp-dev/2019-March/002439.html">http://lists.llvm.org/pipermail/openmp-dev/2019-March/002439.html</a></div><div><br></div><div>As a user, I don't want to get any headache with compatibility. The best way is not even trying it.</div><div>Unless developers are 100% sure mixing works and mixing is covered by rigorous tests, it is better to forbid users trying to mix and later run into problems.</div><div>Compile time stop is better than run time error.</div><div><br></div><div>In short, mixing Clang 10 with libomp/libomptarget 11 or mixing Clang 11 with libomp/libomptarget 10 is not expected by me.<br></div><div><br></div><div>Best,<br></div><div>Ye<br></div><div><div><div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">===================<br>
Ye Luo, Ph.D.<br>Computational Science Division & Leadership Computing Facility<br>
Argonne National Laboratory</div></div></div></div></div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 7, 2020 at 9:59 AM Johannes Doerfert via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org" target="_blank">openmp-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div>
    <p><font face="Hack Nerd Font Mono">As part of a patch to remove
        dead arguments [0] a discussion started which asked for an RFC
        [1].</font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">--</font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">I want to clarify that there is
        no guarantee the *device runtime* (aka.
        libomptarget-nvptx-sm_XX.bc) has a stable API.</font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">Quick summary of the discussion:</font></p>
    <p><font face="Hack Nerd Font Mono">- The library in question is
        *not* part of libomp (which has a stable API) or even
        libomptarget.<br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">- We are not aware of any
        non-clang user of this library.<br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">- The only usage model we
        (properly) support is static linking of the runtime as LLVM-IR.
        This inherently ties the runtime to the compiler (version):<br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">  - Combining a new compiler
        with an old (LLVM-IR) runtime cannot be expected to work as we
        might have new entry points.<font face="Hack Nerd Font Mono"><br>
        </font></font></p>
    <p><font face="Hack Nerd Font Mono"><font face="Hack Nerd Font Mono"> 
          - Combining an old compiler with a new (LLVM-IR) runtime
          cannot be expected to work as we cannot guarantee the old
          toolchain can handle the new IR .<br>
        </font>
      </font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">Please provide feedback asap,
        this is a requirement for the GPU state machine patch [2] which
        fixes an important register usage bug [3].<br>
      </font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">Thanks,</font></p>
    <p><font face="Hack Nerd Font Mono">  Johannes<br>
      </font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono"><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">[0]
        <a href="https://reviews.llvm.org/D83268" target="_blank">https://reviews.llvm.org/D83268</a><br>
      </font></p>
    <p><font face="Hack Nerd Font Mono">[1]
        <a href="https://reviews.llvm.org/D83268#2136060" target="_blank">https://reviews.llvm.org/D83268#2136060</a></font></p>
    <p>[2] <a href="https://reviews.llvm.org/D83271" target="_blank">https://reviews.llvm.org/D83271</a><br>
    </p>
    <p>[3] <a href="http://llvm.org/PR46450" target="_blank">http://llvm.org/PR46450</a><br>
    </p>
  </div>

_______________________________________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a><br>
</blockquote></div>