Ito ang command na hwloc-bind na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
hwloc-bind - Maglunsad ng command na nakatali sa mga partikular na processor at/o memory, o
kumonsulta sa pagbibigkis ng isang umiiral na programa
SINOPSIS
hwloc-bind [pagpipilian] [ [...] ] [--] ...
Tandaan na ang hulloc(7) nagbibigay ng detalyadong paliwanag ng sistema ng hwloc at ng wastong
mga format; dapat itong basahin bago basahin ang man page na ito.
Opsyon
--cpubind Gumamit ng mga sumusunod na argumento para sa CPU binding (default).
--membind Gumamit ng mga sumusunod na argumento para sa memory binding. Kung --mempolicy hindi rin ibinibigay,
ang default na patakaran ay bind.
--mempolicy
Baguhin ang patakaran sa memory binding. Default ang mga available na patakaran,
firsttouch, bind, interleave replicate at nexttouch. Ang pagpipiliang ito ay lamang
makabuluhan kapag ang isang aktwal na pagbubuklod ay ibinigay din sa --membind. Kung --membind is
binigay nang wala --mempolicy, ang default na patakaran ay bind.
--kunin Iulat ang kasalukuyang mga binding.
Kapag ang isang utos ay ibinigay, ang pagbubuklod ay ipinapakita bago isagawa ang utos.
Kapag walang ibinigay na utos, lalabas ang programa pagkatapos ipakita ang kasalukuyang
nagbubuklod.
Kapag pinagsama sa --membind, iulat ang memory binding sa halip na CPU binding.
Walang lokasyon ang maaaring ibigay dahil walang isinagawang pagbubuklod.
-e --get-last-cpu-location
Iulat ang mga huling processor kung saan tumakbo ang proseso. Tandaan na ang resulta ay maaaring
hindi na napapanahon kapag naiulat dahil maaaring ilipat ng operating system ang
iproseso sa iba pang mga processor sa anumang oras ayon sa pagbubuklod.
Kapag ang isang utos ay ibinigay, ang mga huling processor ay ipinapakita bago isagawa ang
utos. Kapag walang ibinigay na utos, lalabas ang programa pagkatapos ipakita ang huli
processors.
Ang pagpipiliang ito ay hindi maaaring pagsamahin sa --membind.
Walang lokasyon ang maaaring ibigay dahil walang isinagawang pagbubuklod.
--single Magbigkis sa isang CPU upang maiwasan ang paglipat.
--mahigpit Nangangailangan ng mahigpit na pagbubuklod.
--pid
Mag-opera sa pid
-p --pisikal
kumuha ng OS/physical index sa halip na mga logical index
-l --lohikal
kumuha ng mga lohikal na index sa halip na mga pisikal/OS na index (default)
--taskset Ipakita ang mga string ng CPU set sa format na kinikilala ng taskset command-line
program sa halip na hwloc-specific na CPU set string format. Ang pagpipiliang ito ay walang
epekto sa format ng input CPU set string, ang parehong mga format ay palaging tinatanggap.
--paghigpitan
Limitahan ang topology sa ibinigay na cpuset.
--buong-sistema
Huwag isaalang-alang ang mga limitasyon ng pangangasiwa.
-f --puwersa
Ilunsad ang executable kahit na nabigo ang pagbubuklod.
-q --tahimik
Itago ang mga hindi nakamamatay na mensahe ng error. Kabilang dito ang mga lokasyong tumuturo sa hindi umiiral
mga bagay, pati na rin ang kabiguang magbigkis. Ito ay kadalasang kapaki-pakinabang bilang karagdagan sa
--puwersa.
-v --verbose
Output ng Verbose.
--bersyon Iulat ang bersyon at lumabas.
DESCRIPTION
Ang hwloc-bind ay nagpapatupad ng isang executable (na may opsyonal na mga argumento ng command line) na nakatali sa
tinukoy na lokasyon (o listahan ng mga lokasyon). Sa matagumpay na pagpapatupad, hwloc-bind simple
nagtatakda ng mga binding at pagkatapos ay ipapatupad ang executable sa sarili nito.
Kung nabigo ang pagbubuklod, o kung walang laman ang hanay ng pagbubuklod, at --puwersa hindi ibinigay, hwloc-bind
nagbabalik na may error sa halip na ilunsad ang executable.
TANDAAN: Lubos na inirerekomenda na basahin mo ang hulloc(7) pahina ng pangkalahatang-ideya bago basahin
itong man page. Karamihan sa mga konseptong inilarawan sa hulloc(7) direktang nalalapat sa hwloc-
bind utility.
HALIMBAWA
Ang operasyon ng hwloc-bind ay pinakamahusay na inilarawan sa pamamagitan ng ilang mga halimbawa. Higit pang mga detalye tungkol sa kung paano
ang mga lokasyon ay tinukoy sa hwloc-bind command line ay inilalarawan sa hullocNa (7).
Upang patakbuhin ang echo command sa unang lohikal na processor ng pangalawang pakete:
hwloc-bind package:1.pu:0 -- echo hello
na eksaktong katumbas ng
hwloc-bind package:1.pu:0 echo hello
Upang itali ang "echo" na utos sa unang core ng pangalawang pakete at ang pangalawang core ng
ang unang pakete:
hwloc-bind package:1.core:0 package:0.core:1 echo hello
Tandaan na ang pagbubuklod ng "echo" na utos sa maraming mga processor ay malamang na walang kahulugan
(dahil ang "echo" ay malamang na ipinatupad bilang isang single-threaded na application); ang mga halimbawang ito
maglingkod lamang upang ipakita kung ano ang magagawa ng hwloc-bind.
Upang tumakbo sa unang tatlong pakete sa pangalawa at pangatlong node:
hwloc-bind node:1-2.package:0:3 echo hello
na katumbas din ng:
hwloc-bind node:1-2.package:0-2 echo hello
Tandaan na kung susubukan mong magbigkis sa mga bagay na wala, hindi magbabala ang hwloc-bind
maliban na lamang kung -v ay tinukoy.
Upang tumakbo sa processor na may pisikal na index 2 sa pakete na may pisikal na index 1:
hwloc-bind --physical package:1.core:2 echo hello
Upang tumakbo sa mga kakaibang core sa loob ng kahit na mga pakete:
hwloc-bind package:even.core:odd echo hello
Upang tumakbo sa unang pakete, maliban sa ikalawa at ikalimang core nito:
hwloc-bind package:0 ~package:0.core:1 ~package:0.core:4 echo hello
Upang tumakbo kahit saan maliban sa unang pakete:
hwloc-bind all ~package:0 echo hello
Upang tumakbo sa isang core malapit sa interface ng network na pinangalanang eth0:
hwloc-bind os=eth0 echo hello
Upang tumakbo sa isang core malapit sa PCI device na ang bus ID ay 0000:01:02.0:
hwloc-bind pci=0000:01:02.0 echo hello
Upang itali ang memorya sa pangalawang memorya ng node at tumakbo sa unang node (kapag sinusuportahan ng OS):
hwloc-bind --cpubind node:1 --membind node:0 echo hello
Ang --get na opsyon ay maaaring mag-ulat ng mga kasalukuyang binding. Ipinapakita ng halimbawang ito ang nesting hwloc-bind
invocations na magtakda ng binding at pagkatapos ay iulat ito:
hwloc-bind node:1.package:2 hwloc-bind --get
Sa isa sa mga makina ng developer ng hwloc, ang halimbawang ito ay nag-uulat ng "0x00004444,0x44000000".
Maaaring iba ang mask na iniulat sa iyong makina.
Ang mga lokasyon ay maaari ding tukuyin bilang isang hex bit mask (karaniwang binubuo ng hwloc-calc).
Halimbawa:
hwloc-bind 0x00004444,0x44000000 echo hello
hwloc-bind `hwloc-calc node:1.package:2` echo hello
Ang memory binding ay maaari ding iulat:
hwloc-bind --membind node:1 --mempolicy interleave -- hwloc-bind --get --membind
Nagbabalik ito ng string na naglalarawan sa memory binding, gaya ng "0x000000f0 (interleave)".
Tandaan na kung ang system ay walang anumang mga NUMA node, ang naiulat na string ay magsasaad
na ang proseso ay nakatali sa buong memorya ng system (hal., "0xf...f").
Pahiwatig
Kung available ang graphics-enabled lstopo, gamitin halimbawa
hwloc-bind core:2 -- lstopo --pid 0
para tingnan kung ano talaga ang resulta ng iyong binding command. lstopo ay graphically
ipakita kung saan ito nakatali sa pamamagitan ng hwloc-bind.
RETURN VALUE
Sa matagumpay na pagpapatupad, ipapatupad ng hwloc-bind ang utos sa sarili nito. Ang return value ay
samakatuwid anuman ang return value ng command.
Ang hwloc-bind ay magbabalik ng nonzero kung mayroong anumang uri ng error, tulad ng (ngunit hindi limitado sa):
kabiguang ma-parse ang command line, hindi mabawi ang mga binding ng proseso, o kakulangan ng a
utos na isagawa.
Gumamit ng hwloc-bind online gamit ang mga serbisyo ng onworks.net