다프 포트란

DAP FORTRAN

DAP FORTRANFCL DAP(Distributed Array Processor)에 병렬 컴퓨팅을 지원하는 구조를 가진 FORTRAN의 비 IO 파트를 확장한 것이다.DAP는 64x64 단일 비트 프로세서를 갖춘 SIMD(Single Instruction Multiple Data) 아키텍처를 갖추고 있었다.

DAP FORTRAN에는 다음과 같은 주요 기능이 있었다.

  • 매트릭스와 벡터 연산을 했다.
  • 할당을 논리 마스크로 수행할 수 있으므로 할당 대상의 일부 요소만 변경되었다.
  • 부정적인 측면에서는 기본 하드웨어의 크기를 사용하여, 즉 64x64 매트릭스 또는 64 요소 벡터에서 연산이 수행되었다.

선언에서 다음과 같이 하나 또는 두 개의 범위를 생략할 수 있다.

C 벡터를 행렬로 곱하기       진짜M(,), V(), R()       R = SUM(M*MATR(A))  C 어떤 지역의 라플라스 전위로 수렴       진짜P(,), 올드_P(,)       논리적인인사이드(,)       DO1 K = 1, IT 컨페더레이션스       올드_P = P       P(인사이드) = 0.25*(P(,+)+P(,-)+P(+,)+P(-,))       IF (맥스.(ABS(P-올드_P)) .LT. EPS) 리턴     1 계속 

생략된 치수는 DAP의 한쪽 면 크기인 64로 취하였다.산술 연산의 속도는 값의 비트 수에 따라 크게 달라졌다.정수*n은 1 ~ 8인 경우 8n 비트를 예약하고, REAL*n은 3 ~ 8인 경우 8n 비트를 예약했다. 논리적으로 단일 비트를 예약했다.

그러나 DAP FORTRAN은 두 가지 상반되는 목표 사이에 빠졌다.그것은 DAP 시설을 효과적으로 이용할 필요가 있었다.그러나 직렬 아키텍처와 밀접하게 연결된 설계를 가진 1차 언어가 FORTRAN인 과학 컴퓨팅 커뮤니티에도 접근할 수 있어야 했다.사용된 방언은 ICL의 2900 시리즈 FORTRAN으로, FORTRAN 77 표준의 초기 버전을 기반으로 하며 FORTRAN 77과 이전 FORTRAN 66 표준과 모두 일치하지 않았다.

DAP FORTRAN은 표준 FORTRAN과 상당히 다르며 기계는 표준 FORTRAN 프로그램을 수용하거나 최적화할 수 없었다.반면에, 설계 확장 가능(알고리즘-68)에 의한 다른 현대 언어와 비교했을 때, FORTRAN은 이 과제에 그다지 적합하지 않았다.그 결과는 눈에 띄게 부적절했고 많은 새로운 학습이 필요했다.운영상, 컴퓨터 데이터를 어레이 내부와 외부로 전송하기 위한 오버헤드가 있었고, 64x64 매트릭스에 맞지 않는 문제들은 경계를 다루기 위해 추가적인 복잡성을 야기했다(65x65는 아마도 최악의 경우였을 것이다!). 그러나 아키텍처에 맞는 문제들에 대해서는, 현재의 Cray 파이프라인 아키텍처보다 2배 더 뛰어날 수 있었다.o의 크기

이후 버전의 DAP는 FORTRAN 77을 기반으로 하고 보다 유연한 인덱싱을 제공하는 Fortran-Plus를 대신 사용했다.특히 사용자 크기의 어레이를 기본 하드웨어에 자동으로 매핑했다.

외부 링크

  • ICL DAP 포트란
  • Dennis Parkinson; John Litt (1990). Massively parallel computing with the DAP. Research monographs in parallel and distributed computing. Pitman. ISBN 978-0-273-08809-7.