Lenguaje de programación XcalableMP PGAS: Del modelo de programación a las aplicaciones.

XcalableMP es un lenguaje de programación paralelo basado en directivas basado en Fortran y C, que admite un modelo de espacio de direcciones global particionado (PGAS) para sistemas paralelos de memoria distribuida. Este libro de acceso abierto presenta el lenguaje XcalableMP desde su modelo de programación y concepto básico hasta la experiencia y desempeño de las aplicaciones descritas en XcalableMP.

XcalableMP se tomó como un proyecto de lenguaje de programación paralelo en el proyecto FLAGSHIP 2020, que debía desarrollar la supercomputadora insignia japonesa, Fugaku, para mejorar la productividad de la programación paralela. XcalableMP ahora está disponible en Fugaku y su rendimiento se ve mejorado por la interconexión de Fugaku, Tofu-D.

El modelo de programación de vista global de XcalableMP, heredado de High-Performance Fortran (HPF), proporciona una solución fácil y útil para paralelizar programas de datos paralelos con directivas para distribución global distribuida y distribución de trabajo y comunicación en la sombra. La programación de vista local adopta la notación coarray de Coarray Fortran (CAF) para describir la comunicación explícita en un modelo PGAS. La especificación del lenguaje fue diseñada y propuesta por el Grupo de Trabajo de Especificación XcalableMP organizado en el PC Consortium, Japón.

El compilador Omni XcalableMP es una implementación de referencia a nivel de producción del compilador XcalableMP para C y Fortran 2008, desarrollado por RIKEN CCS y la Universidad de Tsukuba. El rendimiento del programa XcalableMP se utilizó tanto en Fugaku como en la computadora K. Un estudio de rendimiento mostró que XcalableMP permite un rendimiento escalable comparable a la versión de interfaz de paso de mensajes (MPI) con un estilo de programación limpio y fácil de entender que requiere poco esfuerzo.

Contenido:

  • Modelo y lenguaje de programación XcalableMP
  • Implementación y evaluación del rendimiento de Omni Compiler
  • Coarrays en el contexto de XcalableMP
  • XcalableACC: una integración de XcalableMP y OpenACC
  • Programación de lenguajes mixtos con XcalableMP
  • Código de fluido tridimensional con XcalableMP
  • Programación de vista híbrida del código de simulación de fusión nuclear en XcalableMP
  • Paralelización de la reconstrucción de imágenes atómicas a partir de hologramas de fluorescencia de rayos X con XcalableMP
  • Modelo de programación multi-SPMD con YML y XcalableMP
  • XcalableMP 2.0 y direcciones futuras
Fuente: Springer Link