Аннотация:
Обсуждаются эффективные алгоритмы решения задач численного моделирования физических сред, темп вычислений в которых для традиционных алгоритмов ограничен пропускной способностью памяти. Рассматривается численное решение волнового уравнения при помощи конечно-разностных схем с явным шаблоном типа «крест» высокого порядка аппроксимации. Построен алгоритм DiamondTorre, учитывающий особенности иерархии памяти и параллельности графических процессоров общего назначения (GPGPU). Преимуществами алгоритма является высокий уровнь локализации данных, а также свойства асинхронности, позволяющие эффективно задействовать все уровни параллелизма GPGPU. Вычислительная интенсивность алгоритма превышает соответствующее значение для лучших алгоритмов с пошаговой синхронизацией, а результате становится возможным преодоление указанного выше ограничения. Алгоритм реализован в рамках модели программирования CUDA. Для схемы второго порядка аппроксимации получена производительность более 50 миллиардов ячеек в секунду на одном устройстве, что в 5 раз превосходит результаты оптимизированного алгоритма с пошаговой синхронизацией.