ВУЗ:
Рубрика:
173
.
;;;;
2222
asanawaeap
h
as
h
an
h
aw
h
ae
yyxx
Формула (9.4) легко программируется и очень проста для при-
менения:
Do i=1,Nx
Do j=1,Ny
Tnew(i,j)=(1+ap)*T(i,j)+ae*T(i+1,j)+aw*T(i-1,j)
+an*T(i,j+1)+as*T(i,j-1)
End do
End do
Далее обсудим возможности распараллеливания программы для
нахождения приближенного решения поставленной задачи. В рас-
сматриваемом примере возможны два различных способа разделе-
ния данных – одномерная или ленточная схема или двухмерное или
блочное разбиение узлов вычислительной сетки. Из практики парал-
лельных вычислений хорошо известно, что в целом более эффек-
тивная двумерная декомпозиция расчетной области теряет свои
преимущества перед одномерной в том случае, если число процес-
соров параллельного компьютера невелико. Рассмотрим отдельно
оба варианта декомпозиции данных.
9.1.1 Одномерная декомпозиция
Для определенности декомпозицию расчетной области проведем
по индексу
j
(рис. 9.1), хотя на практике выбор координаты для
разбиения определяется особенностями языка программирования
или способом хранения данных в оперативной памяти. Совокуп-
ность узлов расчетной сетки, попавших на один процессорный эле-
мент, будем называть полосой.
После того как данные были распределены, переходим к сле-
дующиму этапу построения параллельной программы – проектиро-
ванию коммуникаций. При аппроксимации дифференциальной за-
дачи использовался шаблон «крест» (см. рис. 9.1), поэтому для ор-
ганизации вычислений в приграничных узлах сеточной подобласти
Страницы
- « первая
- ‹ предыдущая
- …
- 171
- 172
- 173
- 174
- 175
- …
- следующая ›
- последняя »
