ChatPaper.aiChatPaper

Perceptrons Multicouches entièrement fusionnés sur les GPU Intel pour centres de données

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

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

Résumé

Cet article présente une implémentation SYCL de perceptrons multicouches (MLP), conçue et optimisée pour le processeur graphique Intel Data Center GPU Max 1550. Pour améliorer les performances, notre implémentation minimise les accès lents à la mémoire globale en maximisant la réutilisation des données dans le fichier de registres généraux et la mémoire locale partagée, grâce à la fusion des opérations dans chaque couche du MLP. Nous démontrons, à l'aide d'un modèle de toit simple, que cela entraîne une augmentation significative de l'intensité arithmétique, conduisant à des performances améliorées, en particulier pour l'inférence. Nous comparons notre approche à une implémentation CUDA similaire pour les MLP et montrons que notre implémentation sur le processeur graphique Intel surpasse l'implémentation CUDA sur le GPU H100 de Nvidia d'un facteur allant jusqu'à 2,84 pour l'inférence et 1,75 pour l'entraînement. L'article met également en lumière l'efficacité de notre implémentation SYCL dans trois domaines majeurs : la compression d'images, les champs de radiance neuronaux et l'apprentissage automatique informé par la physique. Dans tous les cas, notre implémentation surpasse l'implémentation standard Intel Extension for PyTorch (IPEX) sur le même GPU Intel d'un facteur allant jusqu'à 30, et la version CUDA de PyTorch sur le GPU H100 de Nvidia d'un facteur allant jusqu'à 19. Le code est disponible à l'adresse 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