Logo icon

Портирование алгоритма обработки сейсмоданных на GPU

Разработано для: Amberg Technologies AG, Швейцария, Регенсдорф

Назначение: оптимизация библиотеки обработки сейсмических сигналов

Исходный код, предоставленный заказчиком, был последовательным; задача состояла в максимальном ускорении кода на заданной архитектуре. В ходе исследования кода была проанализирована возможность переноса вычислений на GPU,векторизации и распараллеливания существующего кода на процессоре. В итоге был разработан гибридный CPU/GPU алгоритм с динамической балансировкой. Наиболее ресурсоёмкие вычисления на CPU были ускорены за счёт использования интринсиков и для более эффективного использования кэша процессора. На верхнем уровне алгоритм был распараллелен при помощи OpenMP. Вычисления на GPU происходят параллельно с вычислениями на CPU, достигая, таким образом, максимального использования вычислительных ресурсов компьютера. В результате исходный алгоритм был ускорен в 7 раз (с 280 секунд до 40 секунд).

Спецификация

Заказчик: Amberg Technologies AG, Швейцария, Регенсдорф
Сфера применения: геофизические исследования
Тип (платформа): Библиотека под Windows
Технологии и алгоритмы: C++, OpenMP, Intrinsics, GPU, OpenCL

Похожие проекты

научно-исследовательская разработка, предназначенная для построения имитационной модели одновременного функционирования нескольких десятков транспортных предприятий, включая терминальные центры

оптимизация алгоритма миграции (обработка сейсмоданных)