Исследовательская группа

Лаборатория языковых инструментов

Частичное вычисление для программ GPGPU

Даниил БерезунАктивный

Можно ли использовать частичное вычисление для оптимизации программ GPGPU?

Оценка фреймворка AnyDSL




Optimizing GPU programs by partial evaluation

Февраль 2020

Aleksey Tyurin, Daniil Berezun, Semyon Grigorev

While GPU utilization allows one to speed up computations to the orders of magnitude, memory management remains the bottleneck making it often a challenge to achieve the desired performance. Hence, different memory optimizations are leveraged to make memory being used more effectively. We propose an approach automating memory management utilizing partial evaluation, a program transformation technique that enables data accesses to be pre-computed, optimized, and embedded into the code, saving memory transactions. An empirical evaluation of our approach shows that the transformed program could be up to 8 times as efficient as the original one in the case of CUDA C naïve string pattern matching algorithm implementation.