[llvm-dev] Debug info for CUDA code

treinz via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 23 10:37:44 PST 2019

Hi Alexey,

I tried the b7195a6 from the llvm github mirror, which does include your commit D46189 (see below). But it can't compile the example program on https://llvm.org/docs/CompileCudaWithLLVM.html#invoking-clang -- the error is:

[aznb at asp testcuda]$ clang++ axpy.cu -g -o axpy --cuda-gpu-arch=sm_61 -lcudart_static -ldl -lrt -pthread -v
clang version 9.0.0 (https://git.llvm.org/git/clang.git 4566ed0d7c076ad061168f7c6cb5fa3a793614a8) (https://git.llvm.org/git/llvm.git b7195a6d8d9064c4fac6a7b91826de80df394f69)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/aznb/.linuxbrew/bin
Found candidate GCC installation: /home/aznb/.linuxbrew/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.4.7
Selected GCC installation: /home/aznb/.linuxbrew/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /net/vol3/software/modules-sw/cuda/10.0/Linux/RHEL6/x86_64, version 10.0
 "/home/aznb/mycodes/testcuda -ferror-limit 19 -fmessage-length 0 -pthread -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o /tmp/59224042.1.login.q/axpy-560f45.s -x cuda axpy.cu
clang -cc1 version 9.0.0 based upon LLVM 9.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
ignoring nonexistent directory "/include"
ignoring duplicate directory "/home/aznb/.linuxbrew/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0"
ignoring duplicate directory "/home/aznb/.linuxbrew/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/x86_64-unknown-linux-gnu"
ignoring duplicate directory "/home/aznb/.linuxbrew/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../../../include/c++/5.5.0/backward"
ignoring duplicate directory "/usr/local/include"
ignoring duplicate directory "/home/aznb/.linuxbrew/Cellar/llvm/HEAD-b7195a6/lib/clang/9.0.0/include"
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
End of search list.
 "/net/vol3/software/modules-sw/cuda/10.0/Linux/RHEL6/x86_64/bin/ptxas" -m64 -g --dont-merge-basicblocks --return-at-end -v --gpu-name sm_61 --output-file /tmp/59224042.1.login.q/axpy-1ebb06.o /tmp/59224042.1.login.q/axpy-560f45.s
ptxas /tmp/59224042.1.login.q/axpy-560f45.s, line 290; fatal   : Parsing error near '{': syntax error
ptxas fatal   : Ptx assembly aborted due to errors
clang-9: error: ptxas command failed with exit code 255 (use -v to see invocation)

Maybe it's related to the illegal assembly code mentioned in https://reviews.llvm.org/D46189 Any idea what's going on? I'm including other people to see if they have any suggestion. https://reviews.llvm.org/D46189 also mentioned that this is fixed but has the fixed been merged in the trunk yet?

BTW, github mirror's b7195a6 does include your commit about the debug info on nvptx:

commit d77902a49a06890b97e33515d346c6e4df6b756b
Author: Alexey Bataev <a.bataev at hotmail.com>
Date:   Tue Jan 22 17:43:37 2019 +0000

    [DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target.

    Summary: Enable full support for the debug info.

    Reviewers: echristo

    Subscribers: jholewinski, aprantl, JDevlieghere, llvm-commits

    Differential Revision: https://reviews.llvm.org/D46189

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351846 91177308-0d34-0410-b5e6-96231b3b80d8


在 2019-01-23 07:59:12,"Alexey Bataev" <a.bataev at outlook.com> 写道:
Hi Char, I don't know how often it is updated, but most probably it is already updated.

Best regards,
Alexey Bataev

22 янв. 2019 г., в 17:46, treinz <treinz at 163.com> написал(а):

Hi Alexey,

Thank you for letting me know. Can I assume the the github mirror is bumped to 9.0 and should contain the commit you mentioned? Just want to make sure I'm looking at the right repo.


在 2019-01-23 01:46:44,"Alexey Bataev" <a.bataev at outlook.com> 写道:

Hi, debug info for the NVPTX is committed. It is not a part of 8.0 RC1, unfortunately, only in 9.0 trunk.

Best regards,
Alexey Bataev
14.12.2018 17:08, Alexey Bataev пишет:

Actually, we need to commit just 2 more patches to enable basic debug info support for NVPTX. So, I hope, it is going to be the part of the next 8.0 release. It won't be backported to 7.0 definitely.
Sure, I will let you know when the patches are committed to the trunk, no problems.

Best regards,
Alexey Bataev

14 дек. 2018 г., в 16:55, treinz <treinz at 163.com> написал(а):

Are you planning to release this as soon as it's ready or you want to make it into a major release? Is it possible to let me know (maybe by replying to this thread) once the code is ready? I know sometimes it takes a while to get things in the major release. I greatly appreciate your work on this!


在 2018-12-15 05:19:50,"Alexey Bataev" <a.bataev at outlook.com> 写道:

Hi Char, sorry, you need to wait a little bit. It is almost ready, but not yet. For now, use nvcc if you need debug info for Cuda.

Best regards,
Alexey Bataev
14.12.2018 14:33, treinz пишет:

Hi Alex, Eric and Valentin,

Thanks for the information. I don't mean to push this but I'm in desperate need of debugging some cuda code. I'm not familiar with the llvm internal but it sounds like there's at least line info now, right? If so, can you point me to a branch of llvm that can help tracing the bug down to certain line of code. I believe my bug is simply a write/read out of array boundary.


在 2018-12-05 07:15:28,"Alexey Bataev" <a.bataev at hotmail.com> 写道:
Hi, yes, these patches are required to have tne basic debug info support. At least 2 more patches are required to be able to get values of the variables without additional manual data type casting in cuda-gdb. 

Best regards,
Alexey Bataev

4 дек. 2018 г., в 18:06, Eric Christopher <echristo at gmail.com> написал(а):

Adding Alexey here who has been driving this effort in llvm.

There are about 5 patches waiting on my review:

   -: https://reviews.llvm.org/D54320
   -: https://reviews.llvm.org/D46189
   -: https://reviews.llvm.org/D51554
   -: https://reviews.llvm.org/D46061
   -: https://reviews.llvm.org/D45784

After which I think we're good.


On Mon, Dec 3, 2018 at 6:29 PM Valentin Churavy via llvm-dev <llvm-dev at lists.llvm.org> wrote:

AFAIK there is work under way from IBM (couple of PRs open), but yes Clang 7.0 doesn't produce the necessary information.


On Fri, Nov 30, 2018, 14:58 treinz via llvm-dev <llvm-dev at lists.llvm.org wrote:

Hi all,
I found this http://lists.llvm.org/pipermail/llvm-dev/2017-November/118871.html when googling about compiling CUDA code using llvm. Is it still the case that one can't step into CUDA kernel code compiled by llvm in cuda-gdb? I'm using clang 7.0.



LLVM Developers mailing list
llvm-dev at lists.llvm.org

LLVM Developers mailing list
llvm-dev at lists.llvm.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190124/fcaa094d/attachment-0001.html>

More information about the llvm-dev mailing list