영어프랑스어스페인어

Ad


온웍스 파비콘

likwid-perfctr - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 likwid-perfctr을 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 likwid-perfctr 명령입니다.

프로그램:

이름


likwid-perfctr - x86 CPU에서 하드웨어 성능 카운터 구성 및 읽기

개요


likwid-perfctr [-vhHVmaeiMoO] [-c/-C ] [-g or
] [-t ] [-S ] [-s ] [-o
]

기술


likwid-perfctr 구성하고 읽을 수 있는 경량 명령줄 애플리케이션입니다.
지원되는 x86 프로세서의 하드웨어 성능 모니터링 데이터. 다음 중 하나로 측정할 수 있습니다.
측정된 애플리케이션을 변경하지 않거나 내부에 마커 API 기능을 사용하여 래퍼
카운터를 켜고 끄는 코드입니다. 유용한 사전 구성된 그룹이 있습니다.
이벤트 세트 및 파생 측정항목. 또한 임의의 이벤트를 사용자 정의로 측정할 수 있습니다.
이벤트 세트. 마커 API는 이름이 지정된 여러 영역을 측정할 수 있습니다. 결과는 다음에 누적됩니다.
여러 통화. 다음 x86 프로세서가 지원됩니다.

· 인텔 핵심 2: 모든 변형. 카운터: PMC[0-1], FIXC[0-2]

· 인텔 네할렘: 카운터 : PMC[0-3], FIXC[0-2], UPMC[0-7]

· 인텔 네 할렘 (Nehalem) EX : 카운터 : PMC[0-3], FIXC[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], WBOX[0-5], 유박스0, SBOX[0-1]C[0-3], CBOX[0-9]C[0-4]

· 인텔 웨스트미어:
카운터 : PMC[0-3], FIXC[0-2], UPMC[0-7]

· 인텔 웨스트 미어 EX : 카운터 : PMC[0-3], FIXC[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], WBOX[0-5], 유박스0, SBOX[0-1]C[0-3], CBOX[0-9]C[0-4]

· 인텔 모래의 다리: 완전한 RAPL 지원. 카운터: PMC[0-3], FIXC[0-2], 전원[0-3]

· 인텔 모래의 다리 EP : 언코어 부분 지원, 전체 RAPL 지원. 카운터:
PMC[0-3], FIXC[0-2], PWR[0-3]. MBOX[0-3]C[0-3]

· 인텔 대학의 이름 다리: 완전한 RAPL 지원. 카운터: PMC[0-3], FIXC[0-2], 전원[0-3]

· 인텔 대학의 이름 다리 EP : 언코어 부분 지원, 전체 RAPL 지원. 카운터:
PMC[0-3], FIXC[0-2], PWR[0-3], CBOX[0-9]C[0-3], MBOX[0-3]C[0-3], MBOX[0-3]수정

· 인텔 하스웰: 완전한 RAPL 지원. 카운터: PMC[0-3], FIXC[0-2], 전원[0-3]

· 인텔 Haswell EP : 언코어 지원 없음, 전체 RAPL 지원. 카운터: PMC[0-3],
FIXC[0-2], 전원[0-3]

· 인텔 원자 실버몬트: 완전한 RAPL 지원. 카운터: PMC[0-1], FIXC[0-2], 전원[0-1]

· 인텔 펜티엄 M: Banias 및 Dothan 변종. 카운터: PMC[0-1]

· 인텔 P6 : P3에서 테스트되었습니다.

· AMD K8 : 모든 변형. 카운터: PMC[0-3]

· AMD K10 : 바르셀로나, 상하이, 이스탄불, MagnyCours 기반 프로세서. 카운터:
PMC[0-3]

옵션


-v 버전 정보를 표준 출력으로 인쇄한 다음 종료합니다.

-h 표준 출력에 도움말 메시지를 인쇄한 다음 종료합니다.

-H 그룹 도움말 메시지를 인쇄합니다(-g 스위치와 함께 사용).

-V 디버깅을 위해 실행하는 동안 자세한 출력이 표시됩니다.

-m 마커 API 모드에서 실행

-a 현재 프로세서에 사용 가능한 성능 그룹을 인쇄합니다.

-e 현재 프로세서의 사용 가능한 카운터 및 성능 이벤트를 인쇄합니다.

-o
모든 출력을 stdout 대신 파일에 저장합니다. 파일 이름은 다음과 같습니다
자리 표시자가 지원됩니다: PBS_JOBID의 경우 %j, MPI RANK의 경우 %r(Intel MPI만 해당)
순간), %h 호스트 이름 및 %p 프로세스 pid. 자리 표시자는 다음과 같아야 합니다.
밑줄로 구분합니다(예: -o test_%h_%p). 접미사를 지정해야 합니다.
파일 이름. txt의 경우 출력은 파일에 그대로 인쇄됩니다. 다른 접미사는
출력을 필터링합니다. 사용 가능한 필터는 csv(쉼표로 구분된 값) 및 xml입니다.
순간.

-O 결과에 대한 표를 인쇄하지 말고 대신 쉽게 구문 분석할 수 있는 CSV를 사용하세요.

-i 프로세서 및 인텔 성능 모니터링에 대한 CPUID 정보를 인쇄합니다.
기능을 선택한 다음 종료하세요.

-c
프로세서의 숫자 목록을 지정합니다. 목록에는 여러 항목이 포함될 수 있습니다.
쉼표와 범위로 구분됩니다. 예를 들어 0,3,9-11입니다.

-C
프로세서의 숫자 목록을 지정합니다. 목록에는 여러 항목이 포함될 수 있습니다.
쉼표와 범위로 구분됩니다. 예를 들어 0,3,9-11입니다. 이 변형도 고정됩니다.
스레드를 코어에 연결합니다. 또한 논리적 번호 매기기를 사용할 수도 있습니다.

-g <성능 그룹> or <성능 event 세트 문자열>
측정할 성능 그룹을 지정합니다. 이는 다음으로 출력되는 태그 중 하나일 수 있습니다.
-a 플래그. 또한 사용자 정의 이벤트 세트는 쉼표로 구분된 목록으로 지정할 수 있습니다.
이벤트. 각 이벤트의 형식은 eventId:register이며 레지스터는 하나입니다.
아키텍처 지원 성능 카운터 레지스터 중 하나입니다.

-t <빈도 of 측정>
시간 분석 측정을 위한 타임라인 모드, 가능한 접미사 's' 및 'ms'
100ms. 출력 형식은 다음과 같습니다.

<결과 스레드0> <결과 스레드1> ...

-S
지속 시간이 sencond 단위인 청진기 모드. 애플리케이션을 측정하는 데 사용할 수 있습니다.
외부에서.


때문에 likwid-perfctr 단일 응용 프로그램이 아닌 프로세서에 대한 조치가 필요합니다.
프로세스와 스레드가 전용 리소스에 고정되어 있는지 확인합니다. 다음 중 하나를 고정할 수 있습니다.
애플리케이션을 직접 설치하거나 내장된 핀 기능을 사용하세요.

1. 퍼포먼스 그룹의 래퍼로서:

likwid-perfctr -C 0-2 -g TLB ./cacheBench -n 2 -l 1048576 -i 100 -t 흐름

상위 프로세스는 프로세서 0에 고정되고, 스레드 0은 프로세서 1에, 스레드 1은 프로세서 XNUMX에 고정됩니다.
프로세서 2.

2. AMD에 설정된 사용자 정의 이벤트가 포함된 래퍼:

likwid-perfctr -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0,CPU_CLOCKS_UNHALTED:PMC3 ./myApp

이벤트라고 명시되어 있어요 INSTRUCTIONS_RETIRED_SSE 카운터에서 측정됩니다 PMC0
이벤트 CPU_CLOCKS_UNHALTED 카운터에 PMC3. 실행시간을 계산할 수 있습니다.
모든 스레드는 CPU_CLOCKS_UNHALTED 이벤트. 이것을 원한다면 포함해야합니다
위에 표시된 대로 사용자 정의 이벤트 문자열에 이 이벤트가 포함됩니다.

3. Intel에서 사용자 정의 이벤트가 설정된 래퍼로:

likwid-perfctr -C 0 -g INSTR_RETIRED_ANY:FIXC0,CPU_CLK_UNHALTED_CORE:FIXC1 ./myApp

Intel 프로세서에서는 고정 이벤트가 전용 카운터에서 측정됩니다. 이것들은
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE.CPU_CLK_UNHALTED_REF 구성하면
이 고정 카운터, likwid-perfctr 귀하의 런타임 및 CPI 지표를 계산합니다.
실행합니다.

4. 마커 API를 사용하여 코드의 일부만 측정(두 가지 모두에 사용할 수 있음)
그룹 또는 사용자 정의 이벤트 세트):

likwid-perfctr -m -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0,CPU_CLOCKS_UNHALTED:PMC3
./cacheBench

liblikwid.a/.so에 대해 코드를 연결하고 마커 API 호출을 사용해야 합니다. 그만큼
다음 코드 조각은 필요한 호출을 보여줍니다.

#포함하다

/* 오직 하나의 스레드만이 init를 호출합니다 */
if(스레드 ID == 0)
{
likwid_markerInit();
}
/* 스레드 애플리케이션을 측정하려는 경우
* likwid_markerThreadInit()를 호출해야 합니다.
* 준비, OpenMP를 사용한 예 */
#pragma omp 병렬
{
likwid_markerThreadInit();
}
장벽;
likwid_markerStartRegion("벤치마크");
/* 측정할 코드가 여기에 있습니다.*/

likwid_markerStopRegion("벤치마크");
장벽;
/* 역시 하나의 스레드만 마커를 닫을 수 있습니다 */
if(스레드 ID == 0)
{
likwid_markerClose();
}

5. 타임라인 모드에서 likwid 사용:

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./myApp > out.txt

그러면 물리적 코어 300-0에서 3ms마다 카운터를 읽고 결과를 다음에 씁니다.
out.txt. 타임라인 모드에는 다음을 가능하게 하는 프런트엔드 애플리케이션 likwid-scope가 있습니다.
선택한 이벤트의 실시간 플롯. 더 많은 코드 예제를 보려면 likwid WIKI를 살펴보세요.
페이지. 프로세스는 다음과 같습니다. 지원 CPU 0-3에 고정되어 있습니다.

6. 청진기 모드에서 likwid 사용:

likwid-perfctr -c 0-3 -g FLOPS_DP -S 2s

그러면 카운터가 시작되어 물리적 코어 2-0에서 3초 후에 읽고 씁니다.
결과를 stdout으로 보냅니다. 프로세스는 다음과 같습니다. 지원 CPU 0-3에 고정되어 있습니다.

onworks.net 서비스를 사용하여 온라인으로 likwid-perfctr 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad