Esta página contiene los detalles de un proyecto de redacción técnica aceptado para la GDOC Season of Docs.
Resumen del proyecto
- Organización de código abierto:
- El idioma Julia
- Redactor técnico:
- Ellipse0934
- Nombre del proyecto:
- Documentación de la pila de JuliaGPU
- Duración del proyecto:
- Duración estándar (3 meses)
Project description
El objetivo principal de este proyecto es desarrollar documentación con instructivos y ejemplos para ayudar a los desarrolladores a comenzar a programar para GPU en Julia. Lamentablemente, no hay muchos recursos para la programación de GPU, y como es un tema relativamente complejo, se vuelve difícil para el alumno. Para usar una GPU de manera eficaz, el usuario no solo debe saber cómo usarla, sino también comprender cómo funciona.
Este proyecto se puede dividir en tres partes (no proporcionales al tiempo).
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.
Si bien este proyecto se enfoca en CUDA.jl, no debería importar, ya que, en gran medida, la pila de GPU de Julia no dependerá de la plataforma. Por lo tanto, en el futuro, cuando se complete la pila de ROCm de AMD y lleguen las GPUs de Intel, no será necesario realizar mucho esfuerzo para portar los instructivos y ejemplos de este proyecto.
Se propone que los instructivos y ejemplos se incluyan en una sección dedicada en el sitio web juliagpu.org. Estos son algunos de los temas que se abordarán en la sección del instructivo:
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)