Proyek Bahasa Julia

Halaman ini berisi detail project penulisan teknis yang diterima untuk Google Season of Docs.

Ringkasan project

Organisasi open source:
Bahasa Julia
{i>Technical writer <i}(Penulis teknis):
Ellipse0934
Nama proyek:
Dokumentasi untuk stack JuliaGPU
Durasi project:
Durasi standar (3 bulan)

Project description

Tujuan utama dari proyek ini adalah mengembangkan dokumentasi yang kaya dengan tutorial dan contoh untuk membantu developer memulai pemrograman GPU di Julia. Sayangnya, tidak banyak referensi untuk pemrograman GPU, dan karena merupakan topik yang relatif kompleks, hal ini menjadi sulit bagi pelajar. Untuk menggunakan GPU secara efektif, pengguna tidak hanya harus mengetahui cara menggunakannya, tetapi juga memahami cara kerjanya

Proyek ini dapat dibagi menjadi tiga bagian (tidak sebanding dengan waktu)

 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.

Meskipun project ini berfokus pada CUDA.jl, hal ini tidak akan menjadi masalah karena stack GPU Julia sebagian besar akan menjadi platform yang tidak bergantung pada platform. Jadi, pada masa mendatang, saat stack ROCm AMD selesai dan GPU Intel tiba, tidak akan banyak upaya yang diperlukan untuk mem-port Tutorial dan Contoh project ini.

Tutorial dan contoh diusulkan untuk ditempatkan di bagian khusus di situs juliagpu.org. Beberapa topik yang akan dibahas di bagian tutorial adalah:

 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)