DAP ФОРТРАН

DAP FORTRAN был расширением частей FORTRAN, не относящихся к IO , с конструкциями, которые поддерживали параллельные вычисления для ICL Distributed Array Processor (DAP). DAP имел архитектуру Single Instruction Multiple Data (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 , ИТЕРАЦИЙ 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. С другой стороны, по сравнению с другими современными языками, которые по своей сути были расширяемыми (особенно ALGOL-68 ), FORTRAN был не слишком хорошо приспособлен для этой задачи. Результат был заметно неэлегантным и требовал большого количества нового обучения. С точки зрения эксплуатации, были накладные расходы на передачу вычислительных данных в массив и из него, а проблемы, которые не укладывались в матрицу 64x64, налагали дополнительную сложность на обработку границ (65x65, возможно, был наихудшим случаем!) – но для проблем, которые подходили архитектуре, он мог превзойти текущие архитектуры конвейеров Cray на два порядка.

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

  • ICL DAP Фортран
  • Деннис Паркинсон; Джон Литт (1990). Массовые параллельные вычисления с DAP . Исследовательские монографии по параллельным и распределенным вычислениям. Питман. ISBN 978-0-273-08809-7.
Взято с "https://en.wikipedia.org/w/index.php?title=DAP_FORTRAN&oldid=1084241045"