<div><div dir="auto">You can set like “clang;openmp” to build them at once.</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 5, 2019 at 11:31 Shilei Tian via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org">openmp-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Hi,<div><br></div><div>I was trying to build an OpenMP offloading program. nvlink always reported following error:</div><div><br></div><div><font face="Courier New">nvlink error   : Undefined reference to '_Z25GetLogicalThreadIdInBlockb' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z13checkSPMDModeP5ident' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z14GetOmpThreadIdib' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z22setExecutionParameters13ExecutionMode11RuntimeMode' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z18GetThreadIdInBlockv' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z24GetNumberOfWorkersInTeamv' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z16IncParallelLevelbj' in '/tmp/main-02fcf5.cubin'<br>nvlink error   : Undefined reference to '_Z16DecParallelLevelbj' in '/tmp/main-02fcf5.cubin’</font></div><div><br></div><div>I was using clang which was built with trunk via following CMake command:</div><div><br></div><div><font face="Courier New">cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" -DLLVM_ENABLE_PROJECTS="clang;openmp" -DCLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_75 -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=75 -DCMAKE_INSTALL_PREFIX=$HOME/.local ../llvm</font></div><div><font face="Courier New">make -j $(nproc)</font></div><div><br></div><div>OpenMP library was built via following CMake command:</div><div><br></div><div><font face="Courier New">cmake -DCMAKE_C_COMPILER=$HOME/.local/bin/clang -DCMAKE_CXX_COMPILER=$HOME/.local/bin/clang++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.local -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=75 ..</font></div><div><font face="Courier New">make -j $(nproc)</font></div><div><br></div><div>And finally the compilation command is:</div><div><br></div><div><font face="Courier New">clang -fopenmp -fopenmp-targets=nvptx64 main.c</font></div><div><br></div><div>Did I miss something? The program is very simple:</div><div><br></div><div><font face="Courier New"> int main() {<br>   int i = 0;<br><br> #pragma omp target nowait<br>   {<br>     i++;<br>     int k = 0;<br>     ++k;<br>   }<br><br>   int j = 0;<br> #pragma omp target nowait<br>   {<br>     ++j;<br>   }<br><br>   return 0;<br> }</font></div><div><br></div><div>I have CUDA 10.1 on the system.</div><div><br><div>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">Regards,</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">Shilei</div>
</div>
<br></div></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></div>