인텔 Vtune 분석기와 같은 프로파일 링 도구를 사용 했습니까?C++ 멀티 스레드 응용 프로그램 프로파일 링
Linux 및 Windows에서 C++ 멀티 스레드 응용 프로그램에 대한 권장 사항은 무엇입니까? 나는 주로 캐시 누락, 메모리 사용, 메모리 누출 및 CPU 사용에 관심이있다.
저는 valgrind (UNIX에서만 사용)를 사용하지만, 주로 메모리 오류 및 누수를 찾기 위해 사용합니다.
인텔 Vtune 분석기와 같은 프로파일 링 도구를 사용 했습니까?C++ 멀티 스레드 응용 프로그램 프로파일 링
Linux 및 Windows에서 C++ 멀티 스레드 응용 프로그램에 대한 권장 사항은 무엇입니까? 나는 주로 캐시 누락, 메모리 사용, 메모리 누출 및 CPU 사용에 관심이있다.
저는 valgrind (UNIX에서만 사용)를 사용하지만, 주로 메모리 오류 및 누수를 찾기 위해 사용합니다.
다음은 멀티 스레드 응용 프로그램을위한 유용한 도구입니다. 평가 사본을 사용해 볼 수 있습니다.
편집 : 인텔 스레드 검사기 데이터 경주를 진단하는 데 사용할 수 있습니다, 교착 상태, 마구간 스레드 등을 포기 잠금 그것으로 결과를 분석에 많은 인내를하시기 바랍니다 혼동되기 쉽습니다.
몇 가지 팁 :.
Rational PurifyPlus 제품군에는 검증 된 누설 감지기와 프로파일 스터가 포함되어 있습니다. 캐시 미스의 수준까지 내려갈 지 확신 할 수 없습니다. VTune이 필요할 수도 있습니다.
PurifyPlus는 다양한 Unices 및 Windows에서 사용할 수 있으므로 요구 사항을 충족해야하지만 불행히도 Valgrind와는 달리 무료는 아닙니다.
VTune은 프로세서의 기능에 대해 자세히 알려주고 때로는 나무가 보이지 않는 것을 발견합니다. VTune은 메모리 누수를보고하지 않습니다. 이를 위해 정화가 필요하거나 리눅스 박스에서 실행할 수 있다면 valgrind는 좋은 가격으로 메모리 누출에 좋습니다.
VTune은 두 가지 뷰를 보여 주며, 하나는 테이블 형 뷰, 다른 하나는 판매용 뷰티 유저에게 좋은 인상을 주지만 유용하지는 않습니다.
빠르고 값싼 옵션으로 valgrind와 (과) 함께 할 것입니다. Valgrind는 또한 캐시 갈기 부분을 가지고 있지만 사용하지는 않았지만 매우 훌륭하다고 생각합니다.
건배, Martin.
Linux의 경우 oprofile을 시도하십시오. 다양한 성능 카운터를 지원합니다.
Windows에서는 AMD의 CodeAnalyst (무료, VTune과 달리)을 살펴볼 필요가 있습니다. (인텔 CPU에서는 타이머 기반의 편리한 프로파일 러입니다.)이지만 AMD 하드웨어의 이벤트 프로파일 링 만 지원합니다.
동료가 최근에 Intel Parallel Studio (베타)을 시도하여 호의적으로 으로 평가했습니다 (일부 코드에서 일부 흥미로운 병렬 처리 관련 문제가 있음).
valgrind에 대한 또 다른 답변, 특히 UI가있는 callgrind 부분을 입력하겠습니다. 그것은 캐시 미스 등 각 스레드를 프로파일 링하여 여러 스레드를 처리 할 수 있습니다. 그들은 또한 helgrind라는 멀티 스레드 오류 검사기를 가지고 있지만, 나는 그것을 사용한 적이 얼마나 좋은지 모르겠다. 간단한 프로파일 gprof를 들어
Helgrind는 뮤텍스 잠금 순서 불일치, 경쟁 조건 등과 같은 잠재적 인 스레딩 문제를 찾아내는 데 아주 능숙합니다. pthread 와만 작동하므로 다른 스레딩 라이브러리 사용자가 운이 좋지 않을 수 있습니다. 내 컴퓨터에서 valgrind보다 훨씬 느리게 실행되므로 인내심이 중요합니다! –
는
당신은 AMD CodeXL의 CPU 프로파일을 시도 할 수 있습니다 .. 꽤 좋은 것입니다. 무료이며 Windows 및 Linux에서 모두 사용할 수 있습니다.
AMD CodeXL의 CPU 프로파일 러는 더 이상 지원되지 않는 CodeAnalyst 도구 (위의 답변에서 언급 한 timday로 바뀜)를 대체합니다.
자세한 내용 및 다운로드 링크를 얻으려면 AMD CodeXL web page을 방문하십시오.
최근 필자는 프로파일 링에 대한이 백서를 보았습니다. http://www.iop.org/EJ/article/1742-6596/119/4/042030/jpconf8_119_042030.pdf?request-id=6fb45e59-676f-4728- 86bd-f324abdc5053. igprof https://twiki.cern.ch/twiki/bin/view/CMS/IgProfAnalysis는 멋진 도구처럼 보입니다 (아직 시도해야하지만). –