Elegant: Una herramienta de configuración de hilos basada en aprendizaje automático para cálculos SpMV en arquitectura de memoria compartida
Autores: Ahmad, Muhammad; Sardar, Usman; Batyrshin, Ildar; Hasnain, Muhammad; Sajid, Khan; Sidorov, Grigori
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Elegant: Una herramienta de configuración de hilos basada en aprendizaje automático para cálculos SpMV en arquitectura de memoria compartida
Categoría
Gestión y administración
Subcategoría
Gestión de la tecnología y la inovación
Palabras clave
Producto de matriz dispersa por vector
SpMV
Aprendizaje automático
Configuración de hilos
Optimización del rendimiento
Memoria compartida
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 1
Citaciones: Sin citaciones
El producto de matriz dispersa-vector (SpMV) es un núcleo computacional fundamental utilizado en una amplia gama de aplicaciones científicas y de ingeniería. Se utiliza comúnmente para resolver ecuaciones lineales y diferenciales parciales. La computación paralela del producto SpMV es una tarea desafiante. Las soluciones existentes a menudo emplean una asignación de un número fijo de hilos a las filas basada en fórmulas empíricas, lo que lleva a configuraciones subóptimas y pérdidas de rendimiento significativas. Elegante, nuestra herramienta propuesta impulsada por aprendizaje automático, utiliza un enfoque basado en datos para identificar la configuración óptima de hilos para las computaciones SpMV dentro de una arquitectura de memoria compartida. Logra esto prediciendo la mejor configuración de hilos basada en el patrón de dispersión único de cada matriz dispersa. Nuestro enfoque implica entrenar y probar utilizando varios algoritmos de aprendizaje automático base y de conjunto, como árbol de decisión, bosque aleatorio, aumento de gradiente, regresión logística y máquina de soporte vectorial. Experimentamos rigurosamente con un conjunto de datos de casi 1000 matrices del mundo real. Estas matrices provienen de 46 dominios de aplicación distintos, abarcando campos como robótica, redes eléctricas, mallas 2D/3D y dinámica de fluidos computacional. Nuestra metodología propuesta logró el 62% del rendimiento más alto alcanzable y es 7.33 veces más rápida, demostrando una disparidad significativa con respecto a la política de configuración predeterminada de OpenMP y los métodos de práctica tradicionales de seleccionar manual o aleatoriamente el número de hilos. Este trabajo es el primer intento en el que se utiliza la estructura de la matriz para predecir la configuración óptima de hilos para la optimización de la computación paralela SpMV en un entorno de memoria compartida.
Descripción
El producto de matriz dispersa-vector (SpMV) es un núcleo computacional fundamental utilizado en una amplia gama de aplicaciones científicas y de ingeniería. Se utiliza comúnmente para resolver ecuaciones lineales y diferenciales parciales. La computación paralela del producto SpMV es una tarea desafiante. Las soluciones existentes a menudo emplean una asignación de un número fijo de hilos a las filas basada en fórmulas empíricas, lo que lleva a configuraciones subóptimas y pérdidas de rendimiento significativas. Elegante, nuestra herramienta propuesta impulsada por aprendizaje automático, utiliza un enfoque basado en datos para identificar la configuración óptima de hilos para las computaciones SpMV dentro de una arquitectura de memoria compartida. Logra esto prediciendo la mejor configuración de hilos basada en el patrón de dispersión único de cada matriz dispersa. Nuestro enfoque implica entrenar y probar utilizando varios algoritmos de aprendizaje automático base y de conjunto, como árbol de decisión, bosque aleatorio, aumento de gradiente, regresión logística y máquina de soporte vectorial. Experimentamos rigurosamente con un conjunto de datos de casi 1000 matrices del mundo real. Estas matrices provienen de 46 dominios de aplicación distintos, abarcando campos como robótica, redes eléctricas, mallas 2D/3D y dinámica de fluidos computacional. Nuestra metodología propuesta logró el 62% del rendimiento más alto alcanzable y es 7.33 veces más rápida, demostrando una disparidad significativa con respecto a la política de configuración predeterminada de OpenMP y los métodos de práctica tradicionales de seleccionar manual o aleatoriamente el número de hilos. Este trabajo es el primer intento en el que se utiliza la estructura de la matriz para predecir la configuración óptima de hilos para la optimización de la computación paralela SpMV en un entorno de memoria compartida.