Геометрия на стероидах: практический опыт переноса тяжелых вычислений на GPU при проектировании инженерных сетей

Узкотематические секции

Доклад принят в программу конференции

Мнение Программного комитета о докладе

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

Целевая аудитория

Разработчики, которые интересуются темой перекладывания вычислений на графические ускорители, особенно: С++-разработчики и HPC-разработчики.

Тезисы

Доклад посвящен применению GPU для ускорения алгоритмов решения геометрических задач в САПР. Работа с геометрией на видеокартах выходит далеко за рамки компьютерных игр, а вычисления на GPU успешно применяются не только для нейросетей, но и в реальных инженерных задачах. Представьте, что вам необходимо спроектировать электросеть в городе или на промышленном объекте. Традиционный подход с использованием алгоритмов поиска пути на графах работает, но сталкивается с серьезной проблемой: для получения действительно точных расчетов графы становятся гигантскими, и время построения этих графов перестает быть приемлемым.

Построение графа по карте местности порождает множество разнообразных геометрических задач. В рамках доклада мы рассмотрим некоторые из них и продемонстрируем, как их решение ускоряется за счет использования GPU. Доклад будет одинаково полезен как начинающим осваивать GPU-программирование (вы получите необходимый минимум знаний о программировании видеокарт), так и опытным разработчикам, заинтересованным в эффективном использовании параллельных вычислений для сложных инженерных систем.

Технический директор ООО «Судо».
Кандидат технических наук. В коммерческой разработке с 2008 года, преимущественно на С++. За это время прошел путь от младшего разработчика до CTO. Участвовал в разных проектах: от энтерпрайза до встраиваемых систем. C 2018 года занимается разработкой научных и инженерных систем, а также оптимизацией производительности ПО с использованием GPGPU на OpenCL и CUDA. В числе научных и инженерных интересов Михаила — GPGPU, HPC и анализ кода.

Видео