مشروع لغة جوليا

تحتوي هذه الصفحة على تفاصيل مشروع كتابة فنية تم قبوله في "موسم مستندات Google".

ملخّص المشروع

مؤسسة مفتوحة المصدر:
لغة "جوليا"
الكاتب الفني:
Ellipse0934
اسم المشروع:
مستندات حِزمة JuliaGPU
مدة المشروع:
المدة العادية (3 أشهر)

وصف المشروع

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

يمكن تقسيم هذا المشروع إلى ثلاثة أجزاء (غير متناسبة مع الوقت)

 Tutorials: Detailed guides for the beginner to help them get started, profile and debug their code.
 Examples: Write simple extensions to various Julia packages such as Images.jl, SciML.jl,etc.
 API Documentation: Restructure and write documentation to make it intuitive for the user to browse 
 through the documentation.

على الرغم من أن هذا المشروع يركز على CUDA.jl، فلا يهم كثيرًا، حيث ستكون مكدس وحدة معالجة الرسومات الخاص بـ Julia غير مرتبط بالنظام الأساسي في المستقبل عند اكتمال مكدس ROCm من AMD ولن تكون هناك وحدات معالجة رسومات Intel متعلقة بالكثير من الجهد المطلوب لنقل البرامج التعليمية والأمثلة على هذا المشروع.

نقترح وضع الأدلة التعليمية والأمثلة في قسم مخصّص على الموقع الإلكتروني juliagpu.org. في ما يلي بعض المواضيع التي سيتم تناولها في القسم التعليمي:

 Introduction (small rework)
 Mandelbrot : A program to generate an image of the mandelbrot set
 Prefix Scan: Computing the parallel prefix scan on the GPU
 How does a GPU work ? (language agnostic, discusses the architecture)
 Array Programming: Using high level array programming abstractions for GPU programming (Broadcast abstractions, custom array types,.etc)
 Profiling GPU applications (using Nsight and other tools)