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

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

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

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

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

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

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