Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

DAP FORTRAN был расширением частей FORTRAN без ввода-вывода с конструкциями, которые поддерживали параллельные вычисления для процессора распределенных массивов ICL (DAP). У DAP была архитектура с одной инструкцией и множественными данными (SIMD) с одноразрядными процессорами 64x64.

DAP FORTRAN имел следующие основные особенности:

  • В нем были матричные и векторные операции.
  • Назначения можно было выполнять под логической маской, поэтому были изменены только некоторые элементы в цели назначения.
  • С отрицательной стороны - операции выполнялись с использованием размера базового оборудования, то есть с матрицей 64x64 или вектором из 64 элементов.

В объявлении можно опустить один или два экстента, как в:

C Умножить вектор на матрицу REAL M (,), V (), R () R = SUM ( M * MATR ( A ))        C сходятся к потенциалу Лапласа в области REAL P (,), OLD_P (,) LOGICAL INSIDE (,) DO 1 K = 1 , ITERATIONS OLD_P = P P ( INSIDE ) = 0,25 * ( P (, + ) + P ( , - ) + P ( + ,) + P ( - ,)) IF ( MAX ( ABS ( P                      - OLD_P ))  . LT .  EPS )  ВОЗВРАТ  1  ПРОДОЛЖИТЬ

Пропущенный размер был взят за 64, размер одной стороны DAP. Скорость арифметических операций сильно зависит от количества бит в значении. INTEGER * n зарезервировал 8n бит, где n от 1 до 8, а REAL * n зарезервировал 8n бит, где n от 3 до 8. LOGICAL зарезервировал один бит.

Однако DAP FORTRAN оказался между двумя противоречащими друг другу целями. Требовалось эффективно использовать возможности DAP. Но также должен был быть доступен для научного компьютерного сообщества, основным языком которого, с дизайном, тесно связанным с последовательными архитектурами, был FORTRAN. Используемый диалект был FORTRAN серии 2900 от ICL, который был основан на ранней версии стандарта FORTRAN 77 и имел несоответствия как с FORTRAN 77, так и с более старым стандартом FORTRAN 66 .

DAP FORTRAN значительно отличался от стандартного FORTRAN, и машина не могла принимать или оптимизировать стандартные программы FORTRAN. С другой стороны, по сравнению с другими современными языками, которые изначально были расширяемыми (в частности, АЛГОЛ-68 ), FORTRAN был менее чем хорошо приспособлен для этой задачи. Результат был заметно неэлегантным и потребовал много нового обучения. С эксплуатационной точки зрения возникали накладные расходы на перенос вычислительных данных в массив и из него, а проблемы, которые не соответствовали матрице 64x64, вызывали дополнительную сложность обработки границ (65x65 было, возможно, наихудшим случаем!) - но для проблем, которые подходили для архитектуры , он может превзойти текущие архитектуры конвейеров Cray на два порядка.

В более поздней версии DAP вместо него использовался Fortran-Plus, который был основан на FORTRAN 77 и имел более гибкую индексацию. В частности, он автоматически отображал массивы пользовательского размера на базовое оборудование.

Внешние ссылки [ править ]

  • ICL DAP Фортран
  • Деннис Паркинсон; Джон Литт (1990). Массивно-параллельные вычисления с DAP . Монографии исследований в области параллельных и распределенных вычислений. Питман. ISBN 978-0-273-08809-7.