Un grupo de académicos analizaron cómo podría acelerarse con Open Source el rendimiento de una supercomputadora. La creación de supercomputadoras potentes y el desarrollo de programas rápidos y eficaces es la forma en que se preparan las herramientas para resolver los desafíos globales más complejos y creen que el código abierto es una posibilidad real utilizando aceleradores de GPU.
Investigadores del Laboratorio Internacional HSE de Modelado Atomístico de Supercomputadoras y Análisis de Escalas Múltiples, JIHT RAS y MIPT han comparado el desempeño de programas populares de modelado molecular en aceleradores de GPU producidos por AMD y Nvidia. En un artículo publicado por la Revista Internacional de Aplicaciones de Computación de Alto Rendimiento, los académicos trasladaron LAMMPS a la nueva tecnología de GPU de código abierto, AMD HIP, por primera vez.
Ventajas e inconvenientes de la Tecnología GPU de código abierto para supercomputadoras
Los académicos analizaron a fondo el rendimiento de tres programas de modelado molecular ( LAMMPS , Gromacs y OpenMM ) en aceleradores de GPU Nvidia y AMD con parámetros de picos comparables. Para las pruebas, utilizaron el modelo de ApoA1 (apolipoproteína A1), apolipoproteína en el plasma sanguíneo, la principal proteína transportadora del «colesterol bueno». Descubrieron que el rendimiento de los cálculos de investigación está influenciado no solo por los parámetros del hardware, sino también por el entorno del software. Resultó que el rendimiento ineficaz de los controladores AMD en escenarios complicados de lanzamiento paralelo de núcleos informáticos puede provocar retrasos considerables. Las soluciones de código abierto todavía tienen sus desventajas.
En el artículo publicado recientemente, los investigadores fueron los primeros en trasladar LAMMPS a una nueva tecnología de GPU de código abierto, AMD HIP. Esta tecnología en desarrollo parece muy prometedora, ya que ayuda a utilizar de forma eficaz un código tanto en los aceleradores de Nvidia como en las nuevas GPU de AMD. La modificación de LAMMPS desarrollada se ha publicado como código abierto y está disponible en el repositorio oficial: los usuarios de todo el mundo pueden utilizarla para acelerar sus cálculos.
Los autores del artículo argumentan que la participación en la carrera tecnológica de los gigantes de la microelectrónica contemporánea demuestra una tendencia obvia hacia una mayor variedad de tecnologías de aceleración de GPU.
En 2020, el mercado de aceleradores gráficos experimentó un déficit creciente. Las áreas populares de su uso son bien conocidas: minería de criptomonedas y tareas de aprendizaje automático. Mientras tanto, la investigación científica también requiere aceleradores GPU para el modelado matemático de nuevos materiales y moléculas biológicas.
Los programas más importantes de modelado matemático son desarrollados por equipos internacionales y académicos de decenas de instituciones. El desarrollo se lleva a cabo dentro del paradigma de código abierto y bajo licencias libres. La competencia de dos gigantes de la microelectrónica contemporáneos, Nvidia y AMD, ha llevado al surgimiento de una nueva infraestructura de código abierto para la programación de aceleradores de GPU, AMD ROCm. El carácter de código abierto de esta plataforma da la esperanza de una máxima portabilidad de los códigos desarrollados con su uso a supercomputadoras de varios tipos. Tal estrategia de AMD es diferente del enfoque de Nvidia, cuya tecnología CUDA es un estándar cerrado.
No pasó mucho tiempo para ver la respuesta de la comunidad académica.
Los proyectos de las nuevas supercomputadoras más grandes basados en aceleradores de GPU de AMD están a punto de completarse
La supercomputadora Lumi en Finlandia con 0,5 exaFLOPS de rendimiento (¡que es similar al rendimiento de 1.500.000 portátiles!) Se está construyendo rápidamente. Este año, se espera una supercomputadora más potente, Frontier , en los EE. UU. (1,5 exaFLOPS), y en 2023, se espera un El Capitán aún más potente (2 exaFLOPS).
Vsevolod Nikolskiy, estudiante de doctorado de la Universidad de HSE y uno de los autores del artículo, explica que analizaron y compararon a fondo los subsistemas de memoria del acelerador de GPU de las arquitecturas Nvidia Volta y AMD Vega20. Encontraron una diferencia en la lógica del lanzamiento paralelo de kernels de GPU y la demostró visualizando los perfiles del programa. Tanto el ancho de banda de la memoria como las latencias de los diferentes niveles de jerarquía de la memoria de la GPU, así como la ejecución paralela efectiva de los núcleos de la GPU, todos estos aspectos tienen un gran impacto en el rendimiento real de los programas de la GPU.
Este hecho es positivo para los usuarios finales, ya que estimula la competencia, la efectividad creciente y el costo decreciente de las supercomputadoras, añade Vladimir Stegailov (profesor de la Universidad de HSE).
Por otro lado, será aún más difícil desarrollar programas efectivos debido a la necesidad de considerar la disponibilidad de varios tipos diferentes de arquitecturas de GPU y tecnologías de programación. Incluso admitir la portabilidad del programa para procesadores ordinarios en diferentes arquitecturas (x86, Arm, POWER) es a menudo complicado. La portabilidad de programas entre diferentes plataformas de GPU es un tema mucho más complicado. El paradigma de código abierto elimina muchas barreras y ayuda a los desarrolladores de software de supercomputadora grande y complicado.
La creación de supercomputadoras potentes y el desarrollo de programas rápidos y eficaces es la forma en que se preparan las herramientas para resolver los desafíos globales más complejos, como la pandemia de COVID-19, añade Nikolay Kondratyuk (investigador de la Universidad de HSE y uno de los autores del artículo), quien explica que las herramientas de computación para el modelado molecular se utilizan en la actualidad a nivel mundial para buscar formas de combatir el virus.
Paper: GPU-accelerated molecular dynamics: State-of-art software performance and porting from Nvidia CUDA to AMD HIP.
Nikolay Kondratyuk, Vsevolod Nikolskiy, Daniil Pavlov, Vladimir Stegailov
https://doi.org/10.1177/10943420211008288
Fuente: hse.ru