DumPy: لغة مصفوفات أبسط للوحدات المعالجة الرسومية، والتخلص من تعقيد NumPy

2025-05-24
DumPy: لغة مصفوفات أبسط للوحدات المعالجة الرسومية، والتخلص من تعقيد NumPy

ينتقد الكاتب تعقيد NumPy وعدم كفاءته في التعامل مع المصفوفات متعددة الأبعاد، خاصةً قواعد البث والفهارس المعقدة، مما يجبر المبرمجين على التفكير باستمرار في أشكال المصفوفات وسلوك الوظائف. ولمعالجة هذا، يقترح الكاتب DumPy، وهي لغة مصفوفات أبسط تستخدم بناء جملة الحلقات والفهارس، وتقوم بترجمتها سرًا إلى عمليات متجهة لتسريع وحدة المعالجة الرسومية، وبالتالي تجنب التعقيدات التي تم إدخالها في NumPy لتجاوز الحلقات البطيئة. تتمثل الفكرة الأساسية لـ DumPy في تعيين الأبعاد إلى تسميات واستخدام دالة `vmap` من JAX للعمليات المتجهة، مما يبسط الشفرة ويزيد من الكفاءة. يقدم الكاتب أمثلة تقارن DumPy و NumPy و JAX والحلقات البسيطة، مما يوضح تفوق DumPy من حيث الإيجاز والأداء.