論文の概要: ML-Triton, A Multi-Level Compilation and Language Extension to Triton GPU Programming
- arxiv url: http://arxiv.org/abs/2503.14985v2
- Date: Wed, 26 Mar 2025 04:06:37 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-27 16:24:48.405625
- Title: ML-Triton, A Multi-Level Compilation and Language Extension to Triton GPU Programming
- Title(参考訳): ML-Triton - トリトンGPUプログラミングのためのマルチレベルコンパイルと言語拡張
- Authors: Dewei Wang, Wei Zhu, Liyang Ling, Ettore Tiotto, Quintin Wang, Whitney Tsang, Julian Opperman, Jacky Deng,
- Abstract要約: Tritonは、より高いレベルでプログラミングによって、よりユーザフレンドリでポータブルな代替手段を提供するDSLです。
マルチレベルのコンパイルフローとプログラミングインタフェースを備えたML-Tritonを提案する。
提案手法は,Intel GPU上でのエキスパート記述カーネルの95%以上の性能を実現する。
- 参考スコア(独自算出の注目度): 2.4665562732779773
- License:
- Abstract: In the era of LLMs, dense operations such as GEMM and MHA are critical components. These operations are well-suited for parallel execution using a tilebased approach. While traditional GPU programming often relies on low level interfaces like CUDA or SYCL, Triton has emerged as a DSL that offers a more user-friendly and portable alternative by programming at a higher level. The current Triton starts at the workgroup (aka threadblock) level, and directly lowers to per-thread level. And then attempt to coalesce and amend through a series of passes, promoting information from low-level representation. We believe this is pre-mature lowering based on the below observations. 1. GPU has a hierarchical structure both physically and logically. Modern GPUs often feature SIMD units capable of directly operating on tiles on a warp or warpgroup basis, such as blocked load and blocked MMA. 2. Multi-level gradual lowering can make compiler decoupled and clean by separating considerations inter and intra a logical layer. 3. Kernel developers often need fine control to get good performance on the latest hardware. FlashAttention2 advocates explicit data partition between warps to make a performance boost. In this context, we propose ML-Triton which features multi-level compilation flow and programming interface. Our approach begins at the workgroup level and progressively lowers to the warp and intrinsic level, implementing a multilevel lowering align with the hierarchical nature of GPU. Additionally, we extend triton language to support user-set compiler hint and warp level programming, enabling researchers to get good out-of-the box performance without awaiting compiler updates. Experimental results demonstrate that our approach achieves performance above 95% of expert-written kernels on Intel GPU, as measured by the geometric mean.
- Abstract(参考訳): LLMの時代においては、GEMMやMHAのような高密度な操作が重要な要素である。
これらの操作は、タイルベースのアプローチによる並列実行に適しています。
従来のGPUプログラミングはCUDAやSYCLのような低レベルのインターフェースに依存することが多いが、TritonはDSLとして登場し、より高いレベルでプログラミングすることで、よりユーザフレンドリでポータブルな代替手段を提供する。
現在のTritonはワークグループ(別名スレッドブロック)レベルから始まり、スレッド単位で直接低下します。
そして、低レベルの表現から情報を促進するために、一連のパスをまとめて修正しようとします。
これは、下記の観測に基づいて、未熟期の低下であると信じている。
1. GPUは物理的にも論理的にも階層構造を持っている。
現代のGPUは、ブロックロードやブロックされたMMAなど、ワープまたはワープグループでタイルを直接操作できるSIMDユニットをしばしば備えている。
2. 論理層間の考慮事項と論理層内の考慮事項を分離することにより, コンパイラを分離し, クリーンにすることができる。
3. カーネル開発者は、最新のハードウェアで優れたパフォーマンスを得るために、よく細かいコントロールが必要です。
FlashAttention2は、パフォーマンスを高めるためにワープ間の明示的なデータパーティションを提唱している。
本稿では,マルチレベルのコンパイルフローとプログラミングインタフェースを備えたML-Tritonを提案する。
われわれのアプローチはワークグループレベルで始まり、徐々にワープレベルと内在レベルに低下し、GPUの階層的な性質とマルチレベルなローディングアライメントを実装している。
さらに、ユーザセットコンパイラヒントとワープレベルのプログラミングをサポートするようにトリトン言語を拡張し、研究者はコンパイラの更新を待つことなく、アウトオブザボックスのパフォーマンスを向上できる。
実験結果から,Intel GPU上でのエキスパートカーネルの95%以上の性能を,幾何学的平均で測定した。
関連論文リスト
- TritonBench: Benchmarking Large Language Model Capabilities for Generating Triton Operators [59.625889531331815]
Tritonは、効率的なGPUカーネルを構築するために設計されたハイレベルなPythonライクな言語である。
従来のコード生成のための大規模言語モデル(LLM)の進歩にもかかわらず、これらのモデルは正確でパフォーマンスに最適化されたトリトンコードを生成するのに苦労している。
本稿では,Triton演算子生成のための総合ベンチマークであるTritonBenchを紹介する。
論文 参考訳(メタデータ) (2025-02-20T17:21:27Z) - FlashAttention on a Napkin: A Diagrammatic Approach to Deep Learning IO-Awareness [0.0]
FlashAttentionのようなメソッドは、不要なデータ転送を避けることによって、ネイティブのPyTorchよりもx6パフォーマンスの向上を実現している。
本稿では、ディープラーニングモデルのためのニューラルネットワークダイアグラムを拡張し、GPU階層間のリソース使用量とタスクの分散を検討する。
本研究では,中間レベルの擬似コードをダイアグラムで表現する手法を開発し,ハードウェア認識アルゴリズムをステップバイステップで導出できるようにする。
論文 参考訳(メタデータ) (2024-12-04T13:52:04Z) - ThunderKittens: Simple, Fast, and Adorable AI Kernels [43.32681787348603]
We present ThunderKittens (TK), a framework for write performanceant AI kernels while rest to use and maintain。
我々は、さまざまなAI操作に対して、以前のカーネルと一致するか、より優れているカーネルを提供することで、TKの価値を示す。
論文 参考訳(メタデータ) (2024-10-27T10:07:16Z) - Hierarchical Mixture of Experts: Generalizable Learning for High-Level Synthesis [43.612837464039686]
高レベル合成(HLS)は、FPGA(Field Programmable Gate Array)の設計において広く使われているツールである。
よりドメイン一般化可能なモデル構造として, 2段階の階層的エキスパート混合(MoE)を提案する。
低レベルのMoEでは、ノード、基本ブロック、グラフの3つの自然な粒度にMoEを適用する。
論文 参考訳(メタデータ) (2024-10-25T00:27:53Z) - Hierarchical Resource Partitioning on Modern GPUs: A Reinforcement Learning Approach [1.076745840431781]
本稿では,階層的分割のセットアップと,与えられたジョブ集合からの協調スケジューリンググループの選択を包括的に協調する手法を提案する。
これにより、時間共有スケジューリングに比べて最大スループットが1.87倍向上する。
論文 参考訳(メタデータ) (2024-05-14T16:40:06Z) - FusionAI: Decentralized Training and Deploying LLMs with Massive
Consumer-Level GPUs [57.12856172329322]
我々は、巨大な未使用のコンシューマレベルのGPUをアンロックする分散システムを構想する。
このシステムは、CPUとGPUメモリの制限、ネットワーク帯域幅の低さ、ピアとデバイスの多様性など、重要な課題に直面している。
論文 参考訳(メタデータ) (2023-09-03T13:27:56Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - Cramming: Training a Language Model on a Single GPU in One Day [64.18297923419627]
言語モデリングの最近のトレンドは、スケーリングによるパフォーマンス向上に焦点を当てている。
我々は,1つのコンシューマGPU上で1日間,マスク付き言語モデルを用いてゼロから完全に訓練されたトランスフォーマーベース言語モデルで達成可能なダウンストリーム性能について検討した。
この制約された設定であっても、大規模設定で観測されるスケーリングの法則に密接に従う性能を示す。
論文 参考訳(メタデータ) (2022-12-28T18:59:28Z) - Systolic Computing on GPUs for Productive Performance [2.8064596842326575]
我々は,GPU上で動作する高性能なシストリックアレイを生産的に構築する言語とコンパイラを提案する。
プログラマは、データフローのプロジェクションを線形シストリック配列に指定し、プロジェクションの詳細な実装はコンパイラに任せる。
コンパイラは指定されたプロジェクションを実装し、リニアシストリックアレイをGPUのSIMD実行ユニットとベクトルレジスタにマッピングする。
論文 参考訳(メタデータ) (2020-10-29T18:49:54Z) - MPLP++: Fast, Parallel Dual Block-Coordinate Ascent for Dense Graphical
Models [96.1052289276254]
この研究は、人気のあるDual Block-Coordinate Ascent原則に基づく新しいMAP-solverを導入している。
驚いたことに、性能の低い解法に小さな変更を加えることで、既存の解法を大きなマージンで大幅に上回る新しい解法MPLP++を導出します。
論文 参考訳(メタデータ) (2020-04-16T16:20:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。