2012-09-21 5 views
4

우리는 CUDA 코드를 추가하기 전에 Nividia Nsight Eclipse (Linux 버전)로 프로파일하고자하는 C++ 코드를 가지고 있습니다. 아이디어는 C++을 먼저 프로파일 링하고, 핫스팟을 찾아서 CUDA로 변환하고, 프로파일을 다시 작성하고,이 프로세스를 반복하여 코드 속도를 연속적으로 향상시키는 것입니다. 그러나 C++을 프로파일 링 할 때 프로파일 러가 타임 라인과 프로파일 출력을 생성하기 전에 기존의 CUDA 코드를 필요로하는 것처럼 보입니다. 다른 사람이이 문제를 겪었습니까?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++ 코드를 프로파일 링 할 수 있습니다. 질문을 수정하기 위해 Host (CPU) C++ 코드도 프로파일 링 할 수 있습니다. 기본적으로 GPU 코드 만 프로파일 링합니다. CPU 프로파일 링은 훨씬 더 수동적 인 작업입니다. 자동으로 기능을 프로파일 링하지는 않습니다.

NVTX를 사용해야합니다. 그래서 같이 : -lnvToolsExt -L와

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

빌드/usr/지방/CUDA/lib64에

libnvToolsExt.so의 경로가 모두 다릅니다. NVTX는 CUDA 툴킷과 함께 제공됩니다.

The CUDA blog has a post on this.