Как стать автором
Поиск
Написать публикацию
Обновить
151.12
MWS
Единый контур решений для цифровой трансформации

От векторной графики до трассировки лучей: руководства и материалы для погружения в GPU-тематику

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.8K

Собрали для вас материалы, посвященные графическим процессорам: как развивалась архитектура GPU, интерактивный глоссарий CUDA, перспективы GPU-хостинга и не только.

Нужна ли вам GPU для VDI расскажем на вебинаре о виртуальных десктопах в облаке, присоединяйтесь.  

Интерактивный глоссарий

GPU Glossary — это специализированный веб-справочник с ключевыми терминами и понятиями, касающимся работы графических процессоров. И что интересно, исходный код этого справочника выложен на GitHub под лицензией MIT. 

Проект представила компания Modal, которая проектирует инфраструктуру для работы с ИИ-системами. Среди её сотрудников — создатели известных опенсорс-инструментов Seaborn и Luigi. Причина появления GPU Glossary весьма прозаична: разработчикам потребовалось систематизировать информацию из PDF-файлов, учебников по CUDA-программированию и тематических онлайн-сообществ. И они представили её в виде структурированной гипертекстовой вики. Сайт стилизован под ретротерминал с зелёной темой [хотя её можно поменять на что-то нейтральное]. 

Весь контент поделён на три блока. Первый посвящён аппаратному обеспечению: что такое CUDA (откуда она появилась, какое у неё устройство), зачем нужны тензорные ядра и как они работают, как выглядит потоковая многопроцессорная архитектура и так далее. 

Второй блок посвящен программной части. Там можно почитать о потоках, их роли в графическом процессоре и warp-группах для параллельного выполнения. 

В третьем подразделе собраны понятия и технологии, имеющие отношения к CPU и межпроцессорной работе: CUDA Driver API или утилита командной строки для запроса и управления состоянием графического процессора nvidia-smi.

GPU-архитектуры: IMR и TBR

Специалисты компании RasterGrid, которая специализируется на решениях для обработки и анализа растровых данных, опубликовали лонгрид о GPU-архитектурах, которые используют в рендеринге: Immediate-Mode Rendering (IMR) и Tile-Based Rendering (TBR). В первом случае команды отрисовки выполняются непосредственно в момент их вызова без предварительного построения комплексных структур данных, а во втором — экран дробится на блоки (тайлы), которые обрабатываются независимо. 

Что важно, авторы не пытаются определить «идеальную» архитектуру, а сравнивают подходы TBR и IMR, отмечая сильные и слабые стороны каждой. Например, архитектура TBR демонстрирует высокую эффективность при 2D-композитинге. Разбиение экрана на тайлы и их локальная обработка снижают нагрузку на пропускную способность памяти. В то же время для рендеринга сложных 3D-сцен больше подходит TBR, поскольку он эффективно удаляет скрытые поверхности (Hidden Surface Removal).

В целом материал без сложных терминов, проиллюстрирован схемами и псевдокодом.

GPU-хостинг

Марк Маундер, сооснователь и ведущий разработчик компании Wordfence, известной по одноимённому плагину безопасности для WordPress, опубликовал большую статью о будущем WordPress в эпоху LLM и GPU-вычислений. Он указал на острую проблему: арендовать GPU-сервера для WordPress и работы с открытыми ML-моделями крайне сложно. Как следствие, пользователи вынуждены работать с API закрытых инструментов, что, по мнению Маундера, препятствует демократизации вычислений.

Маундер видит и более масштабную проблему: ИТ-корпорации монополизируют уникальные технологии и вычислительные мощности в сфере ИИ, развивая закрытые системы. А опенсорс-модели отстают от них по функциональности. Автор убеждён, что подобные WordPress платформы обязаны поддерживать разработку открытых систем ИИ — а для этого нужен профильный GPU-хостинг. 

Основы рейтрейсинга

Разработчик Джакко Биккер выпустил серию из десяти статей о проектировании BVH-иерархии для оптимизации поиска пересечений лучей и расчетов освещения. Он показал, как реализовать эффективную BVH на C++, не используя DXR, RTX, OptiX или Vulkan. 

Сперва Биккер даёт базовые представления о BVH, а потом рассказывает, как использовать готовую BVH для рендеринга сцены с текстурированными объектами и реалистичным затенением. 

Заключительные статьи посвящены работе с GPU: про рендеринг на графическом процессоре (настройка фреймворка OpenCL, трассировка лучей, оптимизация) и построение сложных анимированных сцен (TLAS/BLAS, обход ограничений OpenCL, управление множеством объектов и так далее).

Каждая статья сопровождается примерами кода: автор детально описывает процесс разработки, поясняет назначение функций и переменных, дополняя материал схемами и скриншотами. 

Исходники доступны на GitHub и переданы в общественное достояние (под лицензией Unlicense). Однако руководство может показаться сложным для начинающих — здесь пригодятся основы рендеринга и трассировки лучей.

Растеризация на GPU

Инженер Ауримас Гасюлис в своём блоге описал алгоритм, который позволяет переложить часть нагрузки по отрисовке векторных путей на графический процессор. Он отмечает, что несмотря на повсеместное использование векторных изображений, задача по их растеризации (преобразованию в пиксели) по большей части ложится на CPU. Гасюлис считает такой подход неоптимальным и предлагает его изменить.

В то же время материал даёт базовое представление о принципах растеризации векторных фигур. Гасюлис обращается к показательным примерам и наглядным иллюстрациям, чтобы сделать текст более доступным для широкой аудитории.

Для углубления в тему можно обратиться к другой статье Гасюлиса, где он на примере своего open source-проекта Blaze (под лицензией MIT) разбирает принципы параллельной растеризации на CPU. Сам по себе Blaze конвертирует векторные формы (кривые Безье, многоугольники) в растровые изображения. Хотя статья лишь косвенно касается GPU, она иллюстрирует разницу в подходах к вычислениям на CPU и GPU.


Облачные GPU-ускорители для высоконагруженных вычислений и машинного обучения — теперь и тест-драйв.

Теги:
Хабы:
+11
Комментарии0

Публикации

Информация

Сайт
mws.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия