ChatPaper.aiChatPaper

Perceptrones Multicapa Completamente Fusionados en GPUs Intel para Centros de Datos

Fully-fused Multi-Layer Perceptrons on Intel Data Center GPUs

March 26, 2024
Autores: Kai Yuan, Christoph Bauinger, Xiangyi Zhang, Pascal Baehr, Matthias Kirchhart, Darius Dabert, Adrien Tousnakhoff, Pierre Boudier, Michael Paulitsch
cs.AI

Resumen

Este artículo presenta una implementación en SYCL de Perceptrones Multicapa (MLPs), diseñada y optimizada para la GPU Intel Data Center GPU Max 1550. Para mejorar el rendimiento, nuestra implementación minimiza los accesos lentos a la memoria global maximizando la reutilización de datos dentro del archivo de registros generales y la memoria local compartida, fusionando las operaciones en cada capa del MLP. Mediante un modelo simple de techo de rendimiento, demostramos que esto resulta en un aumento significativo de la intensidad aritmética, lo que conduce a una mejora en el rendimiento, especialmente en inferencia. Comparamos nuestro enfoque con una implementación similar en CUDA para MLPs y mostramos que nuestra implementación en la GPU Intel supera a la implementación en CUDA en la GPU H100 de Nvidia por un factor de hasta 2.84 en inferencia y 1.75 en entrenamiento. El artículo también destaca la eficiencia de nuestra implementación en SYCL en tres áreas significativas: Compresión de Imágenes, Campos de Radiancia Neural y Aprendizaje Automático Basado en Física. En todos los casos, nuestra implementación supera a la implementación estándar de Intel Extension for PyTorch (IPEX) en la misma GPU Intel por un factor de hasta 30, y a la versión de PyTorch en CUDA en la GPU H100 de Nvidia por un factor de hasta 19. El código está disponible en https://github.com/intel/tiny-dpcpp-nn.
English
This paper presents a SYCL implementation of Multi-Layer Perceptrons (MLPs), which targets and is optimized for the Intel Data Center GPU Max 1550. To increase the performance, our implementation minimizes the slow global memory accesses by maximizing the data reuse within the general register file and the shared local memory by fusing the operations in each layer of the MLP. We show with a simple roofline model that this results in a significant increase in the arithmetic intensity, leading to improved performance, especially for inference. We compare our approach to a similar CUDA implementation for MLPs and show that our implementation on the Intel Data Center GPU outperforms the CUDA implementation on Nvidia's H100 GPU by a factor up to 2.84 in inference and 1.75 in training. The paper also showcases the efficiency of our SYCL implementation in three significant areas: Image Compression, Neural Radiance Fields, and Physics-Informed Machine Learning. In all cases, our implementation outperforms the off-the-shelf Intel Extension for PyTorch (IPEX) implementation on the same Intel GPU by up to a factor of 30 and the CUDA PyTorch version on Nvidia's H100 GPU by up to a factor 19. The code can be found at https://github.com/intel/tiny-dpcpp-nn.

Summary

AI-Generated Summary

PDF101December 15, 2024