logo móvil
Contáctanos

Aprovechando la superposición de copia de memoria para una multiplicación eficiente de matriz-vector dispersa en GPUs

Autores: Zeng, Guangsen; Zou, Yi

Idioma: Inglés

Editor: MDPI

Año: 2023

Descargar PDF

Acceso abierto

Artículo científico
2023

Aprovechando la superposición de copia de memoria para una multiplicación eficiente de matriz-vector dispersa en GPUs


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería Eléctrica y Electrónica

Palabras clave

Multiplicación de matriz-vector dispersa
Formato CSR
Plataformas de computación GPU
Arquitectura de GPU Ampere
Instrucción de copia de memoria asíncrona
Equilibrio de carga

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 33

Citaciones: Sin citaciones


Descripción
La multiplicación de matriz-vector dispersa (SpMV) es fundamental para muchas aplicaciones científicas, de ingeniería y otras, incluido el aprendizaje automático. La fila comprimida dispersa (CSR) es un formato de almacenamiento de matriz dispersa ampliamente utilizado. SpMV utilizando el formato CSR en plataformas de computación GPU es ampliamente estudiado, donde el comportamiento de acceso de la GPU suele ser el cuello de botella de rendimiento. La arquitectura de GPU Ampere recientemente de NVIDIA proporciona una nueva instrucción de copia de memoria asíncrona, para un movimiento de datos más eficiente en la memoria compartida. Aprovechando la capacidad de esta nueva instrucción, primero proponemos superponer cuidadosamente la copia de datos desde la memoria global a la memoria compartida y la computación, lo que nos permite aprovechar al máximo el tiempo de transferencia de datos. Además, diseñamos la partición dinámica de lotes y la distribución dinámica de hilos para lograr un equilibrio de carga efectivo, evitar los costos adicionales de corregir sumas parciales y mejorar la utilización de hilos. Además, proponemos el basado en el CSR-Partial-Overlap, que tiene en cuenta la superposición de la transferencia de datos del host al dispositivo y la ejecución del núcleo SpMV también. El CSR-Full-Overlap unifica las dos superposiciones principales en SpMV y oculta la computación tanto como sea posible en los dos comportamientos de acceso importantes de la GPU. Esto permite que CSR-Full-Overlap logre los mejores aumentos de rendimiento de ambas superposiciones. Hasta donde sabemos, este documento es el primer estudio en profundidad de cómo potencialmente se puede aplicar para ayudar a acelerar la computación de SpMV en plataformas GPU. Comparamos CSR-Full-Overlap con el estado del arte actual cuSPARSE, donde nuestros resultados experimentales muestran una ganancia de rendimiento promedio de 2.03x y hasta 2.67x de ganancia de rendimiento.

Otros recursos que podrían interesarte

Temas Virtualpro