На этой странице содержится подробная информация о проекте технического написания, принятом для участия в Google Season of Docs.
Краткое описание проекта
- Организация с открытым исходным кодом:
- Язык Джулии
- Технический писатель:
- Эллипс0934
- Название проекта:
- Документация для стека JuliaGPU
- Длина проекта:
- Стандартная продолжительность (3 месяца)
Описание проекта
Основная цель этого проекта — разработать документацию, богатую учебными пособиями и примерами, которые помогут разработчикам начать программировать на графическом процессоре в Julia. К сожалению, ресурсов по программированию на графических процессорах не так много, и, поскольку это относительно сложная тема, она становится трудной для обучающегося. Чтобы эффективно использовать графический процессор, пользователь должен не только знать, как его использовать, но и понимать, как он работает.
Этот проект можно разделить на три части (не пропорциональные времени)
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, это не должно иметь значения, поскольку в значительной степени стек графических процессоров Джулии будет независим от платформы, поэтому в будущем, когда стек AMD ROCm будет завершен и появятся графические процессоры Intel, особых усилий не потребуется. требуется для переноса руководств и примеров этого проекта.
Учебные пособия и примеры предлагается разместить в специальном разделе на веб-сайте 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)