stringtranslate.com

DAP FORTRAN

DAP FORTRAN era una extensión de las partes no IO de FORTRAN con construcciones que admitían computación paralela para el procesador de matriz distribuida (DAP) ICL. El DAP tenía una arquitectura SIMD ( Instrucción única de datos múltiples ) con procesadores de un solo bit de 64x64.

DAP FORTRAN tenía las siguientes características principales:

En una declaración se podrían omitir una o dos extensiones como en:

C Multiplicar vector por matriz REAL M (,), V (), R () R = SUMA ( M * MATR ( A ))        C Convergen a un potencial de Laplace en un área REAL P (,), OLD_P (,) LÓGICO INTERNO (,) DO 1 K = 1 , ITERACIONES OLD_P = P P ( INTERIOR ) = 0.25 * ( P (, + ) + P ( , - ) + P ( + ,) + P ( - ,)) IF ( MAX ( ABS ( P - OLD_P ) . LT . EPS ) VOLVER  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. LÓGICO reservado un solo bit.

Sin embargo, DAP FORTRAN se encontraba entre dos objetivos contradictorios. Necesitaba explotar eficazmente las instalaciones del DAP. Pero también tenía que ser accesible para la comunidad informática científica cuyo idioma principal, con un diseño estrechamente ligado a las arquitecturas en serie, era FORTRAN. El dialecto utilizado fue el FORTRAN serie 2900 de ICL, que se basó en una versión anterior del estándar FORTRAN 77 y no coincidía tanto con FORTRAN 77 como con el antiguo estándar FORTRAN 66 .

DAP FORTRAN era significativamente diferente de cualquiera de los 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 (en particular ALGOL-68 ), FORTRAN no era muy adecuado para esta tarea. El resultado fue notablemente poco elegante y requirió una gran cantidad de aprendizaje nuevo. Operativamente, había una sobrecarga para transferir datos computacionales dentro y fuera de la matriz, y los problemas que no se ajustaban a la matriz de 64x64 imponían una complejidad adicional para manejar los límites (¡65x65 era quizás el peor de los casos!), excepto para los problemas que se adaptaban a la arquitectura. , podría superar las arquitecturas actuales del oleoducto Cray en dos órdenes de magnitud.

Una versión posterior del DAP utilizó Fortran-Plus, que se basó en FORTRAN 77 y tenía una indexación más flexible. En particular, mapeó automáticamente matrices del tamaño del usuario en el hardware subyacente.

enlaces externos