CUDA Academy · درس

قياس عرض النطاق الفعلي

قارن معدل النقل المحقق بالحد الأقصى.

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

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

من النظرية إلى الأرقام

يساعد التجميع، لكن ينبغي إثبات أثره. والمقياس الذي يكشف الحقيقة هو عرض النطاق الفعال لنواتك، بوحدة غيغابايت في الثانية.

ما المقصود بالفعال

يحسب عرض النطاق الفعال عدد البايتات التي احتاجتها النواة فعليًا، مقسومًا على الزمن الذي استغرقته. وهو يعكس العمل المفيد، لا الأسطر المهدرة.

المعادلة البسيطة

اجمع البايتات التي قرأتها مع البايتات التي كتبتها، ثم اقسم الناتج على الزمن المنقضي بالثواني. وتمثل هذه النسبة معدل النقل المحقق.

double gbps = (bytesRead + bytesWritten) / seconds / 1e9;

قِس الزمن باستخدام الأحداث

استخدم أحداث CUDA لتحديد بداية النواة ونهايتها. فهي تقيس عمل GPU بدقة، من دون ضوضاء ساعات CPU.

cudaEventRecord(start);
myKernel<<<g, b>>>(...);
cudaEventRecord(stop);

اقرأ الزمن المنقضي

بعد إجراء المزامنة عند حدث الإيقاف، اطلب من CUDA حساب الفاصل. وستحصل على النتيجة بوحدة الميلي ثانية، لذا اقسمها على ألف قبل إدخالها في المعادلة.

float ms;
cudaEventElapsedTime(&ms, start, stop);

اعرف عدد البايتات

في العملية C = A + B على n من قيم float، تقرأ 2n وتكتب n، أي تنتقل 3n من قيم float. اضرب ذلك في أربعة لتحصل على عدد البايتات المنقولة.

size_t bytes = 3 * n * sizeof(float);

اعثر على الحد الأقصى

يعرض كل GPU عرض نطاق نظريًا أقصى. ولا يكون رقمك الفعال ذا معنى إلا بوصفه جزءًا من ذلك الحد.

نسبة الكفاءة

اقسم القيمة الفعالة على القيمة القصوى لتحصل على نسبة مئوية. وغالبًا ما تصل النوى المقيدة بالذاكرة وذات الوصول المتجمع إلى 70–90 بالمئة من الحد الأقصى، بينما تهبط النوى ذات الخطوات كثيرًا.

أجرِ إحماءً أولًا

يتحمل التشغيل الأول تكاليف إعداد تُدفع مرة واحدة. شغّل النواة مرة لإحمائها، ثم احسب متوسط عدة عمليات تشغيل مقاسة للحصول على رقم مستقر.

دع أدوات تحليل الأداء تؤكد ذلك

يعرض Nsight Compute معدل نقل الذاكرة مباشرة، حتى تتمكن من التحقق من حساباتك. كما يحدد البايتات المهدرة الناتجة عن ضعف التجميع. 🔧

استخدمه لاتخاذ القرار

تعني النسبة المنخفضة أن الذاكرة هي عنق الزجاجة لديك، لذا ركّز على التجميع والتخطيط. أما النسبة المرتفعة فتعني أن عليك البحث عن السرعة في موضع آخر.

تحقق سريع

احسب عرض النطاق الفعال.

مراجعة

يمكنك الآن قياس عرض النطاق الفعال باستخدام الأحداث، ومقارنته بالحد الأقصى، واستخدام النسبة لتحديد ما إذا كانت الذاكرة هي عنق الزجاجة لديك. 🎉

البدء مجانًا

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

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

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

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

هل درس «قياس عرض النطاق الفعلي» مجاني؟

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

ماذا ستتعلم في «قياس عرض النطاق الفعلي»؟

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

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

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

كم من الوقت يستغرق درس «قياس عرض النطاق الفعلي»؟

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

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

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

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

  1. ما هي معاملة الذاكرة
  2. القراءات المتماسكة مقابل المتقطعة
  3. بنية المصفوفات مقابل مصفوفة البنى
  4. قياس عرض النطاق الفعلي
← العودة إلى CUDA Academy