پروفایلینگ تماس سفارشی، پروفایلینگ تماس سفارشی

فراخوانی‌های سفارشی XLA به شما امکان می‌دهند هسته‌های سفارشی یا عملیاتی را اجرا کنید که به طور طبیعی توسط XLA پشتیبانی نمی‌شوند. برای مشاهده عملکرد این فراخوانی‌های سفارشی در Trace Viewer ، می‌توانید از پرچم‌های خاص XLA برای فعال کردن ردیابی دقیق و اطلاعات اشکال‌زدایی LLO (بهینه‌ساز سطح پایین) استفاده کنید.

فعال کردن قابلیت مشاهده تماس سفارشی

برای فعال کردن پروفایلینگ تماس سفارشی، باید هنگام اجرای بار کاری خود، پرچم‌های XLA زیر را تنظیم کنید:

  • --xla_enable_custom_call_region_trace=true : این پرچم ردیابی مناطقی را که حاوی فراخوانی‌های سفارشی هستند، فعال می‌کند.
  • --xla_xprof_register_llo_debug_info=true : این پرچم اطلاعات اشکال‌زدایی LLO را ثبت می‌کند، که به XProf اجازه می‌دهد آمار دقیق استفاده را برای فراخوانی سفارشی نمایش دهد.

مثال:

LIBTPU_INIT_ARGS="--xla_enable_custom_call_region_trace=true --xla_xprof_register_llo_debug_info=true" python your_jax_workload.py

وقتی این پرچم‌ها فعال شوند، یک خط جدید استفاده از LLO در Trace Viewer برای هر هسته یا دستگاه TPU که فراخوانی سفارشی را اجرا می‌کند، ظاهر می‌شود.

خط استفاده از LLO

خط استفاده از LLO، تصویری از نحوه استفاده از منابع سخت‌افزاری در طول اجرای یک فراخوانی سفارشی ارائه می‌دهد. این امر به ویژه برای شناسایی گلوگاه‌ها در هسته‌های سفارشی (مثلاً آن‌هایی که در پالاس یا موزائیک نوشته شده‌اند) مفید است.

استفاده از LLO

بهترین شیوه‌ها

  • فقط در صورت نیاز فعال کنید : این پرچم‌ها می‌توانند اندازه پروفایل ضبط شده را افزایش دهند و ممکن است کمی بر عملکرد در طول جمع‌آوری تأثیر بگذارند. از آنها در درجه اول برای اشکال‌زدایی و بهینه‌سازی فراخوانی‌های سفارشی استفاده کنید.
  • بررسی اطلاعات LLO : اگر این پرچم‌ها را فعال کرده‌اید اما خط مربوط به استفاده از LLO را نمی‌بینید، مطمئن شوید که کامپایلر شما از ثبت اطلاعات اشکال‌زدایی LLO برای پیاده‌سازی فراخوانی سفارشی خاص شما پشتیبانی می‌کند.