나는 이것을 최적화하기 위해 nvprof and nvvp (5.5)
으로 응용 프로그램을 프로파일 링했습니다. 그러나 디버그 (-G
) 및 코드의 릴리스 버전을 프로파일 링 할 때 inst_replay_overhead
, ipc
또는 branch_efficiency
등과 같은 일부 메트릭/이벤트에 대해 완전히 다른 결과를 얻습니다.프로파일 디버그 또는 릴리스 쿠다 코드?
내 질문은 : 그래서 버전을 프로파일해야합니까? 릴리스 또는 디버그 버전? 또는 선택은 내가 무엇을 찾고 있는지에 달려 있습니다.
CUDA - Visual Profiler and Control Flow Divergence 디버그 (-G
) 버전은 분기 브랜치를 제대로 측정하는 데 필요하지만 다른 측정 항목에 대해서는 확실하지 않다고 나와 있습니다.
당신이 제공 한 링크에는 G가 분기 분기 통계를 제대로 측정하는 데 필요하다고 표시되지 않습니다. 참조되는 특정 프로파일 러 기능 (소스에 대한 역 참조)은 릴리스 또는 디버그 버전에서 제공되는 답변에서 자세히 설명하는대로 수행 할 수 있습니다. –
Robert Crovella, 정확합니다. 링크의 소스는 두 가지 옵션을 제공하며, 나는 언급하지 않습니다. 고맙습니다. – ScHuMi