پروژه زبان جولیا

این صفحه حاوی جزئیات یک پروژه نگارش فنی است که برای فصل اسناد Google پذیرفته شده است.

خلاصه پروژه

سازمان منبع باز:
زبان جولیا
نویسنده فنی:
Ellipse0934
نام پروژه:
اسناد برای پشته JuliaGPU
طول پروژه:
طول استاندارد (3 ماه)

شرح پروژه

هدف اصلی این پروژه توسعه مستندات غنی از آموزش ها و مثال ها برای کمک به توسعه دهندگان برای شروع برنامه نویسی GPU در جولیا است. متأسفانه منابع زیادی برای برنامه نویسی GPU وجود ندارد و به عنوان یک موضوع نسبتاً پیچیده برای زبان آموز دشوار می شود. برای استفاده مؤثر از یک GPU، نه تنها کاربر باید نحوه استفاده از آن را بداند، بلکه باید نحوه عملکرد آن را نیز بداند

این پروژه را می توان به سه قسمت (غیر متناسب با زمان) تقسیم کرد.

 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 تمرکز دارد، نباید مهم باشد زیرا تا حد زیادی پشته گرافیکی جولیا به پلتفرم آگنوستیک خواهد بود، بنابراین در آینده زمانی که پشته ROCm AMD تکمیل شود و پردازنده‌های گرافیکی اینتل وارد شوند، تلاش زیادی نمی‌شود. برای پورت کردن آموزش ها و نمونه های این پروژه لازم است.

پیشنهاد می شود آموزش ها و نمونه ها در یک بخش اختصاصی در وب سایت 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)