nvcc -Xptxas = -v输出太混乱了

时间:2014-06-17 13:28:20

标签: cuda nvcc

有没有办法格式化 nvcc -Xptxas = -v 输出的输出,以便内核之间有换行符?从输出中读取内核名称已经很难了,例如:

ptxas info    : 0 bytes gmem
ptxas info    : Compiling entry function '_Z14dshape_U_noBigPdS_PKdS1_S1_PKi' for 'sm_20'
ptxas info    : Function properties for _Z14dshape_U_noBigPdS_PKdS1_S1_PKi
    0 bytes stack frame, 0 bytes spill stores, 0 bytes spill loads
ptxas info    : Used 47 registers, 80 bytes cmem[0]
ptxas info    : Compiling entry function '_Z23rhs_kernel_big_allInOnePdPKdS1_S1_S1_PKiS1_S1_S1_S1_' for 'sm_20'
ptxas info    : Function properties for _Z23rhs_kernel_big_allInOnePdPKdS1_S1_S1_PKiS1_S1_S1_S1_
    576 bytes stack frame, 896 bytes spill stores, 1676 bytes spill loads
ptxas info    : Used 63 registers, 112 bytes cmem[0], 16 bytes cmem[16]

1 个答案:

答案 0 :(得分:2)

关于内核名称,它会在c ++编译步骤(在执行ptxas之前发生)中被破坏。有许多demanglers可用,例如this one

关于ptxas输出的格式化,我不知道您可以传递给nvccptxas的任何命令来更改此输出的格式。当然,在Linux环境中(也可能在Windows中),您可以将此输出传递给某个文本处理框架以对其进行修改(可能使用prfmt)。 nvcc manual is available online包含switches that can be passed to ptxas的文档。