2014-06-17 75 views
0

有沒有辦法將輸出格式化爲nvcc -Xptxas = -v輸出,以便在內核之間有一個換行符?它已經難以從輸出讀取內核名稱出來,例如: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] 
+4

作爲C++編譯過程的一部分,內核名稱被破壞,有許多C++名稱demanglers可用。 –

+0

但有沒有辦法在每個內核報告之間插入換行符?他們都混在一起,很難區分他們。 – Michael

+1

我不知道任何可以傳遞給nvcc或ptxas的命令來更改此輸出的格式。當然,在Linux環境中,您可以將此輸出傳遞給某個文本處理框架以修改此輸出。 nvcc手冊在線提供,包括可以傳遞給ptxas的開關文檔。 –

回答

2

關於內核名稱,它就會錯位作爲C++編譯步驟(其ptxas的執行之前出現)的一部分。有許多demanglers可用,如this one

關於ptxas輸出的格式,我不知道任何可以傳遞給nvccptxas的命令來更改此輸出的格式。當然,在Linux環境中(也可能在Windows中),您可以將此輸出傳遞給某個文本處理框架以進行修改(可能使用prfmt)。 nvcc manual is available online包括switches that can be passed to ptxas的文檔。