Авторы DataKernelBench предложили десяти языковым моделям написать GPU-код для аналитических запросов.
SQL описывает, какие данные нужно получить.
За способом выполнения стоит целая последовательность действий: прочитать столбцы, отобрать строки, соединить таблицы, посчитать суммы.
GPU может выполнять много операций одновременно.
Однако одного переноса вычислений на видеокарту недостаточно: время уходит и на перемещение данных, и на создание промежуточных результатов.
Поэтому для конкретного запроса бывает выгодно написать собственное вычислительное ядро — небольшую программу, которую выполняет GPU.
DataKernelBench проверяет, насколько хорошо с такой работой справляются языковые модели.
Авторы переводят SQL в TorchPlan — программу на PyTorch, — а затем предлагают модели ускорить её с помощью CUDA или Triton, инструментов для программирования GPU.
Модели дают два варианта задачи: улучшить отдельный вычислительный участок или переработать выполнение запроса целиком.
Полученный код запускают, проверяют и возвращают модели обратную связь для исправлений.
Что показал эксперимент
Исследователи проверили десять моделей на аналитической нагрузке TPC-H SF10 с одной NVIDIA H100.
Лучший результат получила GPT-5.5 в режиме полной переработки запроса с CUDA: 2,11× относительно TorchPlan с torch.compile.
Все 22 запроса прошли проверку результата.
Это сравнение со скомпилированной реализацией на PyTorch.
Переносить цифру на PostgreSQL, ClickHouse или любую другую СУБД нельзя.
В эксперименте также участвовал GPU-движок Sirius: он оставался быстрее на многих отдельных запросах.
Такой подход может быть интересен для тяжёлых регулярных отчётов.
► Ссылка на исследование
#SQL #GPU #LLM #DataKernelBench #arxiv
SQL описывает, какие данные нужно получить.
За способом выполнения стоит целая последовательность действий: прочитать столбцы, отобрать строки, соединить таблицы, посчитать суммы.
GPU может выполнять много операций одновременно.
Однако одного переноса вычислений на видеокарту недостаточно: время уходит и на перемещение данных, и на создание промежуточных результатов.
Поэтому для конкретного запроса бывает выгодно написать собственное вычислительное ядро — небольшую программу, которую выполняет GPU.
DataKernelBench проверяет, насколько хорошо с такой работой справляются языковые модели.
Авторы переводят SQL в TorchPlan — программу на PyTorch, — а затем предлагают модели ускорить её с помощью CUDA или Triton, инструментов для программирования GPU.
Модели дают два варианта задачи: улучшить отдельный вычислительный участок или переработать выполнение запроса целиком.
Полученный код запускают, проверяют и возвращают модели обратную связь для исправлений.
Что показал эксперимент
Исследователи проверили десять моделей на аналитической нагрузке TPC-H SF10 с одной NVIDIA H100.
Лучший результат получила GPT-5.5 в режиме полной переработки запроса с CUDA: 2,11× относительно TorchPlan с torch.compile.
Все 22 запроса прошли проверку результата.
Это сравнение со скомпилированной реализацией на PyTorch.
Переносить цифру на PostgreSQL, ClickHouse или любую другую СУБД нельзя.
В эксперименте также участвовал GPU-движок Sirius: он оставался быстрее на многих отдельных запросах.
Такой подход может быть интересен для тяжёлых регулярных отчётов.
► Ссылка на исследование
#SQL #GPU #LLM #DataKernelBench #arxiv
Просмотры: 124