تشابل (لغة برمجة)

لغة تشابل ، أو لغة كاسكيد عالية الإنتاجية ، هي لغة برمجة متوازية طورتها شركة كراي [ 3 ] ، ثم طورتها لاحقًا شركة هيوليت باكارد إنتربرايز التي استحوذت على كراي. وقد طُورت كجزء من مشروع كراي كاسكيد، المشارك في برنامج أنظمة الحوسبة عالية الإنتاجية (HPCS) التابع لوكالة مشاريع الأبحاث الدفاعية المتقدمة ( DARPA )، والذي كان يهدف إلى زيادة إنتاجية الحواسيب العملاقة بحلول عام 2010. ويجري تطويرها كمشروع مفتوح المصدر ، بموجب الإصدار الثاني من رخصة أباتشي . [ 4 ]

تمت كتابة مُصرّف Chapel بلغة C و C++ ( C++14 ). أما الواجهة الخلفية (أي المُحسِّن) فهي LLVM ، المكتوبة بلغة C++. يتطلب استخدام بعض المكونات الاختيارية، مثل نظام اختبار Chapel وc2chapel (أداة لإنشاء روابط C لـ Chapel)، وجود Python 3.7 أو أحدث. يُصرّف Chapel افتراضيًا إلى ملفات تنفيذية ثنائية، ولكنه يُمكن أيضًا ترجمته إلى كود C، وفي هذه الحالة لا يتم استخدام LLVM. يُمكن ترجمة كود Chapel إلى مكتبات قابلة للاستدعاء من C، كما يدعم لغات أخرى مثل Fortran وPython. يدعم Chapel برمجة وحدات معالجة الرسومات (GPU) من خلال توليد الكود لوحدات معالجة الرسومات من NVIDIA وAMD. [ 5 ]

الأهداف

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

يطمح مصممو لغة البرمجة Chapel إلى سد الفجوة بين ممارسي برمجة الحوسبة عالية الأداء (HPC) الحاليين، والذين يصفونهم بأنهم مستخدمو لغات Fortran أو C أو C++ الذين يكتبون أكوادًا إجرائية باستخدام تقنيات مثل OpenMP و MPI من جهة، ومبرمجي الحاسوب حديثي التخرج الذين يميلون إلى تفضيل لغات Java أو Python أو Matlab، مع قلة منهم فقط ممن لديهم خبرة في C++ أو C. ينبغي أن توفر Chapel مزايا الإنتاجية التي توفرها مجموعة اللغات الأخيرة دون استبعاد مستخدمي اللغة الأولى. [ 2 ]

سمات

يدعم Chapel نموذج برمجة متوازية متعددة الخيوط على مستوى عالٍ من خلال دعم تجريدات لتوازي البيانات ، وتوازي المهام ، والتوازي المتداخل . كما يُتيح تحسينات لموقع البيانات والحسابات في البرنامج عبر تجريدات لتوزيع البيانات وتحديد مواقع العمليات الفرعية بناءً على البيانات . ويسمح بإعادة استخدام التعليمات البرمجية وتعميمها من خلال مفاهيم البرمجة الكائنية وميزات البرمجة العامة . على سبيل المثال، يسمح Chapel بتعريف اللغات المحلية . [ 6 ]

بينما تستعير لغة Chapel مفاهيم من العديد من اللغات السابقة، فإن مفاهيمها الموازية تستند بشكل وثيق إلى أفكار من لغة Fortran عالية الأداء (HPF) و ZPL وامتدادات Cray MTA للغة Fortran و C.

انظر أيضاً

ملحوظات

  1. "مواصفات الكنيسة (شكر وتقدير)" (ملف PDF) . شركة كراي. 1 أكتوبر 2015. تم الاطلاع عليه بتاريخ 14 يناير 2016 .
  2. 1 2 تشامبرلين، برادفورد ل. "لمحة موجزة عن الكنيسة" (ملف PDF) . شركة كراي . تم الاطلاع عليه بتاريخ 22 أبريل 2015 .
  3. لايتفوت، ديفيد إي. (2006). لغات البرمجة المعيارية: المؤتمر المشترك السابع للغات المعيارية . سبرينغر. ص 20. ISBN  978-3-540-40927-4.
  4. "معلومات ترخيص الكنيسة" . chapel-lang.org . تم الاطلاع عليه بتاريخ 15 نوفمبر 2015 .
  5. "مذكرة تقنية من تشابل: برمجة وحدة معالجة الرسومات" . شركة هيوليت باكارد إنتربرايز. 28-09-2023 . تم الاطلاع عليه بتاريخ 03-11-2023 .
  6. بونغين غو؛ ويكوان يو؛ يونسيك كواك (28-30 يونيو 2011). "تداخل الاتصالات والحوسبة من خلال مزامنة المهام في بيئة كنيسة متعددة المواقع". في جيمس ج. بارك، ولورانس ت. يانغ، وتشانغهون لي (محررون). تكنولوجيا المعلومات المستقبلية، الجزء الأول: المؤتمر الدولي السادس . لوتراكي، اليونان: سبرينغر-فيرلاغ. ص 285-292 . doi : 10.1007/978-3-642-22333-4_37 . ISBN  978-3-642-22332-7.

مراجع

  • تشامبرلين، برادفورد ل. (2011). "تشابل (لغة الحوسبة عالية الأداء من شركة كراي)". في بادوا، ديفيد (محرر). موسوعة الحوسبة المتوازية، المجلد 4. سبرينغر. ISBN 9780387097657.

للمزيد من القراءة