DAP FORTRAN - DAP FORTRAN

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

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

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

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

C Умножить вектор на матрицу НАСТОЯЩИЙ M(,), V(), р() р = СУММ(M*MATR(А))C сходятся к потенциалу Лапласа в области НАСТОЯЩИЙ п(,), OLD_P(,) ЛОГИЧЕСКИЙ ВНУТРИ(,) ДЕЛАТЬ 1 K = 1, ИТЕРАЦИИ OLD_P = п п(ВНУТРИ) = 0.25*(п(,+)+п(,-)+п(+,)+п(-,)) ЕСЛИ (МАКСИМУМ(АБС(п-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 ICL серии 2900, который был основан на ранней версии FORTRAN 77 стандарт и имел несоответствия как с FORTRAN 77, так и с более ранними FORTRAN 66 стандарт.

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

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

внешние ссылки

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