Julia Language projesi

Bu sayfada, Google Dokümanlar Sezonu için kabul edilen bir teknik yazım projesinin ayrıntıları yer almaktadır.

Proje özeti

Açık kaynak kuruluşu:
The Julia Language
Teknik yazar:
Ellipse0934
Proje adı:
JuliaGPU paketi için dokümanlar
Proje uzunluğu:
Standart uzunluk (3 ay)

Proje açıklaması

Bu projenin temel amacı, geliştiricilerin Julia'da GPU programlamayı kullanmaya başlamalarına yardımcı olacak eğitici içerikler ve örnekler içeren dokümanlar oluşturmaktır. Ne yazık ki GPU programlamayla ilgili çok fazla kaynak yok ve nispeten karmaşık bir konu olduğu için öğrenen için zor oluyor. GPU'yu etkili bir şekilde kullanmak için kullanıcının yalnızca nasıl kullanılacağını değil, nasıl çalıştığını da bilmesi gerekir.

Bu proje üç bölüme ayrılabilir (zamana orantılı değildir)

 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.

Bu proje CUDA.jl'ye odaklansa da Julia'nın GPU yığını platformdan büyük ölçüde bağımsız olacağından, gelecekte AMD'nin ROCm yığını tamamlanıp Intel GPU'ları bu projenin Eğiticilerini ve Örneklerini taşımak için fazla çaba gerektirmeyecektir.

Eğiticilerin ve örneklerin, juliagpu.org web sitesinde özel bir bölümde yer alması önerilir. Eğitim bölümünde ele alınacak bazı konular şunlardır:

 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)