<div dir="ltr">Is source level information present in generated IR files? </div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 14, 2017 at 12:29 PM, Yuanfeng Peng via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Hi,</div><div><br></div><div>I needed to debug some CUDA code in my project; however, although I used -g when compiling the source code, no source-level information is available in cuda-gdb or cuda-memcheck.  </div><div><br></div><div>Specifically, below is what I did:</div><div><br></div><div>1) For a CUDA file <a href="http://a.cu" target="_blank">a.cu</a>, generate IR files: clang++ -g -emit-llvm --cuda-gpu-arch=sm_35 -c <a href="http://a.cu" target="_blank">a.cu</a>;</div><div>2) Instrument the device code a<span style="font-variant-ligatures:no-common-ligatures;font-family:Menlo;font-size:11px">-cuda-nvptx64-nvidia-cuda-sm_<wbr>35.bc (generated in the previous step), inserting a call to a hook function before each device memory access.  The hook function is defined in another file, <a href="http://b.cu" target="_blank">b.cu</a>.  Let's say we get a file named intrumented-a-device.bc after this step;</span></div><div><span style="font-variant-ligatures:no-common-ligatures;font-family:Menlo;font-size:11px">3) Generate IR files for <a href="http://b.cu" target="_blank">b.cu</a>: clang++ -g -emit-llvm --cuda-gpu-arch=sm_35 -c <a href="http://b.cu" target="_blank">b.cu</a>;</span></div><div><span style="font-variant-ligatures:no-common-ligatures;font-family:Menlo;font-size:11px">4) Link instrumented-a.device.bc with the device code generated for <a href="http://b.cu" target="_blank">b.cu</a>: llvm-link intrumented-a-device.bc b-</span><span style="font-family:Menlo;font-size:12px;font-variant-ligatures:no-common-ligatures">cuda-nvptx64-nvidia-cuda-sm_<wbr>35.bc -o ab-device.bc;</span></div><div><span style="font-family:Menlo;font-size:12px;font-variant-ligatures:no-common-ligatures">5) Use llc, ptxas & fatbinary on ab-device.bc to get ab-device.ptx, ab-device.o & ab-device.fatbin;</span></div><div><span style="font-family:Menlo;font-size:12px;font-variant-ligatures:no-common-ligatures">6) Call clang again the generate the host object file ab.o, with ab-device.o & ab-device.fatbin embedded;</span></div><div><span style="font-family:Menlo;font-size:12px;font-variant-ligatures:no-common-ligatures">7) Link against libraries and get the final binary: a.out.</span></div><div><span style="font-family:Menlo;font-size:12px;font-variant-ligatures:no-common-ligatures"><br></span></div><div><font face="Menlo"><span style="font-size:12px;font-variant-ligatures:no-common-ligatures">The binary a.out fails with an exception I when run it; but when I try to debug it with cuda-gdb or cuda-memcheck, no source information was available.  Why?</span></font></div><div><font face="Menlo"><span style="font-size:12px;font-variant-ligatures:no-common-ligatures"><br></span></font></div><div><font face="Menlo"><span style="font-size:12px;font-variant-ligatures:no-common-ligatures">Thanks!</span></font></div><span class="HOEnZb"><font color="#888888"><div><font face="Menlo"><span style="font-size:12px;font-variant-ligatures:no-common-ligatures">Yuanfeng Peng</span></font></div><div><span style="font-family:Menlo;font-size:12px;font-variant-ligatures:no-common-ligatures"> </span></div>




</font></span><br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><i style="font-size:12.8px">Disclaimer: Views, concerns, thoughts, questions, ideas expressed in this mail are of my own and my employer has no take in it. </i><br></div><div>Thank You.<br>Madhur D. Amilkanthwar<br><br></div></div></div>
</div>