ВУЗ:
Составители:
Рубрика:
- 97 -
программ (требуется лишь некоторая ‘переделка’) и сохраняется опыт про-
граммирования. Недостатки подхода базируются на этих же положениях –
для разработки эффективной параллельной программы необходимо учиты-
вать внутреннюю структуру алгоритма, а базовый (исходно последователь-
ный) язык обычно не содержит даже механизмов, с помощью которых воз-
можно реализовать это.
Естественно, на поверхности лежит
попытка реализовать параллелизм в
циклах (гнездах циклов) в Fortran-программах (см. ранее подраздел 3.2).
Возможность реализовалась использованием дополнительных ключевых слов
ParDO (отечественная система M-10), ParDO/ParEND (система параллельного
сборочного программирования ИНЯ, (
*
).
Метод ‘подсказок’ компилятору с целью дополнить его функциональность
средствами распараллеливания реализован, например, в системе HPF (Hight
Performance Fortran, 1995). В HPF-системе традиционный Fortran дополнен
специальными директивами, записываемыми в форме комментариев (т.е. не
воспринимаемых обычным компилятором – метод решения проблемы пере-
носимости!). С возможностью использовать HPF-программ на последова-
тельных и параллельных машинах без изменений были связаны
серьезные
надежды разработчиков, сменившиеся в дальнейшем здоровым скептициз-
мом (несмотря на это, в 1997 г. был разработан проект стандарта HPF2, рас-
ширявший возможности программиста в смысле директив распараллелива-
ния, [6]).
История развития HPF тесно связана с таковой языка Fortran’90. Именно в
этом языке появились прототипы языковых конструкций, которые позволили
компилятору эффективно генерировать параллельный код.
Этот язык не яв-
ляется в прямом смысле параллельным, его создатели ставили себе более
общие цели - создать машинно-независимый инструмент обработки число-
вых научных данных. Основные возможности параллелизации в Fortran’90
связаны с циклами (операциям над массивами, именно на эти действия при-
ходится большее время выполнения научно-технических задач и именно их
целесообразно распараллеливать в первую очередь). Мощным средством ра-
боты с массивами в Fortran’90 является возможность использования их в
арифметических операциях подобно обычным скалярам. Многие встроенные
операции в языке Fortran’90 можно применить и к массивам, получая при
этом массив такой же формы, каждый элемент которого будет иметь значе-
ние, равное результату заданной операции
над элементами массивов. Воз-
можно выделять секции в массивах и оперировать с ними как с новыми мас-
сивами и др., причем порядок, в котором совершаются поэлементные опера-
ции, стандартом не устанавливается. Это дает возможность компилятору
*
В.Э.Малышкин. Основы параллельных вычислений. // Учебное пособие, часть 2. ЦИТ
СГГА. –Новосибирск, 2003.
- 97 - программ (требуется лишь некоторая ‘переделка’) и сохраняется опыт про- граммирования. Недостатки подхода базируются на этих же положениях – для разработки эффективной параллельной программы необходимо учиты- вать внутреннюю структуру алгоритма, а базовый (исходно последователь- ный) язык обычно не содержит даже механизмов, с помощью которых воз- можно реализовать это. Естественно, на поверхности лежит попытка реализовать параллелизм в циклах (гнездах циклов) в Fortran-программах (см. ранее подраздел 3.2). Возможность реализовалась использованием дополнительных ключевых слов ParDO (отечественная система M-10), ParDO/ParEND (система параллельного сборочного программирования ИНЯ, (*). Метод ‘подсказок’ компилятору с целью дополнить его функциональность средствами распараллеливания реализован, например, в системе HPF (Hight Performance Fortran, 1995). В HPF-системе традиционный Fortran дополнен специальными директивами, записываемыми в форме комментариев (т.е. не воспринимаемых обычным компилятором – метод решения проблемы пере- носимости!). С возможностью использовать HPF-программ на последова- тельных и параллельных машинах без изменений были связаны серьезные надежды разработчиков, сменившиеся в дальнейшем здоровым скептициз- мом (несмотря на это, в 1997 г. был разработан проект стандарта HPF2, рас- ширявший возможности программиста в смысле директив распараллелива- ния, [6]). История развития HPF тесно связана с таковой языка Fortran’90. Именно в этом языке появились прототипы языковых конструкций, которые позволили компилятору эффективно генерировать параллельный код. Этот язык не яв- ляется в прямом смысле параллельным, его создатели ставили себе более общие цели - создать машинно-независимый инструмент обработки число- вых научных данных. Основные возможности параллелизации в Fortran’90 связаны с циклами (операциям над массивами, именно на эти действия при- ходится большее время выполнения научно-технических задач и именно их целесообразно распараллеливать в первую очередь). Мощным средством ра- боты с массивами в Fortran’90 является возможность использования их в арифметических операциях подобно обычным скалярам. Многие встроенные операции в языке Fortran’90 можно применить и к массивам, получая при этом массив такой же формы, каждый элемент которого будет иметь значе- ние, равное результату заданной операции над элементами массивов. Воз- можно выделять секции в массивах и оперировать с ними как с новыми мас- сивами и др., причем порядок, в котором совершаются поэлементные опера- ции, стандартом не устанавливается. Это дает возможность компилятору * В.Э.Малышкин. Основы параллельных вычислений. // Учебное пособие, часть 2. ЦИТ СГГА. –Новосибирск, 2003.
Страницы
- « первая
- ‹ предыдущая
- …
- 95
- 96
- 97
- 98
- 99
- …
- следующая ›
- последняя »