Астрофизики ускорили вычисление N-точечных корреляций в 9 раз с помощью GPU

Исследователи обновили алгоритм GRAMSCI (GRAph Made Statistics for Cosmological Information), предназначенный для быстрого вычисления N-точечных пространственных корреляционных функций произвольных дискретных наборов точек. В новой версии 2 заявлен значительный прирост производительности за счёт переноса ядер вычислений на графические ускорители (GPU) с использованием OpenACC.

Ключевое нововведение — замена бинарного поиска во внутреннем цикле на алгоритм слияния (merge-walk), что снизило сложность с O(m log m) до O(m) на пару «хаб-спица». Это позволило эффективнее обрабатывать большие графы соседства.

Дополнительно реализована чётно-нечётная декомпозиция четырёхточечной корреляционной функции (4pCF), что даёт возможность напрямую тестировать нарушение чётности в распределении галактик. Также встроена оценка несвязной части 4pCF для выделения связной компоненты.

Для удобства пользователей создан интерфейс на Python, позволяющий вызывать движок на Фортране непосредственно из массивов NumPy. Но главное достижение — полноценный GPU-порт: вычисления 3pCF, 4pCF и декомпозированной 4pCF выполняются на одной потребительской видеокарте. Измеренное ускорение составило от 2.6 раз для 3pCF до 9 раз для 4pCF по сравнению с 64-поточным CPU-узлом.

Благодаря схеме разбиения на тайлы, не помещающиеся в память графы обрабатываются с накладными расходами около 20%. В тесте на карте с 24 ГБ памяти удалось рассчитать 3pCF для графа с 9 миллиардами рёбер на масштабе BAO (барионных акустических осцилляций).

Валидация кода проводилась сравнением с эталонной CPU-версией, аналитическими инъекционными тестами, а также на реальных данных обзора DESI DR1 (образцы ярких красных галактик LRG) в сопоставлении с ансамблем симуляций EZmock. Результаты подтверждают корректность и масштабируемость алгоритма.

Обновление GRAMSCI открывает путь к быстрому анализу данных крупных обзоров неба, где объём каталогов галактик достигает десятков миллионов объектов, а вычисления многоточечных статистик ранее были узким местом.