[論文レビュー] swTVM: Exploring the Automated Compilation for Deep Learning on Sunway Architecture
swTVM は、Sunway の多数コアアーキテクチャ向けに事前コンパイルを可能にする TVM の拡張であり、コアグループ、DMA、ローカルメモリを活用して高性能なディープラーニング推論を実現する。AlexNet と VGG-19 に対してそれぞれ 6.71倍および 2.45倍の高速化を達成し、Sunway における自動化されたディープラーニングコンパイラソリューションとして初めての実績を示した。生産性と効率性の両面で優れた成果を上げている。
The flourish of deep learning frameworks and hardware platforms has been demanding an efficient compiler that can shield the diversity in both software and hardware in order to provide application portability. Among the exiting deep learning compilers, TVM is well known for its efficiency in code generation and optimization across diverse hardware devices. In the meanwhile, the Sunway many-core processor renders itself as a competitive candidate for its attractive computational power in both scientific and deep learning applications. This paper combines the trends in these two directions. Specifically, we propose swTVM that extends the original TVM to support ahead-of-time compilation for architecture requiring cross-compilation such as Sunway. In addition, we leverage the architecture features during the compilation such as core group for massive parallelism, DMA for high bandwidth memory transfer and local device memory for data locality, in order to generate efficient code for deep learning application on Sunway. The experimental results show the ability of swTVM to automatically generate code for various deep neural network models on Sunway. The performance of automatically generated code for AlexNet and VGG-19 by swTVM achieves 6.71x and 2.45x speedup on average than hand-optimized OpenACC implementations on convolution and fully connected layers respectively. This work is the first attempt from the compiler perspective to bridge the gap of deep learning and high performance architecture particularly with productivity and efficiency in mind. We would like to open source the implementation so that more people can embrace the power of deep learning compiler and Sunway many-core processor.
研究の動機と目的
- 多様なハードウェアおよびソフトウェアスタックにわたるポータブルで効率的なディープラーニングコンパイルの需要が高まっているのに対応する。
- ディープラーニングフレームワークと Sunway のような高性能アーキテクチャ(多数コアプロセッサ)の間のギャップを埋める。
- Sunway における自動化された事前コンパイルを可能にし、クロスコンパイルおよび特殊最適化を要件とする。
- コアグループ、DMA、ローカルメモリといったアーキテクチャ的特徴を活用することで、Sunway におけるディープラーニングワークロードの生産性とパフォーマンスを向上させる。
- DNN モデルを Sunway システムに効率的にデプロイできる再利用可能でオープンソースのコンパイラソリューションを提供する。
提案手法
- TVM に Sunway の多数コアアーキテクチャをターゲットとする事前コンパイルをサポートする拡張を施す。
- Sunway の独自なコンパイルワークフローに適合したクロスコンパイル機能を導入する。
- Sunway のプロセッシングユニット全体にわたる大規模並列処理を活用するため、コアグループ抽象化を活用する。
- グローバルメモリとローカルメモリ間の高帯域幅メモリ転送を最適化するため、DMA メカニズムを活用する。
- データローカリティ最適化のため、ローカルデバイスメモリを活用し、遅延を低減するとともに帯域幅の利用効率を向上させる。
- アーキテクチャ固有の最適化を TVM のコード生成パイプラインに統合し、効率的な低レベルコードを生成する。
実験結果
リサーチクエスチョン
- RQ1Sunway の多数コアアーキテクチャの独自なコンパイルおよび実行モデルを踏まえ、ディープラーニングコンパイラをどのように拡張できるか。
- RQ2ディープニューラルネットワークカーネルの最適化において、Sunway のコアグループ、DMA、ローカルメモリを効果的に活用するにはどのような最適化が最も効果的か。
- RQ3拡張された TVM を用いた自動コード生成により、Sunway における手作業最適化実装と同等またはそれ以上のパフォーマンスを達成できるか。
- RQ4標準的な DNN モデルにおいて、自動生成コードのパフォーマンスは、手でチューニングされた OpenACC 実装と比べてどの程度異なるか。
- RQ5TVM のような統合コンパイラスタックは、Sunway のような新興の高性能アーキテクチャにおいて、ポータブルで効率的なディープラーニングデプロイをどの程度可能にするか。
主な発見
- swTVM は、Sunway アーキテクチャ上でさまざまなディープニューラルネットワークモデルの最適化コードを効果的に生成した。
- AlexNet における自動生成コードは、畳み込み層で手作業最適化された OpenACC 実装よりも平均 6.71 倍の高速化を達成した。
- VGG-19 では、全結合層で自動生成コードが OpenACC 実装よりも平均 2.45 倍の高速化を達成した。
- パフォーマンスの向上は、コアグループや DMA といった Sunway のアーキテクチャ的特徴を自動コンパイルが効果的に活用できることを示している。
- 結果から、swTVM は Sunway における高性能なディープラーニング実行の実現に向けた実用的で生産性の高い道筋を提供していることが検証された。特に、重要なレイヤーで手作業最適化コードを上回る性能を発揮した。
- swTVM のオープンソース化により、コミュニティの広範な採用が促進され、Sunway の多数コアプラットフォームにおけるディープラーニングのさらなる探求が可能になった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。