Ito ang command na likwid-bench 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
likwid-bench - mababang antas na benchmark suite at microbenchmarking framework
SINOPSIS
likwid-bench [-hap] [-l ] [-i ] [-g ] [-t
] [-w ]
DESCRIPTION
likwid-bench ay isang benchmark suite para sa mababang antas (assembly) na mga benchmark na susukatin
bandwidth at throughput ng pagtuturo para sa partikular na code ng pagtuturo sa mga x86 system. Ang
Kasama sa kasalukuyang mga benchmark code ang mga karaniwang pattern ng pag-access ng data tulad ng pag-load at store
kundi pati na rin ang mga kalkulasyon tulad ng vector triad at sum. likwid-bench kasama ang arkitektura
mga partikular na benchmark para sa x86, x86_64 at x86 para sa mga coprocessor ng Intel Xeon Phi. Ang
maaaring kalkulahin ang mga halaga ng pagganap sa pamamagitan ng likwid-bench o sinusukat gamit ang pagganap
mga counter sa pamamagitan ng paggamit. likwid-perfctr bilang pambalot sa likwid-bench. Ito ay nangangailangan ng pagbuo
likwid-bench. na may Instrumentasyon na maaaring paganahin sa config.mk.
Opsyon
-h nagpi-print ng mensahe ng tulong sa karaniwang output, pagkatapos ay lalabas.
-a ilista ang mga available na benchmark code para sa kasalukuyang system.
-p ilista ang mga available na domain ng thread.
-l
ilista ang mga katangian ng isang benchmark code.
-i
bilang ng mga pag-ulit na gaganap sa loob ng benchmark code.
-t
Pangalan ng benchmark code na tatakbo (mandatory).
-g
tukuyin ang bilang ng mga workgroup kung saan gagawin ang benchmark code sa (mandatory).
-w
Tukuyin ang affinity domain, bilang ng thread at laki ng set ng data para sa kasalukuyang
benchmarking run (mandatory).
MAG-WORKGROUP SINTAX
: [: [: : ]] [- : ]
na may sukat sa kB, MB o GB. Kung saan ang domain ng thread ay kung saan inilalagay ang mga thread. Ang laki ay ang
kabuuang laki ng set ng data para sa benchmark. Tinutukoy ng num_threads kung gaano karaming mga thread ang ginagamit.
Palaging inilalagay ang mga thread gamit ang isang compact na patakaran sa likwid-bench. Nangangahulugan ito na per
default lahat ng SMT thread ay ginagamit. Opsyonal na katulad ng expression na nakabatay sa syntax sa
likwid-pin isang chunk size at stride ang maaaring ibigay. Opsyonal para sa bawat stream ay nangangahulugan
array ang pagkakalagay ay maaaring kontrolin. Bawat default lahat ng mga array ay inilalagay sa pareho
thread domain na tumatakbo ang mga thread. Upang ilagay ang data sa ibang domain para sa
bawat stream ng isang benchmark case (ang kabuuang bilang ng mga stream ay maaaring makuha ng -l
opsyon) ang domain kung saan ilalagay ang data ay maaaring tukuyin. Ang maraming stream ay kuwit
hiwalay. Alinman ang pagkakalagay ay ibinigay o ang lahat ng mga stream ay kailangang tahasang ilagay.
Mangyaring sumangguni sa mga pahina ng Wiki sa http://code.google.com/p/likwid/wiki/LikwidBench para
karagdagang mga detalye at mga halimbawa sa paggamit.
Halimbawa
1. Patakbuhin ang kopyang benchmark na may 1000 pag-ulit sa socket 0 na may kabuuang laki ng set ng data na
100kB.
likwid-bench -t kopyahin -i 1000 -g 1 -w S0:100kB
Dahil hindi num_thread ay ibinigay sa workload expression, ang bawat core ng socket 0 ay makakakuha ng isa
thread. Ang workload ay nahahati sa pagitan ng lahat ng mga thread.
2. Patakbuhin ang triad benchmark code na may 100 iteration na may 2 thread sa socket 0 at isang
laki ng data na 1 GB.
likwid-bench -t triad -i 100 -g 1 -w S0:1GB:2:1:2
Ipagpalagay na ang socket 0 ay may 4 na SMT thread, isang thread ang itinalaga sa bawat pisikal na core ng
saksakan 0.
3. Patakbuhin ang benchmark ng update na may 1000 pag-ulit sa socket 0 na may workload na 100kB at
sa socket 1 na may parehong workload.
likwid-bench -t update -i 1000 -g 2 -w S0:100kB -w S1:100kB
Ang mga resulta ng parehong workgroup ay pinagsama para sa output. Kaya ang workload sa bawat isa
Ang expression ng workgroup ay dapat magkaroon ng parehong laki.
4. Patakbuhin ang copy benchmark ngunit sukatin ang memory traffic gamit ang likwid-perfctr. Ang pagpipilian
Ang INSTRUMENT_BENCH sa config.mk ay kailangang totoo sa oras ng pag-compile para magamit ang feature na iyon.
likwid-perfctr -C E:S0:4 -g MEM -m likwid-bench -t update -i 1000 -g 1 -w S0:100kB
likwid-perfctr ay iko-configure at sisimulan ang mga performance counter sa socket 0 na may 4
mga thread bago ang pagpapatupad ng likwid-bench. Ang mga counter ng pagganap ay nabasa nang tama
bago at pagkatapos patakbuhin ang benchmarking code upang mabawasan ang mga interference ng
pagsukat.
5. Patakbuhin ang copy benchmark at ilagay ang data sa ibang socket
likwid-bench -t kopyahin -i 50 -g 1 -w S0:1GB:10:1:2-0:S1,1:S1
Ang stream id 0 at 1 ay inilalagay sa mga domain ng thread na S1, na socket 1. Maaari itong ma-verify
bilang output ng initialization thread kung saan sila tumatakbo.
Gumamit ng likwid-bench online gamit ang mga serbisyo ng onworks.net