عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

likwid-perfctr - عبر الإنترنت في السحابة

قم بتشغيل likwid-perfctr في مزود الاستضافة المجاني من OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر likwid-perfctr الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


likwid-perfctr - تكوين وقراءة عدادات أداء الأجهزة على x86 cpus

موجز


مثل بيرفكتر [-vhHVmaeiMoO] [-نسخة ] [-g or
] [-t ] [-S ] [-s ] [-o
]

الوصف


مثل بيرفكتر هو تطبيق سطر أوامر خفيف الوزن للتكوين والقراءة
بيانات مراقبة أداء الأجهزة على معالجات x86 المدعومة. يمكن قياس إما كـ
المجمع دون تغيير التطبيق المقاس أو مع وظائف API للعلامة داخل
رمز ، والذي سيتم تشغيل وإيقاف العدادات. هناك مجموعات معدة مسبقًا مفيدة
مجموعات الأحداث والمقاييس المشتقة. يمكن قياس الأحداث التعسفية بشكل إضافي بالعرف
مجموعات الحدث. يمكن لواجهة برمجة التطبيقات للعلامة قياس العديد من المناطق المسماة. يتم تجميع النتائج على
مكالمات متعددة. معالجات x86 التالية مدعومة:

· إنتل جوهر 2: كل المتغيرات. عدادات: PMC [0-1] ، FIXC [0-2]

· إنتل نهاليم: عدادات: PMC [0-3] ، FIXC [0-2] ، UPMC [0-7]

· إنتل نيهالم EX: عدادات: PMC [0-3] ، FIXC [0-2] ، MBOX [0-1] C [0-5] ، BBOX [0-1] C [0-3] ،
RBOX [0-1] C [0-7] ، WBOX [0-5] ، UBOX0 ، SBOX [0-1] C [0-3] ، CBOX [0-9] ج [0-4]

· إنتل ويستمير:
عدادات: PMC [0-3] ، FIXC [0-2] ، UPMC [0-7]

· إنتل Westmere EX: عدادات: PMC [0-3] ، FIXC [0-2] ، MBOX [0-1] C [0-5] ، BBOX [0-1] C [0-3] ،
RBOX [0-1] C [0-7] ، WBOX [0-5] ، UBOX0 ، SBOX [0-1] C [0-3] ، CBOX [0-9] ج [0-4]

· إنتل ساندي جسر: دعم RAPL الكامل. عدادات: PMC [0-3] ، FIXC [0-2] ، PWR [0-3]

· إنتل ساندي جسر ملاحظة: دعم جزئي لدعم RAPL الكامل وغير الأساسي. عدادات:
PMC [0-3] ، FIXC [0-2] ، PWR [0-3]. MBOX [0-3] C [0-3]

· إنتل لبلاب جسر: دعم RAPL الكامل. عدادات: PMC [0-3] ، FIXC [0-2] ، PWR [0-3]

· إنتل لبلاب جسر ملاحظة: دعم جزئي لدعم RAPL الكامل وغير الأساسي. عدادات:
PMC [0-3] ، FIXC [0-2] ، PWR [0-3] ، CBOX [0-9] ج [0-3] ، MBOX [0-3] C [0-3] ، MBOX [0-3] تصحيح

· إنتل هاسويل: دعم RAPL الكامل. عدادات: PMC [0-3] ، FIXC [0-2] ، PWR [0-3]

· إنتل هسول ملاحظة: لا يوجد دعم غير مؤكد ، دعم RAPL الكامل. عدادات: PMC [0-3] ،
FIXC [0-2] ، PWR [0-3]

· إنتل ذرة سيلفرمونت: دعم RAPL الكامل. عدادات: PMC [0-1] ، FIXC [0-2] ، PWR [0-1]

· إنتل بنتيوم M: متغيرات بانياس ودوثان. عدادات: PMC [0-1]

· إنتل P6: تم اختباره على P3.

· AMD K8: كل المتغيرات. عدادات: PMC [0-3]

· AMD K10: برشلونة ، شنغهاي ، اسطنبول ، معالجات MagnyCours القائمة. عدادات:
PMC [0-3]

OPTIONS


-v يطبع معلومات الإصدار إلى الإخراج القياسي ، ثم يخرج.

-h يطبع رسالة تعليمات إلى الإخراج القياسي ، ثم يخرج.

-H يطبع رسالة تعليمات المجموعة (استخدم مع مفتاح g-).

-V إخراج مطول أثناء التنفيذ من أجل التصحيح.

-m تعمل في وضع علامة API

-a طباعة مجموعات الأداء المتاحة للمعالج الحالي.

-e طباعة العدادات المتاحة وأحداث الأداء للمعالج الحالي.

-o
تخزين كل الإخراج في ملف بدلاً من stdout. لاسم الملف ما يلي
العناصر النائبة مدعومة:٪ j لـ PBS_JOBID ،٪ r لـ MPI RANK (فقط Intel MPI في
اللحظة) ،٪ h اسم المضيف و٪ p لمعرف العملية. يجب أن تكون العناصر النائبة
مفصولة بشرطة سفلية مثل -o test_٪ h_٪ p. يجب عليك تحديد لاحقة لـ
اسم الملف. بالنسبة إلى النص txt ، تتم طباعة الإخراج كما هو الحال في الملف. اللاحقات الأخرى تؤدي إلى تشغيل ملف
مرشح على الإخراج. المرشحات المتاحة هي csv (قيم مفصولة بفواصل) و xml
في هذه اللحظة.

-O لا تطبع الجداول للحصول على النتائج ، استخدم بدلاً من ذلك ملف CSV قابل للتحليل بسهولة.

-i طباعة معلومات وحدة المعالجة المركزية حول المعالج وعلى مراقبة أداء إنتل
الميزات ، ثم الخروج.

-c
تحديد قائمة عددية من المعالجات. قد تحتوي القائمة على عناصر متعددة ،
مفصولة بفاصلة ونطاقات. على سبيل المثال 0,3,9،11،XNUMX-XNUMX.

-C
تحديد قائمة عددية من المعالجات. قد تحتوي القائمة على عناصر متعددة ،
مفصولة بفاصلة ونطاقات. على سبيل المثال 0,3,9،11،XNUMX-XNUMX. سيتم تثبيت هذا البديل أيضًا
الخيوط إلى النوى. كما يمكن استخدام الترقيم المنطقي.

-g <performance مجموعة> or <performance حدث طقم سلسلة>
تحديد مجموعة الأداء المطلوب قياسها. يمكن أن يكون هذا أحد العلامات الناتجة مع
العلم -a. يمكن أيضًا تحديد مجموعة أحداث مخصصة من خلال قائمة مفصولة بفواصل
الأحداث. كل حدث له تنسيق eventId: التسجيل مع كون السجل واحدًا
من معمارية مدعومة بسجلات عداد الأداء.

-t <frequency of القياسات>
وضع الخط الزمني لقياسات الوقت التي تم حلها ، واللاحقات المحتملة مثل "و" مللي ثانية "
100 مللي ثانية. الإخراج له التنسيق:

<Result موضوع 0> <Result موضوع 1>

-S
وضع سماعة الطبيب مع المدة في senconds. يمكن استخدامها لقياس التطبيق
من الخارج.

مثال


لأن مثل بيرفكتر تدابير على المعالجات وليس التطبيقات الفردية فمن الضروري
للتأكد من أن العمليات والخيوط مثبتة في الموارد المخصصة. يمكنك إما تثبيت
التطبيق بنفسك أو استخدم وظيفة الدبوس المضمنة.

1. كملف مع مجموعة الأداء:

مثل بيرفكتر -C 0-2 -g يقول: ./cacheBench -n 2 -l 1048576 -i 100 -t شريط الاحداث

يتم تثبيت العملية الأصلية على المعالج 0 ، و Thread 0 إلى المعالج 1 و Thread 1 to
المعالج 2.

2. كغلاف مع حدث مخصص تم تعيينه على AMD:

مثل بيرفكتر -C 0-4 -g INSTRUCTIONS_RETIRED_SSE: PMC0 ، CPU_CLOCKS_UNHALTED: PMC3 ./تطبيقي

من المحدد أن الحدث INSTRUCTIONS_RETIRED_SSE يقاس على العداد PMC0 و
الحدث CPU_CLOCKS_UNHALTED على العداد بمك3. من الممكن حساب وقت تشغيل
كل المواضيع على أساس CPU_CLOCKS_UNHALTED حدث. إذا كنت تريد هذا عليك تضمينه
هذا الحدث في سلسلة الحدث المخصص الخاص بك كما هو موضح أعلاه.

3. كبرنامج التفاف مع حدث مخصص تم تعيينه على Intel:

مثل بيرفكتر -C 0 -g INSTR_RETIRED_ANY: FIXC0 ، CPU_CLK_UNHALTED_CORE: FIXC1 ./تطبيقي

في معالجات Intel يتم قياس الأحداث الثابتة على عدادات مخصصة. وهذه هي
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE. و CPU_CLK_UNHALTED_REF إذا قمت بتكوين ملفات
هذه العدادات الثابتة ، مثل بيرفكتر سيحسب وقت التشغيل ومقاييس CPI الخاصة بك
يركض.

4. استخدام marker API لقياس أجزاء فقط من التعليمات البرمجية الخاصة بك (يمكن استخدام هذا مع كلاهما
مجموعات أو مجموعات أحداث مخصصة):

مثل بيرفكتر -m -C 0-4 -g INSTRUCTIONS_RETIRED_SSE: PMC0 ، CPU_CLOCKS_UNHALTED: PMC3
./cacheBench

يجب عليك ربط التعليمات البرمجية الخاصة بك مقابل liblikwid.a /. لذلك واستخدام استدعاءات API الخاصة بالعلامة. ال
يُظهر مقتطف الشفرة التالي المكالمات الضرورية:

#يشمل

/ * خيط واحد فقط يستدعى init * /
إذا (معرف الموضوع == 0)
{
likwid_markerInit () ،
}
/ * إذا كنت تريد قياس تطبيق مترابط
* يجب عليك استدعاء likwid_markerThreadInit () لـ
* التحضير ، على سبيل المثال مع OpenMP * /
#pragma omp المتوازي
{
likwid_markerThreadInit () ،
}
حاجز؛
likwid_markerStartRegion ("Benchmark") ؛
/ * الكود المراد قياسه هنا. * /

likwid_markerStopRegion ("المعيار") ؛
حاجز؛
/ * مرة أخرى فقط مؤشر ترابط واحد يمكنه إغلاق العلامات * /
إذا (معرف الموضوع == 0)
{
likwid_markerClose () ،
}

5. استخدام likwid في وضع المخطط الزمني:

مثل بيرفكتر -c 0-3 -g فلوبس_DP -t 300ms ./تطبيقي > out.txt

سيؤدي هذا إلى قراءة العدادات كل 300 مللي ثانية على النوى المادية 0-3 وكتابة النتائج إليها
out.txt. بالنسبة لوضع الخط الزمني ، يوجد تطبيق أمامي مثل النطاق ، والذي يتيح
التخطيط المباشر لأحداث مختارة. لمزيد من أمثلة التعليمات البرمجية ، ألق نظرة على موقع WIKI
الصفحات. العمليات ليس مثبتة على وحدات المعالجة المركزية 0-3.

6. استخدام likwid في وضع سماعة الطبيب:

مثل بيرفكتر -c 0-3 -g فلوبس_DP -S 2s

سيبدأ هذا العدادات ويقرأها بعد ثانيتين على النوى المادية 2-0 والكتابة
نتائج stdout. العمليات ليس مثبتة على وحدات المعالجة المركزية 0-3.

استخدم likwid-perfctr عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad