นี่คือคำสั่ง likwid-bench ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
likwid-bench - ชุดเบนช์มาร์กระดับต่ำและเฟรมเวิร์ก microbenchmarking
เรื่องย่อ
ลิขิต-ม้านั่ง [-แฮป] [-l ] [-i ] [-g ] [-t
] [-w ]
DESCRIPTION
ลิขิต-ม้านั่ง เป็นชุดมาตรฐานสำหรับการวัดประสิทธิภาพระดับต่ำ (การประกอบ) เพื่อวัด
แบนด์วิดท์และปริมาณงานของคำสั่งสำหรับรหัสคำสั่งเฉพาะบนระบบ x86 NS
รหัสมาตรฐานที่รวมอยู่ในปัจจุบันรวมถึงรูปแบบการเข้าถึงข้อมูลทั่วไปเช่นการโหลดและการจัดเก็บ
แต่ยังรวมถึงการคำนวณเช่น vector triad และ sum ลิขิต-ม้านั่ง รวมถึงสถาปัตยกรรม
การวัดประสิทธิภาพเฉพาะสำหรับ x86, x86_64 และ x86 สำหรับโปรเซสเซอร์ร่วม Intel Xeon Phi NS
ค่าประสิทธิภาพสามารถคำนวณได้โดย ลิขิต-ม้านั่ง หรือวัดโดยใช้ประสิทธิภาพ
เคาน์เตอร์โดยใช้. ลิขิต-perfctr เป็นเครื่องห่อเพื่อ ลิขิต-ม้านั่ง. สิ่งนี้ต้องสร้าง
ลิขิต-ม้านั่ง. ด้วยเครื่องมือวัดที่สามารถเปิดใช้งานได้ใน config.mk
OPTIONS
-h พิมพ์ข้อความช่วยเหลือไปยังเอาต์พุตมาตรฐาน จากนั้นออก
-a แสดงรายการรหัสมาตรฐานที่ใช้ได้สำหรับระบบปัจจุบัน
-p แสดงรายการโดเมนเธรดที่มีอยู่
-l
แสดงรายการคุณสมบัติของรหัสมาตรฐาน
-i
จำนวนการวนซ้ำที่จะดำเนินการภายในโค้ดเบนช์มาร์ก
-t
ชื่อของรหัสเกณฑ์มาตรฐานที่จะเรียกใช้ (บังคับ)
-g
ระบุจำนวนกลุ่มงานเพื่อดำเนินการตามรหัสเกณฑ์มาตรฐาน (บังคับ)
-w
ระบุโดเมนที่สัมพันธ์กัน จำนวนเธรด และขนาดชุดข้อมูลสำหรับ current
รันการเปรียบเทียบ (บังคับ)
กลุ่มงาน ซิงค์
: [: [: : ]] [- : ]
ด้วยขนาดเป็น kB, MB หรือ GB โดยที่โดเมนของเธรดคือตำแหน่งที่วางเธรด ขนาดคือ
ขนาดชุดข้อมูลทั้งหมดสำหรับการวัดประสิทธิภาพ num_threads ระบุจำนวนเธรดที่ใช้
เธรดจะถูกวางไว้เสมอโดยใช้นโยบายกระชับใน ลิขิต-ม้านั่ง. ซึ่งหมายความว่า ต่อ
ใช้เธรด SMT เริ่มต้นทั้งหมด ทางเลือกคล้ายกับไวยากรณ์ที่ใช้นิพจน์ใน
ลิขิต-พิน สามารถให้ขนาดชิ้นส่วนและก้าวย่างได้ ทางเลือกสำหรับทุกกระแสหมายถึง
อาร์เรย์ตำแหน่งสามารถควบคุมได้ ตามค่าเริ่มต้น อาร์เรย์ทั้งหมดจะถูกวางไว้ในที่เดียวกัน
โดเมนของเธรดที่เธรดกำลังทำงานอยู่ เพื่อวางข้อมูลในโดเมนอื่นสำหรับ
ทุกสตรีมของกรณีมาตรฐาน (จำนวนสตรีมทั้งหมดสามารถหาได้จาก -l
ตัวเลือก) โดเมนที่จะวางข้อมูลสามารถระบุได้ สตรีมหลายรายการเป็นเครื่องหมายจุลภาค
แยกออกจากกัน. มีการจัดตำแหน่งหรือต้องวางสตรีมทั้งหมดไว้อย่างชัดเจน
โปรดดูที่หน้าวิกิบน http://code.google.com/p/likwid/wiki/LikwidBench for
รายละเอียดเพิ่มเติมและตัวอย่างการใช้งาน
ตัวอย่าง
1. รันเบนช์มาร์กการคัดลอกด้วยการวนซ้ำ 1000 ครั้งบนซ็อกเก็ต 0 ด้วยขนาดชุดข้อมูลทั้งหมด
100กิโลไบต์
ลิขิต-ม้านั่ง -t สำเนา -i 1000 -g 1 -w S0:100kB
ตั้งแต่ไม่มี num_thread ถูกกำหนดในนิพจน์ภาระงาน แต่ละคอร์ของซ็อกเก็ต 0 จะได้รับหนึ่ง
เกลียว. ปริมาณงานถูกแบ่งระหว่างเธรดทั้งหมด
2. รันโค้ดเบนช์มาร์กสามตัวด้วยการวนซ้ำ 100 ครั้งโดยมี 2 เธรดบนซ็อกเก็ต 0 และ a
ขนาดข้อมูล 1 GB.
ลิขิต-ม้านั่ง -t พวกสาม -i 100 -g 1 -w S0:1GB:2:1:2
สมมติว่า socket 0 มี 4 เธรด SMT หนึ่งเธรดถูกกำหนดให้กับแต่ละฟิสิคัลคอร์ของ
ซ็อกเก็ต 0
3. เรียกใช้เกณฑ์มาตรฐานการอัปเดตด้วยการวนซ้ำ 1000 ครั้งบนซ็อกเก็ต 0 ด้วยปริมาณงาน 100kB และ
บนซ็อกเก็ต 1 ที่มีภาระงานเท่ากัน
ลิขิต-ม้านั่ง -t ปรับปรุง -i 1000 -g 2 -w S0:100kB -w S1:100kB
ผลลัพธ์ของเวิร์กกรุ๊ปทั้งสองจะถูกรวมเข้าด้วยกันสำหรับผลลัพธ์ ดังนั้นภาระงานในแต่ละครั้ง
นิพจน์เวิร์กกรุ๊ปควรมีขนาดเท่ากัน
4. รันเบนช์มาร์กการคัดลอกแต่วัดทราฟฟิกหน่วยความจำด้วย ลิขิต-perfctr. ทางเลือก
INSTRUMENT_BENCH ใน config.mk จะต้องเป็นจริง ณ เวลาคอมไพล์จึงจะสามารถใช้คุณลักษณะนั้นได้
ลิขิต-perfctr -C จ:S0:4 -g MEM -m ลิขิต-ม้านั่ง -t ปรับปรุง -i 1000 -g 1 -w S0:100kB
ลิขิต-perfctr จะกำหนดค่าและเริ่มตัวนับประสิทธิภาพบนซ็อกเก็ต 0 ด้วย4
กระทู้ก่อนการดำเนินการของ ลิขิต-ม้านั่ง. ตัวนับประสิทธิภาพอ่านถูกต้อง
ก่อนและหลังรันโค้ดการเปรียบเทียบเพื่อลดการรบกวนของ
การวัด
5. เรียกใช้เกณฑ์มาตรฐานการคัดลอกและวางข้อมูลบนซ็อกเก็ตอื่น
ลิขิต-ม้านั่ง -t สำเนา -i 50 -g 1 -w S0:1GB:10:1:2-0:S1,1:S1
สตรีม id 0 และ 1 อยู่ในโดเมนเธรด S1 ซึ่งเป็นซ็อกเก็ต 1 ซึ่งสามารถตรวจสอบได้
เนื่องจากเธรดการเริ่มต้นทำงานอยู่ที่ใด
ใช้ likwid-bench ออนไลน์โดยใช้บริการ onworks.net