Knowledge (XXG)

DAP FORTRAN

Source 📝

326:), 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 309:
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
305:
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.
321:
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
389: 384: 365: 48:
On the negative side - operations were performed using the size of the underlying hardware i.e. on a 64x64 matrix or 64 element vector.
399: 32: 28: 341:
and had more flexible indexing. In particular it automatically mapped user sized arrays onto the underlying hardware.
45:
Assignments could be performed under a logical mask so only some elements in the target of an assignment were changed.
394: 350: 334: 24: 361: 378: 338: 315: 311: 323: 20: 360:. Research monographs in parallel and distributed computing. Pitman. 52:
In a declaration either one or two extents could be omitted as in:
327: 314:
standard and had mismatches with both FORTRAN 77 and the older
310:
2900-series FORTRAN which was based on an early version of the
35:(SIMD) architecture with 64x64 single bit processors. 330:pipeline architectures by two orders of magnitude. 111:C Converge to a Laplace potential in an area 38:DAP FORTRAN had the following major features: 8: 358:Massively parallel computing with the DAP 19:was an extension of the non IO parts of 7: 356:Dennis Parkinson; John Litt (1990). 42:It had matrix and vector operations. 390:Fortran programming language family 14: 385:Concurrent programming languages 333:A later version of the DAP used 33:Single Instruction Multiple Data 57:C Multiply vector by matrix 29:ICL Distributed Array Processor 23:with constructs that supported 1: 337:instead which was based on 416: 400:ICL programming languages 54: 31:(DAP). The DAP had a 25:parallel computing 367:978-0-273-08809-7 407: 371: 301: 298: 295: 292: 289: 286: 283: 280: 277: 274: 271: 268: 265: 262: 259: 256: 253: 250: 247: 244: 241: 238: 235: 232: 229: 226: 223: 220: 217: 214: 211: 208: 205: 202: 199: 196: 193: 190: 187: 184: 181: 178: 175: 172: 169: 166: 163: 160: 157: 154: 151: 148: 145: 142: 139: 136: 133: 130: 127: 124: 121: 118: 115: 112: 109: 106: 103: 100: 97: 94: 91: 88: 85: 82: 79: 76: 73: 70: 67: 64: 61: 58: 415: 414: 410: 409: 408: 406: 405: 404: 375: 374: 368: 355: 351:ICL DAP Fortran 347: 303: 302: 299: 296: 293: 290: 287: 284: 281: 278: 275: 272: 269: 266: 263: 260: 257: 254: 251: 248: 245: 242: 239: 236: 233: 230: 227: 224: 221: 218: 215: 212: 209: 206: 203: 200: 197: 194: 191: 188: 185: 182: 179: 176: 173: 170: 167: 164: 161: 158: 155: 152: 149: 146: 143: 140: 137: 134: 131: 128: 125: 122: 119: 116: 113: 110: 107: 104: 101: 98: 95: 92: 89: 86: 83: 80: 77: 74: 71: 68: 65: 62: 59: 56: 12: 11: 5: 413: 411: 403: 402: 397: 395:SIMD computing 392: 387: 377: 376: 373: 372: 366: 353: 346: 345:External links 343: 55: 50: 49: 46: 43: 13: 10: 9: 6: 4: 3: 2: 412: 401: 398: 396: 393: 391: 388: 386: 383: 382: 380: 369: 363: 359: 354: 352: 349: 348: 344: 342: 340: 336: 331: 329: 325: 319: 317: 313: 307: 53: 47: 44: 41: 40: 39: 36: 34: 30: 26: 22: 18: 357: 335:Fortran-Plus 332: 320: 308: 304: 51: 37: 16: 15: 17:DAP FORTRAN 379:Categories 339:FORTRAN 77 318:standard. 316:FORTRAN 66 312:FORTRAN 77 156:ITERATIONS 324:ALGOL-68 300:CONTINUE 129:LOGICAL 27:for the 21:FORTRAN 364:  294:RETURN 174:INSIDE 132:INSIDE 273:OLD_P 159:OLD_P 123:OLD_P 114:REAL 60:REAL 362:ISBN 328:Cray 183:0.25 120:(,), 99:MATR 66:(,), 288:EPS 261:ABS 255:MAX 246:,)) 138:DO 135:(,) 126:(,) 87:SUM 72:(), 381:: 282:LT 276:)) 249:IF 231:,) 210:(, 195:(, 108:)) 78:() 370:. 297:1 291:) 285:. 279:. 270:- 267:P 264:( 258:( 252:( 243:- 240:( 237:P 234:+ 228:+ 225:( 222:P 219:+ 216:) 213:- 207:P 204:+ 201:) 198:+ 192:P 189:( 186:* 180:= 177:) 171:( 168:P 165:P 162:= 153:, 150:1 147:= 144:K 141:1 117:P 105:A 102:( 96:* 93:M 90:( 84:= 81:R 75:R 69:V 63:M

Index

FORTRAN
parallel computing
ICL Distributed Array Processor
Single Instruction Multiple Data
FORTRAN 77
FORTRAN 66
ALGOL-68
Cray
Fortran-Plus
FORTRAN 77
ICL DAP Fortran
ISBN
978-0-273-08809-7
Categories
Concurrent programming languages
Fortran programming language family
SIMD computing
ICL programming languages

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.