Конференции ИВТ СО РАН



Третья российско-германская школа по параллельным вычислениям на высокопроизводительных вычислительных системах

28 августа - 8 сентября 2006 года, Новосибирск, Академгородок

Тезисы докладов


7-ое сентября

Параллельная реализация алгоритма SIMPLE

Михайленко К. И., Галимов А. С.

Институт механики Уфимского научного центра РАН (Уфа)

Алгоритм SIMPLE широко известен и активно используется для численного моделирования динамики жидкости. Как следует из его названия (Semi-Implicit Method for Pressure-Linked Equations), среди шагов алгоритма присутствуют такие, для которых записывается неявная численная схема. Присутствие неявности затрудняет возможность использования техники высокопроизводительных параллельных вычислений. В первую очередь указанная сложность касается наиболее распространённых высокопроизводительных вычислительных систем кластерного типа.

Для распараллеливания задач, возникающих при использовании конечно-разностных соотношений, можно выделить два основных подхода.

Первый заключается в прямом решении возникающей системы линейных алгебраических уравнений. Для этого можно воспользоваться какой-либо существующей библиотекой математических подпрограмм, например, библиотекой ScaLAPACK. Следует отметить, что использование стандартных библиотек для решения систем линейных алгебраических уравнений может оказаться недостаточно эффективным при увеличении количества узлов расчётной области. Это связано с тем, что размер системы уравнений пропорционален N2 для двумерной области и N3 для трёхмерной.

Второй подход предполагает использование пространственной декомпозиции расчётной области. В этом случае возникает необходимость некоторой модификации метода решения для того, чтобы можно было преодолеть неявность численной схемы.

В нашем случае предлагается использовать метод переменных направлений. Пространственная декомпозиция осуществляется в направлении только одной оси вычислительной сетки (то есть используется логическая топология процессов типа "цепочка"). Соответственно, в этом направлении предлагается использовать явную численную схему и организовывать обмен теневыми гранями. В остальных направлениях схема остаётся неявной и решается методом прогонки.

Таким образом, параллельная схема на тех этапах алгоритма SIMPLE, на которых требуется решить систему линейных алгебраических уравнений (нахождение v*, p', решение уравнений для остальных физических величин) , реализуется следующим образом.

  1. В пространственных направлениях, перпендикулярных направлению декомпозиции, производится решение ряда псевдо-одномерных неявных задач с использованием алгоритма прогонки.
  2. В направлении, совпадающем с направлением пространственной декомпозиции, производится решение псевдо-одномерных явных задач.
  3. При необходимости организуется взаимная передача теневых граней.
Таким образом, для вычислительной области с достаточным количеством узлов, удаётся достичь увеличения производительности при распараллеливании задачи.

Примечание. Тезисы докладов публикуются в авторской редакции



Ваши комментарии
Обратная связь
[ICT SBRAS]
[Головная страница]
[Конференции]

© 1996-2000, Институт вычислительных технологий СО РАН, Новосибирск
© 1996-2000, Сибирское отделение Российской академии наук, Новосибирск