Фортран и параллельность

На главную страницу раздела.

Новый стандарт языка Фортран (Фортран 2008) содержит средства поддержки параллельного программирования (coarrays), ориентированные на архитектуру с распределенной памятью и на архитектуру с общей памятью.

Некоторые средства параллельного программирования были введены в стандарт языка еще в Фортране 90. Необходимость их введения была вызвана появлением в компьютерах аппаратных средств векторной обработки. В Фортране 95 средства параллельности получили дальнейшее развитие.

В Фортран ранее были введены следующие черты:

  • Возможность работы с массивами и секциями массивов как с целыми объектами на поэлементной основе.
  • Условное присваивание массиву под управлением логической маски (оператор WHERE и конструкция WHERE END WHERE).
  • Встроенные поэлементные процедуры, аргументами которых могут быть как скаляры, так и массивы.
  • Большой набор встроенных процедур для работы с массивами; cреди них часто используемые математические функции.
  • Оператор и конструкция FORALL, которые позволяют специфицировать параллельный цикл (начиная с Фортрана 95).
  • Спецификация PURE для функции без побочного эффекта (начиная с Фортрана 95).

Помимо указанных выше средств поддержки параллельности, в современных стандартах Фортрана имеются и другие черты, косвенно влияющие на параллельность. Разработанные системы параллельного программирования (OpenMP, HPF, MPI, Coarrays и др.) являются фактически расширениями современного Фортрана, они существенно используют новые возможности языка.

Кроме того, современный Фортран (в отличие от предшественников) позволяет разрабатывать программы лучше структурированные, более наглядные; такие программы легче распараллелить. В то же время многие архаизмы могут серьезно затруднить или сделать невозможной распараллеливание программы. Таким образом, программа, написанная на современном Фортране и не использующая устаревшие черты, лучше поддается распараллеливанию, чем программа, написанная на Фортране 77.


© Лаборатория Параллельных информационных технологий, НИВЦ МГУ Rambler's Top100