Ускорение геометрии на GPU на примере ПО для автоматизации проектирования коммуникаций

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

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

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

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

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

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

Тезисы

Линейные протяжённые объекты, такие как электрические сети, логично проектировать при помощи алгоритмов поиска пути на графе. Если задача поиска пути исследована достаточно хорошо, то задача построения графа, на основе которого будет осуществляться поиск пути, представляет интерес.

Так как требуется строить проект с высокой точностью, то граф получается большой, соответственно, строится он тоже долго. Поэтому, часть работы мы ускорили на GPU. Я расскажу о том, что у нас получилось.

Весь необходимый для понимания минимум о программировании видеокарт и проектировании также будет рассказан.

Бонус: алгоритмы на графах: быстрый алгоритм в один поток на процессоре против отлично параллелящегося, но медленного алгоритма на видеокарте, а также data race, который не влияет на ответ.

Михаил Лукин

ООО «Судо»

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

Видео