likwid-pin - Dalam Talian di Awan

Ini ialah arahan likwid-pin yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


likwid-pin - pin aplikasi berurutan atau berulir pada pemproses khusus

SINOPSIS


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

DESCRIPTION


likwid-pin ialah aplikasi baris arahan untuk menyemat aplikasi berurutan atau berbilang benang
kepada pemproses khusus. Ia boleh digunakan sebagai pengganti set tugasan(1). Bertentangan dengan
set tugas tiada topeng pertalian tetapi pemproses tunggal ditentukan. Untuk multithreaded
aplikasi berdasarkan perpustakaan pthread yang pthread_create panggilan perpustakaan terlebih beban
melalui LD_PRELOAD dan setiap utas yang dibuat disematkan pada pemproses khusus seperti yang ditentukan
in senarai_teras

Setiap lalai setiap utas yang dijana disematkan pada teras mengikut urutan panggilan ke
pthread_create. Ia adalah mungkin untuk melangkau benang tunggal menggunakan pilihan baris perintah -s.

Untuk pelaksanaan OpenMP, pengkompil gcc dan icc disokong secara eksplisit. Orang lain juga boleh
bekerja. likwid-pin menetapkan pembolehubah persekitaran OMP_NUM_THREADS untuk anda jika belum
hadir. Ia akan menetapkan seberapa banyak benang yang terdapat dalam ungkapan pin. Sedarlah bahawa
dengan pthread benang induk sentiasa disematkan. Jika anda mencipta contohnya 4 utas dengan
pthread_create dan jangan gunakan proses induk sebagai pekerja yang anda masih perlu sediakan
num_threads+1 id pemproses.

likwid-pin menyokong penomboran yang berbeza untuk menyemat. Setiap penomboran fizikal lalai bagi
teras digunakan. Ini adalah penomboran juga likwid-topologi(1) laporan. Tetapi juga
penomboran logik di dalam nod atau soket boleh digunakan. Jika menggunakan dengan N (cth -c
N:0-6) teras adalah bernombor logik ke atas keseluruhan nod. Teras fizikal diutamakan. Jika
cth sistem mempunyai 8 teras dengan 16 utas SMT dengan -c N:0-7 anda mendapat semua teras fizikal.
Jika anda menyatakan -c N:0-15 anda mendapat semua teras fizikal dan semua utas SMT. Dengan S anda boleh
nyatakan penomboran logik di dalam soket, sekali lagi teras fizikal diutamakan. Boleh campur
domain berbeza dipisahkan dengan @. Cth -c S0:0-3@S2:2-3 anda pin benang 0-3 kepada logik
teras 0-3 pada soket 0 dan benang 4-5 pada teras logik 2-3 pada soket 2.

Untuk aplikasi di mana dasar sentuhan pertama pada sistem numa tidak boleh digunakan likwid-pin
boleh digunakan untuk menghidupkan peletakan memori antara cuti. Ini boleh mempercepatkan dengan ketara
prestasi kod berbilang benang terikat memori. Semua nod numa pengguna menyematkan benang
digunakan untuk interleaving.

PILIHAN


-v mencetak maklumat versi ke output standard, kemudian keluar.

-h mencetak mesej bantuan kepada output standard, kemudian keluar.

-c OR OR < berselerak dasar>
tentukan senarai berangka pemproses. Senarai mungkin mengandungi berbilang item,
dipisahkan dengan koma dan julat. Contohnya 0,3,9-11. Anda juga boleh menggunakan logik
penomboran, sama ada dalam nod (N), soket (S ) atau domain numa (M ).
likwid-pin juga menyokong penyematan logik dalam cpuset dengan awalan L. Jika awak
ommit pilihan ini likwid-pin akan menyematkan benang pada pemproses pada nod
dengan teras fizikal terlebih dahulu. Lihat di bawah untuk mendapatkan butiran tentang menggunakan ungkapan benang atau
dasar taburan

-s
Tentukan topeng langkau sebagai nombor HEX. Untuk setiap bit set, benang yang sepadan ialah
dilangkau.

-S Semua domain memori ccNUMA kepunyaan senarai benang yang ditentukan akan dibersihkan
sebelum larian. Boleh menyelesaikan masalah cache penimbal fail pada Linux.

-p mencetak domain benang yang tersedia untuk penyematan logik. Jika digunakan secara gabungan
dengan -c, ID pemproses fizikal dicetak ke stdout.

-i tetapkan dasar ingatan numa untuk meninggalkan antara semua nod numa yang terlibat dalam menyemat

-q pelaksanaan senyap tanpa output

-d
tetapkan pembatas yang digunakan untuk mengeluarkan senarai pemproses fizikal (-p & -c)

CONTOH


1. Untuk aplikasi pthread standard:

likwid-pin -c 0,2,4-6 ./myApp

Proses induk disematkan pada pemproses 0. Benang 0 kepada pemproses 2, utas 1 kepada
pemproses 4, utas 2 kepada pemproses 5 dan utas 3 kepada pemproses 6. Jika lebih banyak utas
dibuat daripada yang dinyatakan dalam senarai pemproses, utas ini disematkan pada pemproses 0 sebagai
sandaran.

2. Untuk gcc OpenMP seberapa banyak id mesti dinyatakan dalam senarai pemproses kerana terdapat urutan:

OMP_NUM_THREADS=4; likwid-pin -c 0,2,1,3 ./myApp

3. Kawalan penuh ke atas penyematan boleh dicapai dengan menentukan topeng langkau. Sebagai contoh
arahan berikut melangkau penyematan benang 1:

OMP_NUM_THREADS=4; likwid-pin -s 0x1 -c 0,2,1,3 ./myApp

4. Suis -c menyokong definisi benang dalam domain perkaitan tertentu seperti
Nod NUMA atau kumpulan cache. Domain perkaitan yang tersedia boleh diambil dengan -p
suis dan tiada pilihan lanjut pada baris arahan. Domain perkaitan biasa ialah N
(keseluruhan Nod), SX (soket X), CX (kumpulan cache X) dan MX (kumpulan memori X). Pelbagai
domain perkaitan boleh ditetapkan dipisahkan oleh @. Untuk menyematkan 2 benang pada setiap soket
daripada sistem 2-soket:

OMP_NUM_THREADS=4; likwid-pin -c S0:0-1@S1:0-1 ./myApp

5. Satu lagi definisi hujah suis -c membenarkan benang disematkan mengikut
kepada ungkapan seperti E:N:4:1:2. Sintaksnya ialah E: :
benang>(: : ). Contoh menyematkan 8 utas dengan 2 utas SMT setiap
teras pada mesin SMT 4:

OMP_NUM_THREADS=4; likwid-pin -c E:N:8:2:4 ./myApp

6. Alternatif terakhir untuk suis -c ialah penyerakan automatik benang dihidupkan
domain perkaitan. Contohnya untuk menyerakkan benang ke atas semua domain memori dalam a
sistem:

OMP_NUM_THREADS=4; likwid-pin -c M: berselerak ./myApp

Gunakan likwid-pin dalam talian menggunakan perkhidmatan onworks.net



Program dalam talian Linux & Windows terkini