Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

likwid-perfctr - Trực tuyến trên đám mây

Chạy likwid-perfctr trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh likwid-perfctr có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


likwid-perfctr - định cấu hình và đọc bộ đếm hiệu suất phần cứng trên CPU x86

SYNOPSIS


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

MÔ TẢ


likwid-perfctr là một ứng dụng dòng lệnh nhẹ để định cấu hình và đọc
dữ liệu giám sát hiệu suất phần cứng trên bộ xử lý x86 được hỗ trợ. Nó có thể đo lường như
trình bao bọc mà không thay đổi ứng dụng được đo hoặc với các chức năng API đánh dấu bên trong
mã, sẽ bật và tắt bộ đếm. Có các nhóm được định cấu hình trước với
các tập hợp sự kiện và các chỉ số bắt nguồn. Các sự kiện tùy ý bổ sung có thể được đo lường với tùy chỉnh
các bộ sự kiện. API đánh dấu có thể đo nhiều vùng được đặt tên. Kết quả được tích lũy vào
nhiều cuộc gọi. Các bộ xử lý x86 sau được hỗ trợ:

· Intel Trung tâm 2: tất cả các biến thể. Quầy: PMC [0-1], CỐ ĐỊNH [0-2]

· Intel Nehalem: Quầy: PMC [0-3], FIXC [0-2], UPMC [0-7]

· Intel tôi thở EX: Quầy: 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], UBOX0, SBOX [0-1] C [0-3], CBOX [0-9] C [0-4]

· Intel Tây:
Quầy: PMC [0-3], FIXC [0-2], UPMC [0-7]

· Intel Tây phương EX: Quầy: 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], UBOX0, SBOX [0-1] C [0-3], CBOX [0-9] C [0-4]

· Intel Sandy Cầu: hỗ trợ RAPL đầy đủ. Quầy: PMC [0-3], FIXC [0-2], PWR [0-3]

· Intel Sandy Cầu EP: hỗ trợ một phần cho hỗ trợ RAPL đầy đủ, không lưu trữ. Quầy:
PMC [0-3], FIXC [0-2], PWR [0-3]. MBOX [0-3] C [0-3]

· Intel Ivy Cầu: hỗ trợ RAPL đầy đủ. Quầy: PMC [0-3], FIXC [0-2], PWR [0-3]

· Intel Ivy Cầu EP: hỗ trợ một phần cho hỗ trợ RAPL đầy đủ, không lưu trữ. Quầy:
PMC [0-3], FIXC [0-2], PWR [0-3], CBOX [0-9] C [0-3], MBOX [0-3] C [0-3], MBOX [0-3] KHẮC PHỤC

· Intel Haswell: hỗ trợ RAPL đầy đủ. Quầy: PMC [0-3], FIXC [0-2], PWR [0-3]

· Intel Haswell EP: không có hỗ trợ nào, hỗ trợ RAPL đầy đủ. Quầy: PMC [0-3],
FIXC [0-2], PWR [0-3]

· Intel Nguyên tử Bạc: hỗ trợ RAPL đầy đủ. Quầy: PMC [0-1], FIXC [0-2], PWR [0-1]

· Intel Pentium M: Các biến thể của Banias và Dothan. Quầy: PMC [0-1]

· Intel P6: Đã thử nghiệm trên P3.

· AMD K8: tất cả các biến thể. Quầy: PMC [0-3]

· AMD K10: Bộ xử lý dựa trên Barcelona, ​​Thượng Hải, Istanbul, MagnyCours. Quầy:
PMC [0-3]

LỰA CHỌN


-v in thông tin phiên bản ra đầu ra tiêu chuẩn, sau đó thoát ra.

-h in thông báo trợ giúp ra đầu ra tiêu chuẩn, sau đó thoát ra.

-H in thông báo trợ giúp nhóm (sử dụng cùng với -g chuyển đổi).

-V đầu ra chi tiết trong quá trình thực thi để gỡ lỗi.

-m chạy ở chế độ API đánh dấu

-a in các nhóm hiệu suất có sẵn cho bộ xử lý hiện tại.

-e in các bộ đếm có sẵn và các sự kiện hiệu suất của bộ xử lý hiện tại.

-o
lưu trữ tất cả vào một tệp thay vì stdout. Đối với tên tệp như sau
trình giữ chỗ được hỗ trợ:% j cho PBS_JOBID,% r cho MPI RANK (chỉ Intel MPI tại
thời điểm),% h tên máy chủ và% p cho pid quy trình. Các trình giữ chỗ phải được
được phân tách bằng dấu gạch dưới, ví dụ: -o test_% h_% p. Bạn phải chỉ định một hậu tố cho
tên tệp. Đối với txt, đầu ra được in như nguyên bản của tệp. Các hậu tố khác kích hoạt một
lọc trên đầu ra. Các bộ lọc có sẵn là csv (các giá trị được phân tách bằng dấu phẩy) và xml
tại thời điểm này.

-O Không in bảng cho kết quả, thay vào đó hãy sử dụng CSV có thể phân tích cú pháp dễ dàng.

-i in thông tin cpuid về bộ xử lý và về Giám sát hiệu suất của Intel
các tính năng, sau đó thoát.

-c
chỉ định một danh sách số bộ xử lý. Danh sách có thể chứa nhiều mục,
được phân tách bằng dấu phẩy và phạm vi. Ví dụ 0,3,9-11.

-C
chỉ định một danh sách số bộ xử lý. Danh sách có thể chứa nhiều mục,
được phân tách bằng dấu phẩy và phạm vi. Ví dụ 0,3,9-11. Biến thể này cũng sẽ ghim
các chủ đề đến các lõi. Cũng có thể sử dụng các dãy số logic.

-g <performance nhóm> or <performance sự kiện định chuỗi>
chỉ định nhóm hiệu suất nào để đo lường. Đây có thể là một trong những thẻ xuất ra với
cờ -a. Ngoài ra, một tập hợp sự kiện tùy chỉnh có thể được chỉ định bằng một danh sách được phân tách bằng dấu phẩy
sự kiện. Mỗi sự kiện có định dạng eventId: đăng ký với đăng ký là một
của một kiến ​​trúc được hỗ trợ các thanh ghi bộ đếm hiệu suất.

-t <frequency of phép đo>
chế độ dòng thời gian cho các phép đo được giải quyết theo thời gian, các hậu tố có thể có 's' và 'ms' như
100ms. Đầu ra có định dạng:

<Result luồng0> <Result luồng1> hữu ích. Cảm ơn !

-S
chế độ ống nghe với thời lượng bằng senconds. Có thể được sử dụng để đo lường một ứng dụng
từ bên ngoài.

THÍ DỤ


Bởi vì likwid-perfctr các biện pháp trên bộ xử lý chứ không phải các ứng dụng đơn lẻ, nó là cần thiết
để đảm bảo rằng các quy trình và luồng được ghim vào các tài nguyên chuyên dụng. Bạn có thể ghim
ứng dụng của chính bạn hoặc sử dụng chức năng ghim nội dung.

1. Là trình bao bọc với nhóm hiệu suất:

likwid-perfctr -C 0-2 -g TLB ./cacheBench -n 2 -l 1048576 -i 100 -t Sông

Tiến trình mẹ được ghim vào bộ xử lý 0, Luồng 0 đến bộ xử lý 1 và Luồng 1 tới
bộ xử lý 2.

2. Dưới dạng trình bao bọc với sự kiện tùy chỉnh được đặt trên AMD:

likwid-perfctr -C 0-4 -g HƯỚNG DẪN_RETIRED_SSE: PMC0, CPU_CLOCKS_UNHALTED: PMC3 ./ứng dụng của tôi

Nó được chỉ định rằng sự kiện HƯỚNG DẪN_RETIRED_SSE được đo trên bộ đếm PMC0
sự kiện CPU_CLOCKS_UNHALTED trên quầy PMC3. Có thể tính toán thời gian chạy của
tất cả các chủ đề dựa trên CPU_CLOCKS_UNHALTED biến cố. Nếu bạn muốn điều này, bạn phải bao gồm
sự kiện này trong chuỗi sự kiện tùy chỉnh của bạn như được hiển thị ở trên.

3. Dưới dạng trình bao bọc với sự kiện tùy chỉnh được đặt trên Intel:

likwid-perfctr -C 0 -g INSTR_RETIRED_ANY: FIXC0, CPU_CLK_UNHALTED_CORE: FIXC1 ./ứng dụng của tôi

Trên bộ xử lý Intel, các sự kiện cố định được đo trên các bộ đếm chuyên dụng. đó là
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE.CPU_CLK_UNHALTED_REF Nếu bạn cấu hình
những quầy cố định này, likwid-perfctr sẽ tính toán thời gian chạy và chỉ số CPI cho
chạy.

4. Sử dụng API đánh dấu để chỉ đo lường các phần mã của bạn (điều này có thể được sử dụng cả với
nhóm hoặc nhóm sự kiện tùy chỉnh):

likwid-perfctr -m -C 0-4 -g HƯỚNG DẪN_RETIRED_SSE: PMC0, CPU_CLOCKS_UNHALTED: PMC3
./cacheBench

Bạn phải liên kết mã của mình với liblikwid.a / .so và sử dụng các lệnh gọi API đánh dấu. Các
đoạn mã sau hiển thị các lệnh gọi cần thiết:

#bao gồm

/ * chỉ một luồng gọi init * /
nếu (luồngId == 0)
{
likwid_markerInit ();
}
/ * nếu bạn muốn đo lường một ứng dụng phân luồng
* bạn phải gọi likwid_markerThreadInit () cho
* chuẩn bị, ví dụ với OpenMP * /
#pragma omp song song
{
likwid_markerThreadInit ();
}
RÀO CHẮN;
likwid_markerStartRegion ("Điểm chuẩn");
/ * mã của bạn được đo ở đây. * /

likwid_markerStopRegion ("Điểm chuẩn");
RÀO CHẮN;
/ * một lần nữa chỉ một luồng có thể đóng các điểm đánh dấu * /
nếu (luồngId == 0)
{
likwid_markerClose ();
}

5. Sử dụng likwid ở chế độ dòng thời gian:

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./ứng dụng của tôi > ra.txt

Điều này sẽ đọc ra các bộ đếm sau mỗi 300ms trên các lõi vật lý 0-3 và ghi kết quả vào
out.txt. Đối với chế độ dòng thời gian, có likwid-scope của ứng dụng giao diện người dùng, cho phép
âm mưu trực tiếp của các sự kiện đã chọn. Để biết thêm các ví dụ về mã, hãy xem tại likwid WIKI
các trang. Các quy trình là không được ghim vào CPU 0-3.

6. Sử dụng likwid ở chế độ ống nghe:

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

Thao tác này sẽ khởi động bộ đếm và đọc chúng ra sau 2 giây trên lõi vật lý 0-3 và ghi
kết quả cho stdout. Các quy trình là không được ghim vào CPU 0-3.

Sử dụng likwid-perfctr trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad