MEニュース、4月7日(UTC+8)。PyTorch公式チームは近日、CuteDSLを第4の行列乗算自動チューニングバックエンドとして統合し、TorchInductorに組み込んだことを発表した。このバックエンドの選定は3つの基準に基づく。過度なメンテナンス負担を増やさないこと、コンパイルやベンチマークテストの時間を長引かせないこと、そして対象のワークロードでより良い性能を提供することだ。CuteDSLはNVIDIAが積極的に開発しており、最適化されたカーネルテンプレートを提供する。コンパイル時間は既存のバックエンドと同等であり、完全な \nvcc\ コンパイルが必要な CUTLASS C++ パスに比べて大幅に優れている。このバックエンドは、CUTLASS C++ と同じ抽象に基づいて構築され、Pythonで書かれているため、コンパイルが速く、メンテナンスもより簡単である。FP8 GEMMとEpilogueの融合の面で、その強力な性能が実証されている。チームは、Transformerモデルにおいて主要な計算コストを占めるため、GEMM(行列乗算)の最適化に注力している。CuteDSLは、手作業で最適化されたテンプレートを提供することで基盤となるコードを生成し、ゼロからカーネルを書く複雑さを回避する。また、スレッドとメモリ階層構造を完全に公開し、アーキテクチャ固有の機能をサポートする。(出典:InFoQ)
PyTorch TorchInductor は、行列乗算の自動チューニング用バックエンドとして CuteDSL を統合
MEニュース、4月7日(UTC+8)。PyTorch公式チームは近日、CuteDSLを第4の行列乗算自動チューニングバックエンドとして統合し、TorchInductorに組み込んだことを発表した。このバックエンドの選定は3つの基準に基づく。過度なメンテナンス負担を増やさないこと、コンパイルやベンチマークテストの時間を長引かせないこと、そして対象のワークロードでより良い性能を提供することだ。CuteDSLはNVIDIAが積極的に開発しており、最適化されたカーネルテンプレートを提供する。コンパイル時間は既存のバックエンドと同等であり、完全な \nvcc\ コンパイルが必要な CUTLASS C++ パスに比べて大幅に優れている。このバックエンドは、CUTLASS C++ と同じ抽象に基づいて構築され、Pythonで書かれているため、コンパイルが速く、メンテナンスもより簡単である。FP8 GEMMとEpilogueの融合の面で、その強力な性能が実証されている。チームは、Transformerモデルにおいて主要な計算コストを占めるため、GEMM(行列乗算)の最適化に注力している。CuteDSLは、手作業で最適化されたテンプレートを提供することで基盤となるコードを生成し、ゼロからカーネルを書く複雑さを回避する。また、スレッドとメモリ階層構造を完全に公開し、アーキテクチャ固有の機能をサポートする。(出典:InFoQ)