Tensor Slicing and Optimization for Multicore NPUs

要約

タイトル:マルチコアNPU向けのテンソルスライシングと最適化

要約:
– CNNモデルのコード生成には広く取り組まれてきたが、高度に制限されたマルチコアニューラルプロセッサユニット(NPU)の効率的なデータスライシングと並列化は、依然として課題である。
– 畳み込みの入出力テンソルのサイズとNPUオンチップメモリの小さな印象から、メモリトランザクションを最小限に抑えながら、並列性とMACの利用を最大化することが、効果的なソリューションにとって重要である。
– これらの問題を解決するために、TensorFlow XLA/LLVMコンパイラの最適化プロセスであるTensor Slicing Optimization(TSO)が提案された。TSOは、(a) NPUコア全体での畳み込みの並列性とメモリ使用率を最大化し、(b) DRAMメモリバースト時間の推定を使用してテンソルスライシングを誘導することで、ホストとNPUオンチップメモリ間のデータ転送を減らす。
– NeuroMorphic Processor(NMP)を使用して一連の実験が行われた。NMPは、新しいCNN命令を拡張した32個のRISC-Vコアを含むマルチコアNPUである。実験結果は、TSOが一連のCNNモデルの実行時間を最小化する最良のテンソルスライシングを特定することができることを示している。TSOバーストベースの技術とバーストなしのデータスライシングアプローチを比較した場合、最大21.7%の加速が得られた。
– TSOアプローチの汎用性を検証するために、アルゴリズムはGlow Machine Learningフレームワークにも移植された。モデルのパフォーマンスはGlowとTensorFlow XLA/LLVMコンパイラの両方で測定され、類似した結果が得られた。

要約(オリジナル)

Although code generation for Convolution Neural Network (CNN) models has been extensively studied, performing efficient data slicing and parallelization for highly-constrai\-ned Multicore Neural Processor Units (NPUs) is still a challenging problem. Given the size of convolutions’ input/output tensors and the small footprint of NPU on-chip memories, minimizing memory transactions while maximizing parallelism and MAC utilization are central to any effective solution. This paper proposes a TensorFlow XLA/LLVM compiler optimization pass for Multicore NPUs, called Tensor Slicing Optimization (TSO), which: (a) maximizes convolution parallelism and memory usage across NPU cores; and (b) reduces data transfers between host and NPU on-chip memories by using DRAM memory burst time estimates to guide tensor slicing. To evaluate the proposed approach, a set of experiments was performed using the NeuroMorphic Processor (NMP), a multicore NPU containing 32 RISC-V cores extended with novel CNN instructions. Experimental results show that TSO is capable of identifying the best tensor slicing that minimizes execution time for a set of CNN models. Speed-ups of up to 21.7\% result when comparing the TSO burst-based technique to a no-burst data slicing approach. To validate the generality of the TSO approach, the algorithm was also ported to the Glow Machine Learning framework. The performance of the models were measured on both Glow and TensorFlow XLA/LLVM compilers, revealing similar results.

arxiv情報

著者 Rafael Sousa,Marcio Pereira,Yongin Kwon,Taeho Kim,Namsoon Jung,Chang Soo Kim,Michael Frank,Guido Araujo
発行日 2023-04-06 12:03:03+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

カテゴリー: cs.AR, cs.CV, cs.PF パーマリンク