ChatPaper.aiChatPaper

Perceptroni Multi-Livello Completamente Fusi su GPU Intel per Data Center

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

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

Abstract

Questo articolo presenta un'implementazione SYCL di Multi-Layer Perceptron (MLP), ottimizzata e specificamente progettata per la GPU Intel Data Center GPU Max 1550. Per aumentare le prestazioni, la nostra implementazione minimizza gli accessi lenti alla memoria globale massimizzando il riutilizzo dei dati all'interno del registro generale e della memoria locale condivisa, fondendo le operazioni in ciascun livello dell'MLP. Dimostriamo, attraverso un semplice modello roofline, che ciò comporta un significativo aumento dell'intensità aritmetica, portando a miglioramenti nelle prestazioni, specialmente per l'inferenza. Confrontiamo il nostro approccio con un'implementazione CUDA simile per MLP e mostriamo che la nostra implementazione sulla GPU Intel supera l'implementazione CUDA sulla GPU Nvidia H100 di un fattore fino a 2,84 nell'inferenza e 1,75 nell'addestramento. L'articolo evidenzia inoltre l'efficienza della nostra implementazione SYCL in tre aree significative: Compressione delle Immagini, Campi di Radianza Neurale e Machine Learning con Fisica Integrata. In tutti i casi, la nostra implementazione supera l'implementazione predefinita di Intel Extension for PyTorch (IPEX) sulla stessa GPU Intel di un fattore fino a 30 e la versione CUDA di PyTorch sulla GPU Nvidia H100 di un fattore fino a 19. Il codice è disponibile all'indirizzo 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.
PDF101February 7, 2026