HOME

TheInfoList



OR:

DAP FORTRAN was an extension of the non IO parts of FORTRAN with constructs that supported parallel computing for the
ICL Distributed Array Processor The Distributed Array Processor (DAP) produced by International Computers Limited (ICL) was the world's first commercial massively parallel computer. The original paper study was complete in 1972 and building of the prototype began in 1974. The fir ...
(DAP). The DAP had a
Single Instruction Multiple Data Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (IS ...
(SIMD) architecture with 64x64 single bit processors. DAP FORTRAN had the following major features: * It had matrix and vector operations. * Assignments could be performed under a logical mask so only some elements in the target of an assignment were changed. * On the negative side - operations were performed using the size of the underlying hardware i.e. on a 64x64 matrix or 64 element vector. In a declaration either one or two extents could be omitted as in: C Multiply vector by matrix REAL M(,), V(), R() R = SUM(M*MATR(A)) C Converge to a Laplace potential in an area 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) RETURN 1 CONTINUE The omitted dimension was taken as 64, the size of one side of the DAP. The speed of arithmetic operations depended strongly on the number of bits in the value. INTEGER*n reserved 8n bits where n is 1 to 8, and REAL*n reserved 8n bits where n is 3 to 8. LOGICAL reserved a single bit. However, DAP FORTRAN fell between two conflicting objectives. It needed to effectively exploit the DAP facilities. But also had to be accessible to the scientific computing community whose primary language, with a design closely tied to serial architectures, was FORTRAN. The dialect used was ICL's 2900-series FORTRAN which was based on an early version of the FORTRAN 77 standard and had mismatches with both FORTRAN 77 and the older FORTRAN 66 standard. DAP FORTRAN was significantly different from either standard FORTRAN and the machine was not capable of accepting or optimising standard FORTRAN programs. On the other hand, compared with other contemporary languages which were by design extensible (notably
ALGOL-68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously de ...
), FORTRAN was less than well suited to this task. The result was noticeably inelegant and did require a great deal of new learning. Operationally, there was an overhead to transfer computational data into and out of the array, and problems which did not fit the 64x64 matrix imposed additional complexity to handle the boundaries (65x65 was perhaps the worst case!) – but for problems which suited the architecture, it could outperform the current
Cray Cray Inc., a subsidiary of Hewlett Packard Enterprise, is an American supercomputer manufacturer headquartered in Seattle, Washington. It also manufactures systems for data storage and analytics. Several Cray supercomputer systems are listed i ...
pipeline architectures by two orders of magnitude. A later version of the DAP used Fortran-Plus instead which was based on FORTRAN 77 and had more flexible indexing. In particular it automatically mapped user sized arrays onto the underlying hardware.


External links


ICL DAP Fortran
* {{cite book , title=Massively parallel computing with the DAP , author1=Dennis Parkinson , author2=John Litt , publisher=Pitman , year=1990 , series=Research monographs in parallel and distributed computing , isbn=978-0-273-08809-7 Concurrent programming languages Fortran programming language family ICL programming languages