
هل شيفرتي سريعة؟ وهل يمكن أن تصبح أسرع؟ يركّز الحوسبة العلمية وتعلّم الآلة وعلوم البيانات على حل مشكلات كثيفة الحسابات. ولتحقيق تسارع قابل للتوسع وأداء عالٍ، يصبح من الضروري اختيار الخوارزمية المناسبة، واستخراج التوازي على مستويات متعددة، وتقليل كلفة نقل البيانات عبر توزيعها (أو «إطفائها») على أكبر قدر ممكن من العمليات الحسابية. يستخدم هذا المقرر مثالاً بسيطاً لكنه بالغ الأهمية—وهو ضرب المصفوفات (مصفوفة × مصفوفة)—لتوضيح التقنيات الأساسية للوصول إلى أداء مرتفع على وحدات المعالجة المركزية الحديثة. من خلال سلسلة تمارين مصممة بعناية وبناء تدريجي، ينتقل المتعلم من تنفيذ ساذج وبسيط إلى تنفيذ يستفيد بفاعلية من التوازي على مستوى التعليمات (Instruction-Level Parallelism)، ثم يصل في النهاية إلى تنفيذ متعدد الخيوط عالي الأداء. وخلال الرحلة التعليمية، ستكتشف أن الانتباه الدقيق لحركة البيانات (data movement)—مثل كيفية ترتيب الوصول إلى الذاكرة، وتقليل أخطاء التخزين المؤقت، وتحسين أنماط القراءة والكتابة—قد يكون حاسماً بقدر أهمية العمليات الحسابية نفسها. كما يساعدك المقرر على قراءة بيانات الأداء وفهمها لاتخاذ قرارات تحسين مبنية على قياس فعلي، مع إدارة التعقيد عبر بناء طبقات برمجية منظمة تسهّل التطوير والتحسين دون فقدان السيطرة على التفاصيل منخفضة المستوى. هذا المقرر مقدم من جامعة تكساس في أوستن، ومناسب لمن لديهم خبرة أولية بالبرمجة وبيئة لينكس وفهم أساسي لضرب المصفوفات.
Maggie Myers
Lecturer, Department of Statistics and Data Sciences
Robert van de Geijn
Professor of Computer Science
Devangi Parikh
Research Fellow