O projeto Julia Language

Esta página contém os detalhes de um projeto de redação técnica aceito para a Google Season of Docs.

Resumo do projeto

Organização de código aberto:
A linguagem Julia
Redator técnico:
Ellipse0934
Nome do projeto:
Documentação da pilha JuliaGPU
Duração do projeto:
Duração padrão (três meses)

Project description

O objetivo principal deste projeto é desenvolver uma documentação rica em tutoriais e exemplos para ajudar os desenvolvedores a começar a programar GPUs em Julia. Infelizmente, não há muitos recursos para programação de GPU, e, por ser um tópico relativamente complexo, isso dificulta o aprendizado. Para usar uma GPU de maneira eficaz, o usuário precisa saber como usá-la e entender como ela funciona.

Esse projeto pode ser dividido em três partes (não proporcionais ao tempo)

 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.

Embora este projeto se concentre em CUDA.jl, isso não importa, já que em grande parte a pilha de GPU de Julia será independente de plataforma. Portanto, no futuro, quando a pilha ROCm da AMD for concluída e as GPUs Intel chegarem, não será necessário muito esforço para transferir os tutoriais e exemplos desse projeto.

Os tutoriais e exemplos serão propostos em uma seção dedicada no site juliagpu.org. Alguns dos tópicos abordados na seção do tutorial são:

 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)