CUDA Academy · درس

مقايضات الذاكرة العامة

كبيرة وبطيئة ومرئية لكل خيط.

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

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

أكبر مساحة متاحة لك

الذاكرة العامة هي DRAM الرئيسية في GPU، وغالبًا ما تبلغ سعتها عدة غيغابايتات. وهي المكان الطبيعي لوجود مصفوفات الإدخال والإخراج الكبيرة أثناء تشغيل النواة.

مرئية للجميع

يمكن لكل خيط في كل كتلة قراءة الذاكرة العامة والكتابة إليها. وهذه الرؤية المشتركة هي بالضبط سبب نسخ بياناتك إليها قبل التشغيل. 🌍

تخصصها باستخدام cudaMalloc

تحجز الذاكرة العامة من المضيف باستخدام cudaMalloc، التي تمنحك مؤشّر جهاز إلى منطقة DRAM تلك.

float *d_a;
cudaMalloc(&d_a, n * sizeof(float));

كبيرة لكنها بطيئة

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

عرض النطاق هو القيد الحقيقي

تكون كثير من النوى مقيّدة بسرعة تدفق البايتات من DRAM، لا بالحسابات الرياضية. ونسمّي هذه النوى مقيّدة بالذاكرة.

إخفاء زمن الوصول باستخدام الخيوط

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

تستمر بين عمليات التشغيل

تبقى البيانات الموجودة في الذاكرة العامة بين عمليات تشغيل النوى إلى أن تحررها. ويمكنك تشغيل عدة نوى على المخازن نفسها.

تخزين مؤقت بواسطة L2

توجد ذاكرة L2 المؤقتة الموحّدة أمام الذاكرة العامة في GPU بأكملها. ويمكن تلبية العناوين المعاد استخدامها منها بدلًا من DRAM البطيئة.

نمط الوصول يحدد السرعة

يؤثر أسلوب ربط الخيوط بالعناوين تأثيرًا كبيرًا في معدل النقل. ولمس الخيوط المتجاورة لعناوين متجاورة هو ما تسميه الدروس اللاحقة الوصول المتحد.

قلّل عمليات الوصول

الاستراتيجية الأساسية بسيطة: المس الذاكرة العامة بأقل عدد ممكن من المرات. اقرأ مرة واحدة، وأعد الاستخدام داخل الشريحة، ثم اكتب مرة واحدة.

حرّر ما تخصصه

لأن الذاكرة العامة مورد محدود، حرّرها باستخدام cudaFree عند الانتهاء لتجنب تسرّب ذاكرة الجهاز.

cudaFree(d_a);

تحقق سريع

أي عبارة تلخص أفضل المفاضلة المتعلقة بالذاكرة العامة؟

مراجعة: كبيرة، مشتركة، بطيئة

أصبحت تعرف أن الذاكرة العامة هي DRAM الكبيرة والمرئية للجميع في GPU، وأنها تستبدل السعة بزمن وصول مرتفع. المسها نادرًا وأعد استخدام البيانات داخل الشريحة. 🚀

البدء مجانًا

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

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

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

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

هل درس «مقايضات الذاكرة العامة» مجاني؟

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

ماذا ستتعلم في «مقايضات الذاكرة العامة»؟

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

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

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

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

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

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

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

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

  1. السجلات والذاكرة المحلية
  2. مقايضات الذاكرة العامة
  3. الذاكرة الثابتة وذاكرة التخزين المؤقت الخاصة بها
  4. نموذج ذهني للهرمية
← العودة إلى CUDA Academy