أداة إحصاءات عمليات HLO

يمكنك استخدام "إحصاءات عمليات المحسِّن العالي المستوى" للاطّلاع على إحصاءات أداء عمليات "المحسِّن العالي المستوى" التي تم تنفيذها خلال جلسة تحليل الأداء. هذه الأداة مفيدة لتحديد الاستهدافات المحتملة لتحسين الأداء من خلال تسليط الضوء على العمليات التي تستغرق وقتًا طويلاً في الرسم البياني "أعلى عمليات البحث" خلال الفترة التي تم تحليلها.

الأنظمة الأساسية المتوافقة

وحدات معالجة الموتّرات: متاحة

وحدة معالجة الرسومات: متوافقة

بالنسبة إلى وحدات معالجة الرسومات، ترتبط عمليات HLO بعلاقة N:M مع النوى التي يتم تنفيذها في الواقع. للاطّلاع على الإحصاءات على مستوى النواة، اطّلِع على أداة "إحصاءات نواة وحدة معالجة الرسومات".

مكونات أداة إحصاءات عمليات HLO

تتضمّن أداة "إحصاءات عمليات HLO" المكوّنات الرئيسية التالية:

  • جدول إحصاءات عمليات HLO: هذا هو المكوّن الأساسي الذي يعرض تحليلاً تفصيليًا لكل عملية HLO تم تنفيذها أثناء جلسة التحليل بتنسيق جدولي. هناك صف واحد لكل عملية HLO مميزة، وأعمدة تُسجِّل تفاصيل مختلفة حول هذه العملية.
    • يتيح لك أداة الاختيار المنسدلة تحديد الأعمدة التي تريد عرضها لكلّ عملية HLO.
    • يمكنك أيضًا فلترة الصفوف حسب فئة عملية HLO من خلال ملف شخصي ثانٍ لتحديد القائمة المنسدلة.
    • تتيح لك مربّعات البحث الفلترة حسب أرقام تعريف برامج معيّنة أو عمليات HLO أو ملف نصي لعمليات HLO أو اسم عملية إطار العمل. وتعمل الفلاتر على اختيار السلسلة المقدَّمة التي تظهر في أي مكان ضمن العمود ذي الصلة.
  • قسم "الرسوم البيانية الملخّصة": يتضمّن هذا القسم رسومًا بيانية تلخّص جدول العمليات التفصيلي بالطرق التالية:
    • رسم بياني دائري يعرض جزءًا من الوقت المستغرَق في فئات مختلفة من عمليات HLO
    • رسم بياني دائري يعرض جزءًا من الوقت المستغرَق في عمليات HLO الفردية المختلفة (يتم اقتطاعه إلى أهم N عملية، مع تصنيف العمليات المتبقية على أنّها "غير ذلك" لتحسين سهولة القراءة)
    • رسم بياني دائري يعرض جزءًا من إجمالي الوقت الذي تمّ إنفاقه على العمليات التي تشكّل جزءًا من إعادة الإنشاء. تتلقّى أداة XProf هذه المعلومات من المخطِّط البيانات الوصفية المرتبطة بالملف الشخصي.
    • رسم بياني دائري يعرض فئات عمليات HLO التي يتم فيها تحديد وقت إعادة التقديم (إن وُجد)
    • الوقت المستغرَق في عملية الترجمة الخارجية: الترجمة الخارجية هي ميزة في TensorFlow تتيح تنفيذ عمليات معيّنة ضمن عملية حسابية في XLA بشكل شفاف على وحدة المعالجة المركزية للمضيف بدلاً من جهاز التسريع (مثل tf.summary أو tf.print التي تتطلّب الوصول إلى I/O الذي لا يمتلكه الجهاز ).
    • رسم بياني يوضّح عدد العمليات في الثانية لكل عمليات HLO، مرتبة حسب إجمالي الوقت المستغرَق
    • بالنسبة إلى وحدات TPU فقط، الوقت المستغرَق لكل طلب معالجة عالي المستوى حسب مجموعة النُسخ: يتيح لك القائمة المنسدلة الاختيار من العمليات الجماعية المختلفة التي تم تنفيذها أثناء جلسة تحليل الأداء. قد تم تنفيذ مثيلات مختلفة من هذا الإجراء المجمع بين مجموعات النُسخ المختلفة (على سبيل المثال، AllGather)؛ يعرِض رسم بياني دائري توزيع الوقت بين هذه المثيلات المختلفة.

تفاصيل جدول إحصاءات عمليات HLO

يمكنك النقر على أيٍّ من عناوين الأعمدة لترتيب جدول إحصاءات عمليات HLO. يستند الترتيب التلقائي إلى إجمالي الوقت المستغرَق في تنفيذ العملية (المُصنَّف باسم "الترتيب" في الجدول).

يتضمّن الجدول المعلومات التالية لكل عملية HLO:

  • اسم العملية: الاسم الفريد الذي تمّ تعيينه لعملية HLO من قِبل مُجمِّع XLA
  • معرّف البرنامج: معرّف لمكوّن HLO المرتبط بهذه العملية
  • فئة عمليات HLO: يحدّدها بشكل كبير مُجمِّع XLA، بالإضافة إلى أنّ XProf يستخدم أيضًا أساليب استقرائية لتحديد عمليات معيّنة وتصنيفها (مثل عمليات دمج عمليات التفاف).
  • نصّ عملية HLO: يوفّره مُجمِّع XLA، ويتضمّن تفاصيل مثل أنواع الإدخالات/المَعلمات وأشكالها.
  • اسم عملية إطار العمل: العملية على مستوى إطار العمل (مثل JAX) التي أدّت إلى إنشاء عملية HLO هذه.
  • مرّات الظهور: إجمالي عدد المرّات التي تم فيها تنفيذ عملية HLO المحدّدة هذه خلال فترة وضع الملف الشخصي
  • إجمالي الوقت (بالميكرو ثانية): الوقت التراكمي الذي تمّ إنفاقه في تنفيذ هذه العملية على مستوى جميع مرّات حدوثها. إذا كانت هذه العملية تتضمّن أي عمليات فرعية (مثل عمليات دمج)، تشمل هذه الفترة الوقت الذي تمّ إنفاقه في هذه العمليات الفرعية.
  • متوسّط الوقت (بالميكرو ثانية): متوسّط الوقت المستغرَق في كلّ تنفيذ لعملية HLO هذه، بما في ذلك أيّ وقت تمّ قضاؤه في العمليات الفرعية، إن وُجدت.
  • إجمالي الوقت المستغرَق في تنفيذ العملية (بالميكرو ثانية): الوقت التراكمي الذي تمّ إنفاقه فقط في تنفيذ محتوى عملية HLO هذه، باستثناء أيّ وقت تمّ إنفاقه في عملياتها الفرعية.
  • متوسّط الوقت الذاتي (μs): متوسّط الوقت المستغرَق لكلّ تنفيذ لعملية HLO هذه، باستثناء أيّ وقت تمّ إنفاقه في عملياتها الفرعية.
  • إجمالي الوقت الذاتي (%): الوقت الذاتي للعملية كنسبة مئوية من إجمالي الوقت على الجهاز في جميع العمليات
  • إجمالي وقت النشاط الفردي التراكمي (%): مجموع متزايد لإجمالي وقت النشاط الفردي (%) لكلّ النتائج الرئيسية التي تظهر في وقت سابق بترتيب "الترتيب"
  • وقت التوقف في الوصول المباشر إلى الذاكرة (%): النسبة المئوية للوقت الإجمالي الذي توقفت فيه العملية بسبب عمليات الوصول المباشر إلى الذاكرة (DMA).
  • استهلاك النطاق الترددي (الاستخدام/الثانية) لعمليات FLOP وذاكرة HBM وذاكرات TPU الداخلية في حال توفّرها (مثل لا يتوفّر CMEM إلا في الإصدار 4 من TPU). ويتم احتساب كل هذه القيم باستخدام تحليل التكلفة الثابت للمجمِّع (المرّب) ووقت التنفيذ الذي تمّ تحليله (المرّد).
  • عدد العمليات الحسابية في الثانية لكل نموذج (GFLOPS/s): يتم احتساب تكلفة عدد العمليات الحسابية في الثانية بواسطة مُجمِّع XLA، ويتم قياس الوقت باستخدام الملف الشخصي.
  • عدد العمليات الحسابية في الثانية (GFLOPS) المعدَّل: يُعدِّل عدد العمليات الحسابية التي يحسبها المُجمِّع لكل عملية حسابية استنادًا إلى الدقة الرقمية، وعدد العمليات الحسابية القصوى التي يتيحها الجهاز لدرجات دقة مختلفة. على سبيل المثال، يتوافق الإصدار 6e من TPU مع ضعف عدد العمليات الحسابية المتغيرة المكثفة في int8 مقارنةً بـ bf16، ويعمل XProf على تسويتها تلقائيًا إلى bf16.
  • معدل نقل البيانات في الذاكرة: عدد البايتات في الثانية التي يستهلكها الإجراء من أي ذاكرة (مثل ذاكرة VMEM وHBM على شريحة TPU). يقدّم مُجمِّع XLA عدد "وحدات البايت" ويُقاس المدّة في الملف الشخصي.
  • معدل نقل البيانات في ذاكرة HBM: عدد وحدات البايت في الثانية المستخدَمة من ذاكرة HBM على وجه التحديد.
  • كثافة العمليات: يتم احتسابها على أنّها نسبة FLOPS لكلّ بايت، كما هو موضح في تحليل خطّ السقف.
  • قيد الحساب/الذاكرة: استنادًا إلى نموذج Roofline، يشير هذا العمود إلى ما إذا كان أداء العملية محدودًا بشكل أساسي بقدرات الحساب أو معدل نقل البيانات في الذاكرة.
  • إعادة الإنشاء: يشير إلى ما إذا كان الإجراء جزءًا من عملية إعادة إنشاء.
  • عملية الترجمة الخارجية: تشير إلى ما إذا كان قد تم تشغيل العملية الحسابية على وحدة المعالجة المركزية للمضيف باستخدام مرفق الترجمة الخارجية في Tensorflow.
  • Autotuned (تمّت التعديلات الصوتية تلقائيًا): يشير إلى ما إذا تمّت التعديلات الصوتية تلقائيًا من خلال XLA. لمزيد من المعلومات، يُرجى الاطّلاع على الضبط التلقائي والضبط التلقائي الدائم.