<div dir="auto"><div>Hey,</div><div dir="auto"><br></div><div dir="auto">Clean build here. CMake dependency tracking is unreliable.</div><div dir="auto"><br></div><div dir="auto">Ad hoc testing based on the email thread. I don't have a working cuda/nvptx baseline so in tree tests don't tell me much. I hacked my host clang install until it could handle the cuda in deviceRTL and left it at that.</div><div dir="auto"><br></div><div dir="auto">I've just sent a message to the list asking for "known working" toolchain combinations in the hope of moving to a better testing baseline. Or I guess, currently, a <a href="http://known-working-before-support.cu">known-working-before-support.cu</a>. </div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto"><br></div><div dir="auto">Jon</div><div dir="auto"><br></div><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, 5 Nov 2019, 13:15 Alexey Bataev, <<a href="mailto:a.bataev@hotmail.com" rel="noreferrer noreferrer" target="_blank">a.bataev@hotmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div dir="auto">
Jon, try to manually remove old .bc files generated for NVPTX runtime library. You may use the old ones, sometimes they are not rebuilt automatically. Also, what tests are you trying to investigate? For me, the tests from check-libomptarget-nvptx are failed.<br>
<br>
<div dir="ltr">Best regards,
<div>Alexey Bataev</div>
</div>
<div dir="ltr"><br>
<blockquote type="cite">5 нояб. 2019 г., в 08:06, Jon Chesterfield via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org" rel="noreferrer noreferrer noreferrer" target="_blank">openmp-dev@lists.llvm.org</a>> написал(а):<br>
<br>
</blockquote>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_quote">Message: 2<br>
Date: Tue, 5 Nov 2019 02:54:05 +0000<br>
From: "Doerfert, Johannes via Openmp-dev" <<a href="mailto:openmp-dev@lists.llvm.org" rel="noreferrer noreferrer noreferrer" target="_blank">openmp-dev@lists.llvm.org</a>><br>
To: Shilei Tian <<a href="mailto:tianshilei1992@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">tianshilei1992@gmail.com</a>><br>
Subject: Re: [Openmp-dev] nvlink reported undefined reference when<br>
        building OpenMP offloading program<br>
<br>
<br>
I think Jon (CCed) is aware and working on it:<br>
  <a href="https://reviews.llvm.org/rG764c8420e4b8fc11a9fa94d00f4ee617aa754cb2" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">
https://reviews.llvm.org/rG764c8420e4b8fc1libomptarget1a9fa94d00f4ee617aa754cb2</a><br>
<br>
On 11/04, Shilei Tian via Openmp-dev wrote:<br>
> Hi,<br>
> <br>
> I was trying to build an OpenMP offloading program. nvlink always reported following error:<br>
> <br>
<div>> nvlink error   : Undefined reference to '_Z25GetLogicalThreadIdInBlockb' in '/tmp/main-02fcf5.cubin'</div>
<div><br>
</div>
<div>Hi Shilei,</div>
<div><br>
</div>
<div>Thanks for the comprehensive report. I am indeed looking into this.</div>
<div><br>
</div>
<div>That you're building for X86 means the problem isn't isolated to POWER8, which means I can stop looking at cross compilation. I'll update the discussion. Thanks!</div>
<div><br>
</div>
<div>OpenMP still works for me. My nvptx build is a bit precarious though because trunk conflicts with libstdc++, so the corresponding invocation is:</div>
<div><br>
</div>
<div>~/llvm-install/bin/clang --cuda-gpu-arch=sm_50 -fopenmp -fopenmp-targets=nvptx64
<a href="http://test.cu" rel="noreferrer noreferrer noreferrer" target="_blank">test.cu</a>  -nocudainc -L~/llvm-install/lib </div>
<div>LD_LIBRARY_PATH=~/llvm-build/lib ./a.out</div>
<div><br>
</div>
<div>Looking at symbols in the cuda runtime libraries suggests all is well, at least on my machine.</div>
<div><br>
</div>
<div>I believe replacing INLINE with DEVICE in openmp/libomptarget/deviceRTL/nvptx/src/<a href="http://support.cu" rel="noreferrer noreferrer noreferrer" target="_blank">support.cu</a> will unblock people. I don't want to propose that as a patch until I can reproduce locally.</div>
<div><br>
</div>
<div>Alternatively, using clang instead of nvcc would probably resolve this.</div>
<div>-DCUDA_HOST_COMPILER=`which clang`</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>Jon</div>
</div>
</div>
<span>_______________________________________________</span><br>
<span>Openmp-dev mailing list</span><br>
<span><a href="mailto:Openmp-dev@lists.llvm.org" rel="noreferrer noreferrer noreferrer" target="_blank">Openmp-dev@lists.llvm.org</a></span><br>
<span><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a></span><br>
</div>
</blockquote>
</div>

</blockquote></div></div></div>