インテルデータセンターGPU向け完全融合型多層パーセプトロン
Fully-fused Multi-Layer Perceptrons on Intel Data Center GPUs
March 26, 2024
著者: Kai Yuan, Christoph Bauinger, Xiangyi Zhang, Pascal Baehr, Matthias Kirchhart, Darius Dabert, Adrien Tousnakhoff, Pierre Boudier, Michael Paulitsch
cs.AI
要旨
本論文では、Intel Data Center GPU Max 1550をターゲットに最適化されたマルチレイヤーパーセプトロン(MLP)のSYCL実装を提案する。性能向上のために、我々の実装では、MLPの各層における演算を融合させることで、汎用レジスタファイルと共有ローカルメモリ内でのデータ再利用を最大化し、低速なグローバルメモリアクセスを最小化している。シンプルなルーフラインモデルを用いて、これが演算強度の大幅な向上をもたらし、特に推論において性能が向上することを示す。我々のアプローチをMLP用の類似したCUDA実装と比較し、Intel Data Center GPU上での我々の実装が、NvidiaのH100 GPU上のCUDA実装に対して、推論では最大2.84倍、学習では最大1.75倍の性能を発揮することを示す。また、本論文では、画像圧縮、ニューラルラジアンスフィールド、物理情報機械学習という3つの重要な領域において、我々のSYCL実装の効率性を実証する。全てのケースにおいて、我々の実装は、同じIntel GPU上の標準的なIntel Extension for PyTorch(IPEX)実装に対して最大30倍、NvidiaのH100 GPU上のCUDA PyTorchバージョンに対して最大19倍の性能を発揮する。コードは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