2009-08-12 7 views
6

L1/L2 캐시 누락, 분기 예측 실패 등과 같이 인텔 CPU 카운터에서 수집 한 데이터에 액세스 할 수있는 작은 도구가 있습니까? 현대 Core2 CPU의).어떻게하면 인텔 CPU 카운터에 액세스 할 수 있습니까?

Windows에서 작동해야합니다 (Solaris, FreeBSD, Linux, MacOSX에서 사용할 수 있지만 물론 좋을 것입니다).

+0

그동안 나는 PAPI 라이브러리를 발견했습니다.하지만 이것은 Linux 만 (Sparc에서만 Solaris를 지원함) Linux 커널 패치가 필요합니다. Linus는 성능 모니터링이 두 가지 약점 중 하나라고 말한 것을 알고 있습니다. 그리고 나는 perfmon2와 토끼 (죽은 프로젝트)도 리눅스에서만 발견했습니다. 지금까지는 Windows에서 한 번도 맞지 않았습니다. – Lothar

답변

0

신청서 나 도서관을 찾고 있다고 쓰지 않았습니다.

Windows의 경우 인텔 VTune이 있습니다. 그러나 이것은 정확하게 작은 도구가 아닙니다. 리눅스에서는 커널 패치없이 작동하는 oprofile을 사용했습니다.

+0

밀리 세컨드 대신 INSTRUCTION_RETIRED 이벤트를 기록하는 계측 프로파일 러를 작성하고 싶기 때문에 라이브러리를 찾고 있습니다. 네, 어쩌면 다른 것들도 있습니다. 내가 직접 쓰고 싶은 작은 VTune처럼 보일 수 있습니다. – Lothar

+0

도서관이 없다고 생각합니다. 성능 모니터 레지스터는 rdmsr 및 wrmsr 명령을 통해 액세스됩니다. 처음에는 "인텔 64 및 IA-32 아키텍처 소프트웨어 개발자 설명서"(최신 버전은 google) Volume 3B, 18.11ff 장을 참조하십시오. 성능 카운터에 액세스하는 데 필요한 작업이 정확히 설명되어 있습니다. – hirschhornsalz

0

OS X에서 Shark를 사용하면 PMC에서 데이터를 가져올 수 있습니다. Intel의 도구 (VThun, drhirsch에서 언급 한 것) 이외의 Windows에서 사용할 수있는 것이 무엇인지 잘 모르겠습니다.

0

보십시오이 http://icl.cs.utk.edu/papi/ 그것은 당신이 어떤 CPU 카운터 데이터를 읽을 수 있습니다 전체 도서관,하지만, 내가 믿는, Windows 및 Linux [다른 OS]에 모두

+0

Windows에서 PAPI가 작동하지 않습니다. –

1

PAPI는 매우 유망한 리드입니다 작동 그들은 몇 년 전에 Windows (및 따라서 .NET C#)에 대한 지원을 중단했습니다.

Windows 프런트에서 Visual Studio 2010 Premium에는 성능 탐색기가 제공됩니다. 계측 모드에서 프로젝트 나 바이너리를 실행하면 폐기 된 지침과 같은 하드웨어 이벤트에 액세스 할 수 있습니다.

외부 요인에 따라 결과가 다소 혼합되거나 일치하지 않을 수 있지만 Visual Studio와 완벽하게 통합되며 메서드/모듈 수준별로 자세한 개수 (평균, 최대, 총)를 얻을 수 있습니다.

Intel V-tune 성능 분석기는 또한 이러한 기능을 기본적으로 제공합니다. 아직이 도구로는 해본 적이 없지만 Visual Studio 2010에서 제공하는 것보다 유연한 API 일 수 있습니다.

+2

고마워요.하지만 저는 IDE에서 직접 개발하고 판매하는 사업에 종사하고 있습니다. 그래서 이것은 분명히 나를 돕지 않습니다. – Lothar

4

이 스레드는 조금 오래된 것 같지만 여전히 관심이 있다면 Linux에서 rdmsr 및 wrmsr 이상을 사용하여 최근에이 주제에 howto을 작성했습니다. Westmere에 대한 Intel uncore의 성능 카운터 만 다루지 만 내가 설명한 과정을 통해 아직없는 경우 필요한 것을 파악하는 데 도움이 될 수 있습니다. 나는 Windows가 RDMSR과 WRMSR에 상응하는 프로그램이나 함수 호출을 가지고 있다고 확신한다. 문제는 MSR을 읽으려면 링 0 (커널 모드)이되어야한다는 것입니다. 나는 Windows에서 어떻게하는지 모른다. 나는 Windows 질문에 도움을 줄 수는 없지만 MSR 관련 질문에 대답 할 수는 있습니다. 나는 결코 전문가가 아니다.

0

이 스레드는 꽤 오래된 것 같습니다. 그러나 위에서 언급 한 모든 카운터는 Intel PCM에서 사용할 수 있습니다.이 카운터는 Microsoft Perfmon 플러그인 또는 명령 프롬프트 인터페이스로 사용할 수 있습니다. Intel PCM은 L2 및 L3 캐시 적중률, 캐시 미스 등의 정보를 제공합니다.

관련 문제