2012-09-21 92 views
4

我們有C++代碼,我們希望在向其添加CUDA代碼之前使用Nividia Nsight Eclipse(Linux版本)進行配置。我們的想法是首先分析C++,找到熱點,將它們轉換爲CUDA,再次進行配置文件,然後遍歷這個過程來連續加速代碼。但是,僅在我們剖析C++時,它看起來像剖析器需要一些現有的CUDA代碼,然後纔會生成時間軸和剖析輸出。有人遇到過這種情況麼?Can Nsight Eclipse配置文件C++代碼?

回答

2

Nsight Eclipse Edition只能配置CUDA代碼。您可能需要安裝第三方性能分析插件來分析主機代碼。

您可以嘗試從Eclipse Foundation站點安裝OProfile集成(將http://download.eclipse.org/releases/indigo/粘貼到幫助/安裝新軟件...對話框中) - 我剛試過,但無法正確設置oprofile命令行。

1

您可以使用nvtx(NVIDIA Tools Extension)手動測試代碼,並在Nsight中顯示時間線,但對於自動剖析和詳細計數器,它只能剖析GPU代碼。

0

是的,Nsight Eclipse可以剖析C++代碼。爲了更改您的問題,它還可以配置主機(CPU)C++代碼。默認情況下,它只能配置GPU代碼。 CPU分析是一項更爲人工的任務;它不會自動剖析功能。

您需要使用NVTX。像這樣:

#include "nvToolsExt.h" 
nvtxNameOsThread(0,"InputVideo"); 
nvtxRangePush(__FUNCTION__); 
// .. do some CPU computing here 
nvtxRangePop(); 

建立與-lnvToolsExt -L在/ usr /本地/ CUDA/lib64的

到libnvToolsExt.so的路徑將是每個人都不同。 NVTX附帶CUDA工具包。

The CUDA blog has a post on this.