ChatPaper.aiChatPaper

Perceptrons Multicamadas Totalmente Fundidos em GPUs Intel para Data Centers

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

Resumo

Este artigo apresenta uma implementação em SYCL de Perceptrons Multicamadas (MLPs), que é direcionada e otimizada para a GPU Intel Data Center Max 1550. Para aumentar o desempenho, nossa implementação minimiza os acessos lentos à memória global, maximizando a reutilização de dados no arquivo de registradores gerais e na memória local compartilhada, por meio da fusão das operações em cada camada do MLP. Demonstramos com um modelo simples de roofline que isso resulta em um aumento significativo na intensidade aritmética, levando a uma melhoria no desempenho, especialmente para inferência. Comparamos nossa abordagem com uma implementação semelhante em CUDA para MLPs e mostramos que nossa implementação na GPU Intel Data Center supera a implementação em CUDA na GPU H100 da Nvidia por um fator de até 2,84 em inferência e 1,75 em treinamento. O artigo também demonstra a eficiência de nossa implementação em SYCL em três áreas significativas: Compressão de Imagens, Campos de Radiação Neural e Aprendizado de Máquina com Base em Física. Em todos os casos, nossa implementação supera a implementação padrão da Extensão Intel para PyTorch (IPEX) na mesma GPU Intel por um fator de até 30 e a versão CUDA do PyTorch na GPU H100 da Nvidia por um fator de até 19. O código pode ser encontrado em 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