<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>