Tensor core-adaptado multiplicación de matrices dispersas para acelerar redes neuronales profundas dispersas
Autores: Han, Yoonsang; Kim, Inseo; Kim, Jinsung; Moon, Gordon Euhyun
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Tensor core-adaptado multiplicación de matrices dispersas para acelerar redes neuronales profundas dispersas
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Aprendizaje profundo
Computación científica
Tensor Cores
Matriz dispersa
SpMM
Localidad de datos
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 44
Citaciones: Sin citaciones
La multiplicación de matrices dispersas (SpMM) es esencial para modelos de aprendizaje profundo y computación científica. Recientemente, los Tensor Cores (TCs) en GPUs, originalmente diseñados para la multiplicación de matrices densas con precisión mixta, han ganado prominencia. Sin embargo, utilizar TCs para SpMM es desafiante debido a patrones irregulares de acceso a memoria y a un número variable de elementos no nulos en una matriz dispersa. Para mejorar la localidad de los datos, estudios previos han propuesto reordenar las matrices dispersas antes de la multiplicación, pero esto añade sobrecarga computacional. En este documento, proponemos la Multiplicación de Matrices Dispersas Adaptada a Tensor Cores (TCA-SpMM), que aprovecha los TCs sin necesidad de reordenar matrices y utiliza el formato de fila dispersa comprimida (CSR). Para optimizar el uso de TCs, la operación de producto punto del algoritmo SpMM se transforma en una multiplicación de matrices en bloque. Abordar el desequilibrio de carga y minimizar el movimiento de datos son críticos para optimizar el núcleo de SpMM. Nuestro TCA-SpMM asigna dinámicamente bloques de hilos para procesar múltiples filas simultáneamente y utiliza eficientemente la memoria compartida para reducir el movimiento de datos. Los resultados de rendimiento en matrices dispersas del conjunto de datos público de la Colección de Matrices de Aprendizaje Profundo demuestran que TCA-SpMM logra hasta 29.58 veces más velocidad que implementaciones de SpMM de última generación optimizadas con TCs.
Descripción
La multiplicación de matrices dispersas (SpMM) es esencial para modelos de aprendizaje profundo y computación científica. Recientemente, los Tensor Cores (TCs) en GPUs, originalmente diseñados para la multiplicación de matrices densas con precisión mixta, han ganado prominencia. Sin embargo, utilizar TCs para SpMM es desafiante debido a patrones irregulares de acceso a memoria y a un número variable de elementos no nulos en una matriz dispersa. Para mejorar la localidad de los datos, estudios previos han propuesto reordenar las matrices dispersas antes de la multiplicación, pero esto añade sobrecarga computacional. En este documento, proponemos la Multiplicación de Matrices Dispersas Adaptada a Tensor Cores (TCA-SpMM), que aprovecha los TCs sin necesidad de reordenar matrices y utiliza el formato de fila dispersa comprimida (CSR). Para optimizar el uso de TCs, la operación de producto punto del algoritmo SpMM se transforma en una multiplicación de matrices en bloque. Abordar el desequilibrio de carga y minimizar el movimiento de datos son críticos para optimizar el núcleo de SpMM. Nuestro TCA-SpMM asigna dinámicamente bloques de hilos para procesar múltiples filas simultáneamente y utiliza eficientemente la memoria compartida para reducir el movimiento de datos. Los resultados de rendimiento en matrices dispersas del conjunto de datos público de la Colección de Matrices de Aprendizaje Profundo demuestran que TCA-SpMM logra hasta 29.58 veces más velocidad que implementaciones de SpMM de última generación optimizadas con TCs.