yukarinoki / reseach

0 stars 0 forks source link

A Versatile Software Systolic Execution Model for GPU Memory-Bound Kernels #21

Closed yukarinoki closed 1 year ago

yukarinoki commented 1 year ago

https://arxiv.org/abs/1907.06154

シストリックアレイインスパイアの一定の普遍的な実装の工夫を提案しているらしい。 cuDNNよりも3x3のconvolutionの実行時間が短い。というかグラフを見るとcuDNNが遅い!、そんなことあるのか??

この論文では、CUDA対応GPU上で動作するメモリバウンドのレギュラーカーネル向けに、システムリックアレイに触発された汎用性の高い高性能実行モデルを提案します。計算のためにCUDAワーププリミティブによって部分和を移動するシステムリックモデルを形成します。また、レジスタファイルをキャッシュリソースとして利用し、全体のモデルを効率的に動作させます。私たちは、HPCで一般的に見られる様々なステンシルカーネル、および畳み込みカーネル(深層学習ワークロードでますます重要になっている)に対する提案モデルの効果性と汎用性を示します。我々のアルゴリズムは、最新のNvidiaアーキテクチャであるTesla V100とP100上で、洗練された時間的および空間的ブロッキング技術を用いた最高のステンシル実装を含む、最先端のステンシル実装を上回ります。一般的なフィルターサイズと形状の2D畳み込みに対して、我々のアルゴリズムはV100とP100 GPU上のNvidiaのNPPよりも平均で2.5倍速いです。