NAG Parallel Library
DESCRIPCIÓN
NAG ha desarrollado una librería de paralelismo MPI para todos aquellos involucrados en la verdadera programación en paralelo. Esta librería contiene más de 183 rutinas que se han desarrollado específicamente para su utilización en sistemas de memoria distribuida y 'clusters' de estaciones de trabajo o PCs.
Las interfaces se han mantenido los más parecidas posible a las de las rutinas de la librería Fortran para asegurar una fácil y sencilla integración de forma que los usuarios no necesiten, en general, tener conocimientos sobre MPI. La librería se estructura de forma que los detalles del paso de mensajes queden ocultos al usuario.
MPI proporciona total portabilidad entre plataformas: desde el desarrollo sobre clusters de estaciones de trabajo a grandes sistemas paralelos.
No existe otro producto del mercado que ofrezca la amplia gama de algoritmos y funcionalidades de esta librería:
- aceleración escalable
- portabilidad a través de plataformas Paralelas y SMP (basada en MPI)
Muchas rutinas han sido desarrolladas y probadas en aplicaciones industriales por organizaciones como Piaggio, British Aerospace, Thomson LCR, IBM SEMEA y el Danish Hydraulic Institute.
CARACTERÍSTICAS
La última versión de la NAG Parallel Library proporciona más de 180 rutinas que han sido desarrolladas para sistemas distribuidos de memoria y clusters de estaciones de trabajo y PCs.
No existe otro producto que ofrezca un abanico de algoritmos más amplio que la NAG Parallel Library. Ningún algoritmo es aceptado como parte del software NAG hasta que éste es completamente comprobado, validado y verificado.
La librería utiliza Basic Linear Algebra Communication Subprograms (BLACS) que a su vez utiliza MPI como su núcleo de paso de mensajes e incluye las siguientes áreas:
- Algebra lineal densa (incluye ScaLAPACK)
- Valores propios y problemas de valores singulares
- Entrada/Salida, distribución de datos
- Optimización
- Cuadratura
- Generadores de números aleatorios
- Algebra lineal dispersa
- Resolvedores de matrices dispersas
- Rutinas de soporte/utilidades
La NAG Parallel Library incluye un amplio rango de resolvedores de álgebra lineal densa, muchos de ellos basados en ScaLAPACK, que se pueden aplicar en un amplio abanico de problemas científicos y de ingeniería.
Hay 26 rutinas de álgebra lineal dispersa recientemente paralelizadas para máquinas de memoria distribuida. Esto proporcionara grandes ventajas a aquellos ingenieros con problemas matriciales dispersos y, particularmente, a todos aquellos que trabajen en diseño y producción (i.e. automoción y aerospacial) y a otros usuarios con simulaciones de gran esacala y problemas EDP.
La generación de secuencias de números pseudo-aleatorios independientes es una de las dificultades de las simulaciones de gran escala. Ahora, la NAG Parallel Library proporciona diez rutinas de generación de números aleatorios en paralelo adicionales, que ayudarán al desarrollo de simulaciones de Monte Carlo, frecuentemente utilizadas por los expertos financieros.
SECTORES
La NAG Parallel Library es recomendada a aquellos usuarios con problemas suficientemente grandes como para hacer un uso eficiente de la creciente potencia de procesado y capacidad de memoria de múltiples procesadores.
Está disponible en un amplio rango de plataformas que incluye Linux, SGI 6, Sun Solaris, compaq Alpha, IBM SP3, Hitachi SR8000 y Fujitsu VPP5000.
La NAG Parallel Library permite aprovechar las prestaciones de las máquinas verdaderamente paralelas o redes de estaciones de trabajo comportándose como si se tratara de una única máquina en paralelo.
Esta librería ofrece mayor velocidad de ejecución sobre programas numéricos secuenciales convencionales y, particularmente, en redes de estaciones de trabajo, permite resolver problemas que pueden estar por encima de la capacidad de memoria de una única máquina.
Utiliza una rejilla lógica de procesadores que entonces son asignados en los procesadores físicos disponibles. Las subsecuentes llamadas a las rutinas de la librería se ejecutan en en cada procesador lógico y cooperan para resolver el problema.
El modelo de paralelismo adoptado en la librería es el modelo SPMD (Single Program Multiple Data), y las rutinas de soporte y utilidades proporcionan asistencia al usuario en la programación de acuerdo con este modelo.