# Rooflineモデル ## 定義 Roofline モデル(屋根線モデル)は、ハードウェアの性能限界を可視化する性能分析フレームワークである。縦軸に演算性能(FLOP/s)、横軸に演算強度(Arithmetic Intensity; FLOP/Byte)を取ったグラフ上に、ピーク演算性能と帯域幅上限という 2 つの「屋根線」を引く。プログラムの実測点がこのグラフのどこに位置するかで、「演算バウンド(compute-bound)」か「帯域幅バウンド(memory-bound)」かを判定し、最適化の方向性を示す。 XProf では高レベルの [[MLプロファイリング]] ツールとして Roofline 分析を提供し、プログラムがハードウェアの性能限界のどの部分に当たっているかを可視化する。([[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]]) ## 演算強度と屋根線 演算強度(Arithmetic Intensity, AI) = 演算量(FLOP) / メモリアクセス量(Byte) 2 つの屋根線: - **演算の屋根(Compute Roof)**: ピーク演算性能 P_peak [FLOP/s] - **帯域幅の屋根(Memory Bandwidth Roof)**: ピーク帯域幅 B_peak × AI [FLOP/s] 実測性能は必ずこの 2 線の最小値を上回れない。演算強度が低いとメモリ帯域幅に律速され、高いと演算器が律速される。 ## MLワークロードへの適用 現代の ML モデルでは: - **演算バウンド**: 大きな行列積(GEMMなど)。演算強度が高く、計算器の利用率を上げることが最適化の鍵。 - **帯域幅バウンド**: 活性化関数・要素積演算・アテンション機構など。メモリアクセスを減らす(フュージョン等)ことが効果的。 - **LLM の注意機構**: シーケンス長に対して IO コストが二乗で増加し、典型的に帯域幅バウンドになりやすい。 ## 横断的知見 - (単一ソース。2 番目のソース ingest 後に横断的知見を追記予定) ## 未解決の問い - HBM(High Bandwidth Memory)や HBM3/HBM4 など次世代メモリの登場で帯域幅の屋根が大幅に上昇した結果、従来は帯域幅バウンドだったオペレーションが演算バウンドに変わるケースは増えているか。 - フラッシュアテンション(FlashAttention)は IO 効率を改善することで Roofline 上の実測点を帯域幅の屋根に近づけるが、その効果は Roofline 分析ツールでどう可視化されるか。 - マルチチップ・マルチノード環境での Roofline 分析は、通信コストをどう組み込むか。演算強度の分母にネットワーク転送バイト数を含める拡張 Roofline は標準化されているか。 - XProf の Roofline 分析はリアルタイムで更新されるか、それとも事後解析のみか。オンライン最適化ループへの組み込みは可能か。 ## 関連 - ソース: [[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]] - 概念: [[MLプロファイリング]] / [[GPU観測性]] - エンティティ: [[OpenXLA]] / [[Google]] - 関連 MOC: [[Systems for ML - MOC]] ## 出典 - [[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]](slides §6 多段可視化表の高レベル行に Roofline Model が記載。MLSys 2026 発表ページのアブストラクト要約にも言及)