Проблема узкого места в научных вычислениях
Современные обсерватории и экспериментальные установки генерируют петабайты данных быстрее, чем традиционные CPU-пайплайны успевают их обрабатывать. Задержка между получением данных и получением научного вывода может составлять от часов до месяцев. NVIDIA решает эту проблему, создавая полностью GPU-нативный путь обработки: от считывания данных с сенсора до классификации и выдачи алертов, без необходимости перемещения данных между CPU и GPU.
Ключевые модули и архитектура cuPhoton
Toolkit cuPhoton (версия 0.1.3) состоит из набора модулей, работающих в связке. Он поддерживает Python 3.12–3.14 и CUDA 13. Основные компоненты включают:
- xDataReader: прямое чтение файлов FITS в память GPU.
- xRep: выравнивание изображений (image alignment).
- xPois: сопоставление функций рассеяния точки (PSF) и вычитание фона.
- xFit: дипольная подгонка для определения координат объектов.
- xScan: просмотр кандидатов и классификация.
Производительность: от месяцев к минутам
На тестовых нагрузках, использующих несколько GPU (включая системы NVIDIA Grace Blackwell и Vera Rubin), cuPhoton демонстрирует экстремальное ускорение по сравнению с базовой реализацией на x86 CPU. Важно отметить, что приведенные ниже цифры относятся к отдельным операциям, а не к полному пайплайну, но они иллюстрируют потенциал технологии.
| Операция | Ускорение (vs x86 CPU) | Примечание |
|---|---|---|
| Загрузка и чтение изображений | до 14 900x | Прямое чтение FITS в GPU память |
| Обработка сигнала | до 14 550x | Включая PSF-матчинг и вычитание |
| Полный анализ (пример) | 9 месяцев → 4 часа | Для датасетов в сотни терабайт |
Реальный кейс: Обсерватория Vera C. Rubin
Главным бенефициаром технологии становится LSSTCam обсерватории Vera C. Rubin. Камера делает 3.2-гигапиксельные снимки каждые 39 секунд, генерируя до 20 терабайт данных и 10 миллионов кандидатов за ночь. Система должна классифицировать эти данные в окне 60–120 секунд. cuPhoton позволяет уложиться в этот жесткий временной лимит, обрабатывая данные в реальном времени на многоузловых GPU-кластерах.
Как начать работу
Разработчики могут протестировать toolkit, клонировав репозиторий и настроив среду через команду uv sync --locked --extra dev --extra gpu --extra viz. Для работы с астрономическими данными формата FITS требуется сборка нативного расширения xDataReader с использованием C++17 компилятора. Документация и примеры доступны в открытом доступе.
Источник: NVIDIA dev blog ↗
