DAP FORTRAN era una extensión de las partes no IO de FORTRAN con construcciones que admitían la computación en paralelo para el procesador de matriz distribuida ICL (DAP). El DAP tenía una arquitectura de datos múltiples de instrucción única (SIMD) con procesadores de un solo bit de 64x64.
DAP FORTRAN tenía las siguientes características principales:
- Tenía operaciones matriciales y vectoriales.
- Las asignaciones se pueden realizar bajo una máscara lógica, por lo que solo se cambiaron algunos elementos en el destino de una asignación.
- En el lado negativo, las operaciones se realizaron utilizando el tamaño del hardware subyacente, es decir, en una matriz de 64x64 o un vector de 64 elementos.
En una declaración, se pueden omitir una o dos extensiones como en:
C Multiplica el vector por la matriz REAL M (,), V (), R () R = SUM ( M * MATR ( A )) C Convergen a un potencial de Laplace en un área 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 ) RETORNO 1 CONTINUAR
La dimensión omitida se tomó como 64, el tamaño de un lado del DAP. La velocidad de las operaciones aritméticas dependía en gran medida del número de bits del valor. INTEGER * n reservado 8n bits donde n es de 1 a 8, y REAL * n reservado 8n bits donde n es de 3 a 8. LOGICAL reservó un solo bit.
Sin embargo, DAP FORTRAN se encontraba entre dos objetivos en conflicto. Necesitaba explotar eficazmente las instalaciones de DAP. Pero también tenía que ser accesible para la comunidad científica informática cuyo idioma principal, con un diseño estrechamente ligado a las arquitecturas seriales, era FORTRAN. El dialecto utilizado fue el FORTRAN de la serie 2900 de ICL, que se basaba en una versión anterior del estándar FORTRAN 77 y tenía desajustes tanto con FORTRAN 77 como con el estándar FORTRAN 66 anterior .
DAP FORTRAN era significativamente diferente de cualquier FORTRAN estándar y la máquina no era capaz de aceptar u optimizar programas FORTRAN estándar. Por otro lado, en comparación con otros lenguajes contemporáneos que eran extensibles por diseño (notablemente ALGOL-68 ), FORTRAN no era tan adecuado para esta tarea. El resultado fue notablemente poco elegante y requirió mucho aprendizaje nuevo. Operacionalmente, hubo una sobrecarga para transferir datos computacionales dentro y fuera de la matriz, y los problemas que no se ajustaban a la matriz de 64x64 impusieron una complejidad adicional para manejar los límites (¡65x65 fue quizás el peor de los casos!), Pero para problemas que se adaptaban a la arquitectura. , podría superar las arquitecturas actuales de tuberías de Cray en dos órdenes de magnitud.
Una versión posterior del DAP usó Fortran-Plus en su lugar, que se basó en FORTRAN 77 y tenía una indexación más flexible. En particular, asignó automáticamente matrices de tamaño de usuario al hardware subyacente.
enlaces externos
- ICL DAP Fortran
- Dennis Parkinson; John Litt (1990). Computación masivamente paralela con el DAP . Investiga monografías en computación paralela y distribuida. Minero. ISBN 978-0-273-08809-7.