CUDA Academy · درس

إضافة تعليقات إلى الكود باستخدام NVTX

سمِّ النطاقات للحصول على خطوط زمنية سهلة القراءة.

الدرس 4 من 413 خطوة

إضافة تعليقات إلى الكود باستخدام NVTX درس مجاني في CUDA Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CUDA Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CUDA Academy 4 دروس في المجموع.

تحتاج المخططات الزمنية إلى تسميات

يمتلئ المخطط الزمني الخام بأشرطة مجهولة. يتيح لكم NVTX إضافة أسمائكم، كي يقرأ profiler المخطط كما لو كان شفرتكم. 🏷️

ما هو NVTX

إن NVTX هو NVIDIA's Tools Extension: مكتبة صغيرة لتحديد المناطق والأحداث التي ترسمها Nsight لاحقًا على المخطط الزمني.

تضمين header

تبدؤون بتضمين header واحد. بعد ذلك، تصبح استدعاءات التحديد متاحة في أي موضع من شفرة المضيف.

#include <nvtx3/nvToolsExt.h>

تحديد نطاق

أحيطوا قسمًا من العمل بـ نطاق يحمل اسمًا. يبدأه push وينهيه pop، فيرسم شريطًا واحدًا ذا تسمية.

nvtxRangePush("load data");
// work here
nvtxRangePop();

تداخل Push وPop

تتداخل النطاقات nest مثل الأقواس. يجب أن ينفّذ push الداخلي pop قبل النطاق الخارجي، فتتراص التسميات بانتظام على المخطط الزمني.

علامات فورية

للدلالة على لحظة واحدة، أضيفوا marker بدلًا من نطاق. فهو يثبت حدثًا واحدًا، مثل بداية epoch.

nvtxMark("epoch start");

لوّنوا نطاقاتكم

يمكنكم إعطاء كل نطاق لونًا كي تبرز المراحل بلمحة واحدة. فقد يكون التحميل باللون الأزرق، والحساب باللون الأخضر.

مخططات زمنية سهلة القراءة

باستخدام NVTX، يعرض مشهد Nsight المراحل، مثل preprocess وinference، حسب الاسم. ولن تعودوا بحاجة إلى فك رموز kernel الغامضة.

تكاد تكون مجانية عند تعطيل profiler

عندما لا يكون profiler متصلًا، تكون استدعاءات NVTX مجانية تقريبًا. ويمكنكم إبقاء التعليقات التوضيحية في الشفرة دون تكلفة فعلية.

تعمل على جهة المضيف

تضيف NVTX تعليقات توضيحية إلى شفرة المضيف، أي جانب CPU الذي ينسّق العمل. وهي تحدد المناطق التي تحدث فيها kernels وعمليات النسخ.

مغلّفات RAII

في C++ الحديثة، غالبًا ما تغلّفون نطاقًا داخل كائن صغير من نوع RAII. وينفّذ pop تلقائيًا عند انتهاء النطاق، لذلك لن تنسوا استدعاءه.

تحقق سريع

تريدون ظهور مناطق مسمّاة ومحددة التسميات في المخطط الزمني لـ Nsight.

مراجعة

يحوّل NVTX الأشرطة الغامضة إلى نطاقات وعلامات مسمّاة. وتجعل بضعة استدعاءات push وpop مخططات Nsight الزمنية سهلة القراءة فورًا. 👏

البدء مجانًا

تعلم C++ مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «إضافة تعليقات إلى الكود باستخدام NVTX» مجاني؟

نعم — نص درس «إضافة تعليقات إلى الكود باستخدام NVTX» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CUDA Academy، انتقل إلى CoddyKit PRO. تتضمن دورة CUDA Academy 4 دروس في المجموع.

ماذا ستتعلم في «إضافة تعليقات إلى الكود باستخدام NVTX»؟

سمِّ النطاقات للحصول على خطوط زمنية سهلة القراءة. تتمرن على CUDA Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ CUDA Academy؟

لا تُشترط خبرة سابقة. CUDA Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «إضافة تعليقات إلى الكود باستخدام NVTX»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس CUDA Academy هذا؟

نعم. كل درس في CUDA Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. العرض الزمني في Nsight Systems
  2. مقاييس النواة في Nsight Compute
  3. مقيّد بالحساب مقابل مقيّد بالذاكرة
  4. إضافة تعليقات إلى الكود باستخدام NVTX
← العودة إلى CUDA Academy