Julia Language 專案

本頁面包含 Google 技術文件季度接受的技術寫作專案詳細資料。

專案摘要

開放原始碼組織:
Julia 語言
技術文件撰稿者:
Ellipse0934
專案名稱:
JuliaGPU 程式庫說明文件
專案長度:
標準長度 (3 個月)

Project description

這個專案的主要目的是開發說明文件,其中包含教學課程和範例,協助開發人員開始在 Julia 中進行 GPU 程式設計。很遺憾,GPU 程式設計的資源不多,而且這個主題相對複雜,學習者會覺得很困難。如要有效使用 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,但這並無妨礙,因為 Julia 的 GPU 堆疊在很大程度上是平台無關的,因此日後 AMD 的 ROCm 堆疊完成,Intel GPU 也推出後,您便可輕鬆移植本專案的教學課程和範例。

建議將教學課程和範例放在 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)