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

Đây là lệnh likwid-pin 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 mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


likwid-pin - ghim ứng dụng tuần tự hoặc luồng vào bộ xử lý chuyên dụng

SYNOPSIS


likewid-pin [-vhqipS] [-c ] [-s ] [-d ]

MÔ TẢ


likewid-pin là một ứng dụng dòng lệnh để ghim các ứng dụng tuần tự hoặc đa luồng
đến các bộ xử lý chuyên dụng. Nó có thể được sử dụng thay thế cho tập hợp(1). Ngược lại với
tác vụ không có mặt nạ ái lực nhưng bộ xử lý đơn được chỉ định. Đối với đa luồng
các ứng dụng dựa trên thư viện pthread pthread_create cuộc gọi thư viện bị quá tải
thông qua LD_PRELOAD và mỗi luồng được tạo sẽ được ghim vào bộ xử lý chuyên dụng theo quy định
in danh sách lõi

Theo mặc định, mọi luồng được tạo sẽ được ghim vào lõi theo thứ tự các lệnh gọi tới
pthread_create. Có thể bỏ qua các luồng đơn bằng cách sử dụng tùy chọn dòng lệnh -s.

Để triển khai OpenMP, trình biên dịch gcc và icc được hỗ trợ rõ ràng. Những người khác cũng có thể
làm việc. likewid-pin đặt biến môi trường OMP_NUM_THREADS cho bạn nếu chưa
hiện tại. Nó sẽ đặt số lượng luồng như hiện tại trong biểu thức ghim. Hãy nhận biết rằng
với pthreads thì luồng gốc luôn được ghim. Nếu bạn tạo ví dụ 4 chủ đề với
pthread_create và không sử dụng quy trình gốc làm công nhân mà bạn vẫn phải cung cấp
num_threads+1 id bộ xử lý.

likewid-pin hỗ trợ đánh số khác nhau để ghim. Theo cách đánh số vật lý mặc định của
lõi được sử dụng. Đây cũng là cách đánh số likwid-topo(1) báo cáo. Nhưng cũng
đánh số logic bên trong nút hoặc ổ cắm có thể được sử dụng. Nếu sử dụng với chữ N (ví dụ -c
N:0-6) các lõi được đánh số logic trên toàn bộ nút. Lõi vật lý đến trước. Nếu như
ví dụ: một hệ thống có 8 lõi với 16 luồng SMT với -c N:0-7 bạn có được tất cả các lõi vật lý.
Nếu bạn chỉ định -c N:0-15 bạn sẽ nhận được tất cả các lõi vật lý và tất cả các luồng SMT. Với S bạn có thể
chỉ định đánh số logic bên trong ổ cắm, một lần nữa lõi vật lý được ưu tiên hàng đầu. Bạn có thể trộn
các tên miền khác nhau được phân tách bằng @. Ví dụ -c S0:0-3@S2:2-3 bạn ghim chuỗi 0-3 thành logic
lõi 0-3 trên socket 0 và luồng 4-5 trên lõi logic 2-3 trên socket 2.

Đối với các ứng dụng không thể sử dụng chính sách chạm đầu tiên trên hệ thống numa likewid-pin
có thể được sử dụng để bật vị trí bộ nhớ xen kẽ. Điều này có thể tăng tốc đáng kể
hiệu suất của mã đa luồng ràng buộc bộ nhớ. Tất cả các nút numa mà người dùng đã ghim chủ đề vào
được sử dụng để xen kẽ.

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.

-c OR OR <scatter chính sách>
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. Bạn cũng có thể sử dụng logic
đánh số, trong một nút (N), một ổ cắm (S ) hoặc một miền numa (M ).
likwid-pin cũng hỗ trợ ghim logic trong bộ xử lý có tiền tố L. nếu bạn
bỏ tùy chọn này likwid-pin sẽ ghim các luồng vào bộ xử lý trên nút
với lõi vật lý đầu tiên. Xem bên dưới để biết chi tiết về cách sử dụng biểu thức luồng hoặc
chính sách phân tán

-s
Chỉ định mặt nạ bỏ qua dưới dạng số HEX. Đối với mỗi bit được đặt, luồng tương ứng là
bỏ qua.

-S Tất cả các miền bộ nhớ ccNUMA thuộc danh sách luồng được chỉ định sẽ bị xóa
trước khi chạy. Có thể giải quyết vấn đề về bộ nhớ đệm tập tin trên Linux.

-p in các miền chủ đề có sẵn để ghim hợp lý. Nếu sử dụng kết hợp
với -c, ID bộ xử lý vật lý được in ra thiết bị xuất chuẩn.

-i đặt chính sách bộ nhớ numa để xen kẽ tất cả các nút numa liên quan đến việc ghim

-q thực hiện im lặng mà không có đầu ra

-d
đặt dấu phân cách được sử dụng để xuất danh sách bộ xử lý vật lý (-p & -c)

THÍ DỤ


1. Đối với ứng dụng pthread tiêu chuẩn:

likewid-pin -c 0,2,4-6 ./ứng dụng của tôi

Tiến trình gốc được ghim vào bộ xử lý 0. Luồng 0 đến bộ xử lý 2, luồng 1 đến
bộ xử lý 4, luồng 2 đến bộ xử lý 5 và luồng 3 đến bộ xử lý 6. Nếu có nhiều luồng hơn
được tạo hơn mức được chỉ định trong danh sách bộ xử lý, các luồng này được ghim vào bộ xử lý 0 dưới dạng
dự phòng.

2. Đối với gcc OpenMP, nhiều id phải được chỉ định trong danh sách bộ xử lý vì có các luồng:

OMP_NUM_THREADS=4; likewid-pin -c 0,2,1,3 ./ứng dụng của tôi

3. Có thể đạt được toàn quyền kiểm soát việc ghim bằng cách chỉ định mặt nạ bỏ qua. Ví dụ
lệnh sau bỏ qua việc ghim luồng 1:

OMP_NUM_THREADS=4; likewid-pin -s 0x1 -c 0,2,1,3 ./ứng dụng của tôi

4. Công tắc -c hỗ trợ định nghĩa các luồng trong miền quan hệ cụ thể như
Nút NUMA hoặc nhóm bộ đệm. Các miền quan hệ có sẵn có thể được truy xuất bằng -p
switch và không có tùy chọn nào khác trên dòng lệnh. Các miền ái lực chung là N
(toàn bộ Nút), SX (socket X), CX (nhóm bộ đệm X) và MX (nhóm bộ nhớ X). Nhiều
các miền quan hệ có thể được đặt cách nhau bởi @. Để ghim 2 luồng trên mỗi ổ cắm
của hệ thống 2 ổ cắm:

OMP_NUM_THREADS=4; likewid-pin -c S0:0-1@S1:0-1 ./ứng dụng của tôi

5. Một định nghĩa đối số khác của khóa chuyển -c cho phép các luồng được ghim theo
thành biểu thức như E:N:4:1:2. Cú pháp là E: :
chủ đề>(: : ). Ví dụ ghim 8 luồng với 2 luồng SMT trên mỗi
lõi trên máy SMT 4:

OMP_NUM_THREADS=4; likewid-pin -c E:N:8:2:4 ./ứng dụng của tôi

6. Giải pháp thay thế cuối cùng cho khóa chuyển -c là tự động phân tán các luồng trên
các miền quan hệ. Ví dụ: để phân tán các luồng trên tất cả các miền bộ nhớ trong một
hệ thống:

OMP_NUM_THREADS=4; likewid-pin -c M: phân tán ./ứng dụng của tôi

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



Các chương trình trực tuyến Linux & Windows mới nhất