ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

likwid-pin - ອອນລາຍໃນຄລາວ

ແລ່ນ likwid-pin ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ likwid-pin ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


likwid-pin - pin ຄໍາຮ້ອງສະຫມັກຕາມລໍາດັບຫຼື threaded ກັບໂປເຊດເຊີທີ່ອຸທິດຕົນ

ສະຫຼຸບສັງລວມ


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

ລາຍລະອຽດ


likwid-pin ແມ່ນຄໍາຮ້ອງສະຫມັກເສັ້ນຄໍາສັ່ງເພື່ອ pin ຄໍາຮ້ອງສະຫມັກລໍາດັບຫຼື multithreaded
ກັບໂປເຊດເຊີທີ່ອຸທິດຕົນ. ມັນສາມາດຖືກນໍາໃຊ້ເປັນການທົດແທນສໍາລັບ ຊຸດວຽກ(1). ກົງກັນຂ້າມກັບ
ຊຸດວຽກບໍ່ມີໜ້າກາກສະໜິດສະໜົມແຕ່ມີໂປເຊດເຊີດຽວລະບຸໄວ້. ສໍາລັບ multithreaded
ຄໍາຮ້ອງສະຫມັກໂດຍອີງໃສ່ຫ້ອງສະຫມຸດ pthread ໄດ້ pthread_create ໂທຫ້ອງສະໝຸດແມ່ນໂຫຼດເກີນ
ຜ່ານ LD_PRELOAD ແລະແຕ່ລະກະທູ້ທີ່ສ້າງຂຶ້ນຈະຖືກປັກໝຸດໃສ່ໂປຣເຊສເຊີສະເພາະຕາມທີ່ກຳນົດໄວ້
in core_list

ຕາມຄ່າເລີ່ມຕົ້ນທຸກກະທູ້ທີ່ສ້າງຂຶ້ນຈະຖືກປັກໝຸດໃສ່ຫຼັກຕາມລຳດັບການໂທໄປຫາ
pthread_create. ມັນເປັນໄປໄດ້ທີ່ຈະຂ້າມກະທູ້ດຽວໂດຍໃຊ້ຕົວເລືອກ -s commandline.

ສໍາລັບການປະຕິບັດ OpenMP gcc ແລະ icc compilers ໄດ້ຮັບການສະຫນັບສະຫນູນຢ່າງຊັດເຈນ. ຄົນອື່ນອາດຈະ
ເຮັດວຽກ. likwid-pin ຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ OMP_NUM_THREADS ສໍາລັບທ່ານຖ້າບໍ່ຢູ່ແລ້ວ
ປະຈຸບັນ. ມັນຈະຕັ້ງກະທູ້ຫຼາຍເທົ່າທີ່ມີຢູ່ໃນຕົວສະແດງ PIN. ຈົ່ງຮັບຮູ້ວ່າ
ດ້ວຍ pthreads ກະທູ້ຫຼັກຈະຖືກປັກໝຸດຢູ່ສະເໝີ. ຖ້າທ່ານສ້າງຕົວຢ່າງ 4 threads ກັບ
pthread_create ແລະຢ່າໃຊ້ຂະບວນການຂອງພໍ່ແມ່ເປັນພະນັກງານທີ່ທ່ານຍັງຕ້ອງໄດ້ສະຫນອງ
num_threads+1 IDs ໂປເຊດເຊີ.

likwid-pin ສະຫນັບສະຫນູນຕົວເລກທີ່ແຕກຕ່າງກັນສໍາລັບການ pinning. ຕໍ່ຕົວເລກທາງກາຍະພາບເລີ່ມຕົ້ນຂອງ
ຫຼັກຖືກນໍາໃຊ້. ນີ້ແມ່ນຕົວເລກເຊັ່ນກັນ likwid-topology(1​) ບົດລາຍງານ. ແຕ່ຍັງ
ຕົວເລກຕາມເຫດຜົນພາຍໃນ node ຫຼື sockets ສາມາດຖືກນໍາໃຊ້. ຖ້າໃຊ້ກັບ N (ຕົວຢ່າງ -c
N:0-6) ຫຼັກແມ່ນເປັນຕົວເລກຕາມເຫດຜົນຫຼາຍກວ່າ node ທັງໝົດ. ຫຼັກທາງກາຍຍະພາບມາກ່ອນ. ຖ້າ
ເຊັ່ນ: ລະບົບມີ 8 cores ກັບ 16 SMT threads ກັບ -c N:0-7 ທ່ານໄດ້ຮັບຫຼັກທາງດ້ານຮ່າງກາຍທັງຫມົດ.
ຖ້າທ່ານລະບຸ -c N: 0-15 ທ່ານໄດ້ຮັບຫຼັກທາງດ້ານຮ່າງກາຍທັງຫມົດແລະຫົວຂໍ້ SMT ທັງຫມົດ. ດ້ວຍ S ທ່ານສາມາດເຮັດໄດ້
ລະບຸຕົວເລກຕາມເຫດຜົນພາຍໃນຊັອກເກັດ, ອີກເທື່ອຫນຶ່ງແກນທາງດ້ານຮ່າງກາຍມາກ່ອນ. ທ່ານສາມາດປະສົມ
ໂດເມນທີ່ແຕກຕ່າງກັນແຍກດ້ວຍ @. ຕົວຢ່າງ: -c S0:0-3@S2:2-3 ທ່ານປັກໝຸດກະທູ້ 0-3 ກັບເຫດຜົນ
cores 0-3 ໃນ socket 0 ແລະ threads 4-5 on logical cores 2-3 on socket 2.

ສໍາລັບແອັບພລິເຄຊັນທີ່ນະໂຍບາຍການສໍາພັດຄັ້ງທໍາອິດໃນລະບົບ numa ບໍ່ສາມາດໃຊ້ໄດ້ likwid-pin
ສາມາດໃຊ້ເພື່ອເປີດການຈັດວາງຄວາມຊົງຈຳແບບ interleave. ນີ້ຢ່າງຫຼວງຫຼາຍສາມາດເລັ່ງຄວາມໄວ
ປະສິດທິພາບຂອງລະຫັດ multithreaded ຄວາມຊົງຈໍາຜູກມັດ. noma ທັງໝົດທີ່ຜູ້ໃຊ້ໄດ້ປັກໝຸດກະທູ້ໃສ່
ຖືກນໍາໃຊ້ສໍາລັບການແຊກແຊງ.

OPTIONS


-v ພິມ​ຂໍ້​ມູນ​ສະ​ບັບ​ເປັນ​ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​, ຫຼັງ​ຈາກ​ນັ້ນ​ອອກ​.

-h ພິມຂໍ້ຄວາມຊ່ວຍເຫຼືອໄປຫາຜົນຜະລິດມາດຕະຖານ, ຈາກນັ້ນອອກ.

-c OR OR <ກະແຈກກະຈາຍ ນະໂຍບາຍ>
ລະບຸບັນຊີລາຍຊື່ຕົວເລກຂອງໂປເຊດເຊີ. ບັນຊີລາຍຊື່ອາດມີຫຼາຍລາຍການ,
ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ, ແລະໄລຍະ. ຕົວຢ່າງ 0,3,9-11. ນອກນັ້ນທ່ານຍັງສາມາດນໍາໃຊ້ຢ່າງມີເຫດຜົນ
ຕົວເລກ, ພາຍໃນ node (N), socket (S ) ຫຼືໂດເມນ numa (M ).
likwid-pin ຍັງຮອງຮັບການປັກໝຸດຢ່າງມີເຫດຜົນພາຍໃນ cpuset ທີ່ມີຄຳນຳໜ້າ L. ຖ້າ​ເຈົ້າ
ommit ທາງເລືອກນີ້ likwid-pin ຈະ pin threads ກັບ processors ໃນ node ໄດ້
ກັບຫຼັກທາງດ້ານຮ່າງກາຍກ່ອນ. ເບິ່ງຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດກ່ຽວກັບການນໍາໃຊ້ການສະແດງອອກຂອງກະທູ້ຫຼື
ນະໂຍບາຍກະແຈກກະຈາຍ

-s
ລະບຸໜ້າກາກຂ້າມເປັນເລກ HEX. ສໍາລັບແຕ່ລະຊຸດ, ກະທູ້ທີ່ສອດຄ້ອງກັນແມ່ນ
ຂ້າມ.

-S ໂດເມນໜ່ວຍຄວາມຈຳ ccNUMA ທັງໝົດທີ່ເປັນຂອງລາຍການຫົວຂໍ້ທີ່ລະບຸຈະຖືກອະນາໄມ
ກ່ອນການແລ່ນ. ສາມາດແກ້ໄຂບັນຫາ cache buffer ໃນ Linux.

-p ພິມໂດເມນກະທູ້ທີ່ມີຢູ່ສໍາລັບການປັກໝຸດຢ່າງມີເຫດຜົນ. ຖ້າໃຊ້ປະສົມປະສານ
ດ້ວຍ -c, ID ໂປເຊດເຊີທາງດ້ານຮ່າງກາຍຖືກພິມອອກເປັນ stdout.

-i ຕັ້ງນະໂຍບາຍຄວາມຊົງຈໍາ numa ເພື່ອ interleave ຂະຫຍາຍ nodes numa ທັງຫມົດທີ່ມີສ່ວນຮ່ວມໃນການ pinning

-q ການ​ປະ​ຕິ​ບັດ silent ໂດຍ​ບໍ່​ມີ​ການ​ຜະ​ລິດ​ຕະ​ພັນ​

-d
ກໍານົດຕົວຂັ້ນທີ່ໃຊ້ເພື່ອອອກລາຍການໂປເຊດເຊີທາງດ້ານຮ່າງກາຍ (-p & -c)

EXAMPLE


1. ສໍາລັບຄໍາຮ້ອງສະຫມັກ pthread ມາດຕະຖານ:

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

ຂະບວນການແມ່ແມ່ນ pinned ກັບໂປເຊດເຊີ 0. ກະທູ້ 0 ຫາໂປເຊດເຊີ 2, thread 1 ຫາ
ໂປເຊດເຊີ 4, thread 2 ຫາ processor 5 ແລະ thread 3 to processor 6. ຖ້າມີ threads ຫຼາຍ
ຖືກສ້າງຂື້ນກວ່າທີ່ລະບຸໄວ້ໃນບັນຊີລາຍຊື່ຂອງໂປເຊດເຊີ, ກະທູ້ເຫຼົ່ານີ້ຖືກ pinned ກັບໂປເຊດເຊີ 0 ເປັນ
ຜົນຕອບແທນ.

2. ສໍາລັບ gcc OpenMP ເປັນຈໍານວນຫຼາຍ ids ຕ້ອງໄດ້ຮັບການລະບຸໄວ້ໃນບັນຊີລາຍຊື່ໂຮງງານຜະລິດເນື່ອງຈາກວ່າມີກະທູ້:

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

3. ການຄວບຄຸມຢ່າງເຕັມທີ່ກ່ຽວກັບການ pinning ສາມາດບັນລຸໄດ້ໂດຍການລະບຸຫນ້າກາກຂ້າມ. ຍົກ​ຕົວ​ຢ່າງ
ຄໍາສັ່ງຕໍ່ໄປນີ້ຂ້າມການປັກໝຸດຂອງກະທູ້ 1:

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

4. ສະຫຼັບ -c ສະຫນັບສະຫນູນຄໍານິຍາມຂອງກະທູ້ໃນໂດເມນ affinity ສະເພາະໃດຫນຶ່ງເຊັ່ນ:
NUMA node ຫຼືກຸ່ມແຄດ. ໂດເມນທີ່ມີສະໜິດສະໜົມທີ່ມີຢູ່ສາມາດດຶງຂໍ້ມູນດ້ວຍ -p
ສະຫຼັບແລະບໍ່ມີທາງເລືອກເພີ່ມເຕີມໃນ commandline. ໂດເມນຄວາມສຳພັນທົ່ວໄປແມ່ນ N
(ທັງ Node), SX (socket X), CX (ກຸ່ມ cache X) ແລະ MX (ກຸ່ມຄວາມຈໍາ X). ຫຼາຍ
ໂດເມນ affinity ສາມາດຖືກຕັ້ງແຍກໂດຍ @. ເພື່ອປັກໝຸດ 2 ກະທູ້ໃສ່ແຕ່ລະເຕົ້າຮັບ
ຂອງ​ລະ​ບົບ 2-socket​:

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

5. ນິຍາມການໂຕ້ຖຽງອີກອັນໜຶ່ງຂອງສະວິດ -c ອະນຸຍາດໃຫ້ກະທູ້ຖືກປັກໝຸດຕາມ
ກັບການສະແດງອອກຄື E:N:4:1:2. syntax ແມ່ນ E: :
ກະທູ້>(: : ). ຕົວຢ່າງ pins 8 threads ກັບ 2 SMT threads ຕໍ່
ຫຼັກໃນເຄື່ອງ SMT 4:

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

6. ທາງເລືອກສຸດທ້າຍສໍາລັບການສະຫຼັບ -c ແມ່ນການກະແຈກກະຈາຍອັດຕະໂນມັດຂອງກະທູ້ກ່ຽວກັບ
ໂດເມນທີ່ໃກ້ຊິດ. ຍົກ​ຕົວ​ຢ່າງ​ທີ່​ຈະ​ກະ​ແຈກ​ກະ​ຈາຍ​ກະ​ທູ້​ໃນ​ທົ່ວ​ທັງ​ຫມົດ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ໂດ​ເມນ​ໃນ a
ລະບົບ:

OMP_NUM_THREADS=4; likwid-pin -c M: ກະແຈກກະຈາຍ ./myApp

ໃຊ້ likwid-pin ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    libusb
    libusb
    ຫ້ອງສະໝຸດເພື່ອເປີດໃຊ້ພື້ນທີ່ຜູ້ໃຊ້
    ໂຄງ​ການ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ເພື່ອ​ຕິດ​ຕໍ່​ພົວ​ພັນ​ກັບ​
    ອຸປະກອນ USB. ຜູ້ຊົມ: ນັກພັດທະນາ, ສິ້ນສຸດ
    ຜູ້ໃຊ້/ເດັສທັອບ. ພາສາການຂຽນໂປຣແກຣມ: C.
    ໝວດໝູ່...
    ດາວໂຫລດ libusb
  • 2
    SWIG
    SWIG
    SWIG ເປັນເຄື່ອງມືພັດທະນາຊອບແວ
    ທີ່ເຊື່ອມຕໍ່ບັນດາໂຄງການທີ່ຂຽນໃນ C ແລະ
    C ++ ທີ່ມີຄວາມຫລາກຫລາຍຂອງລະດັບສູງ
    ພາສາການຂຽນໂປຼແກຼມ. SWIG ຖືກນໍາໃຊ້ກັບ
    ແຕກຕ່າງກັນ ...
    ດາວໂຫລດ SWIG
  • 3
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce ຫົວຂໍ້, ສ້າງຂຶ້ນດ້ວຍ
    JS ຕໍ່ໄປ, Webpack, Babel, Node, ແລະ
    ດ່ວນ, ໃຊ້ GraphQL ແລະ Apollo
    ລູກ​ຄ້າ. ຮ້ານ WooCommerce ໃນ React(
    ປະ​ກອບ​ດ້ວຍ​: ຜະ​ລິດ​ຕະ​ພັນ ...
    ດາວໂຫລດ WooCommerce Nextjs React Theme
  • 4
    archlabs_repo
    archlabs_repo
    Package repo ສໍາລັບ ArchLabs ນີ້ແມ່ນ
    ຄໍາຮ້ອງສະຫມັກທີ່ຍັງສາມາດເອົາມາໄດ້
    ຈາກ
    https://sourceforge.net/projects/archlabs-repo/.
    ມັນໄດ້ຖືກຈັດຢູ່ໃນ OnWorks ໃນ ...
    ດາວໂຫລດ archlabs_repo
  • 5
    ໂຄງການ Zephyr
    ໂຄງການ Zephyr
    ໂຄງການ Zephyr ແມ່ນຄົນຮຸ່ນໃຫມ່
    ລະບົບປະຕິບັດການໃນເວລາຈິງ (RTOS) ນັ້ນ
    ຮອງຮັບຮາດແວຫຼາຍອັນ
    ສະຖາປັດຕະຍະກໍາ. ມັນແມ່ນອີງໃສ່ a
    ແກ່ນຮອຍຕີນນ້ອຍ...
    ດາວໂຫລດໂຄງການ Zephyr
  • 6
    SCons
    SCons
    SCons ເປັນ​ເຄື່ອງ​ມື​ການ​ກໍ່​ສ້າງ​ຊອບ​ແວ​
    ນັ້ນ​ແມ່ນ​ທາງ​ເລືອກ​ທີ່​ດີ​ເລີດ​ຂອງ​
    ຄລາສສິກ "ເຮັດ" ເຄື່ອງມືການກໍ່ສ້າງທີ່
    ພວກເຮົາທຸກຄົນຮູ້ຈັກແລະຮັກ. SCons ແມ່ນ
    ໄດ້​ປະ​ຕິ​ບັດ​ເປັນ ...
    ດາວໂຫລດ SCons
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad