論文の概要: Silent Failures at the $2^{32}$ Boundary: A Technical Report on Large-Tensor Matrix Multiplication in PyTorch's Apple MPS Backend
- arxiv url: http://arxiv.org/abs/2609.22991v1
- Date: Sat, 19 Sep 2026 12:51:27 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-09-22 20:29:00.624534
- Title: Silent Failures at the $2^{32}$ Boundary: A Technical Report on Large-Tensor Matrix Multiplication in PyTorch's Apple MPS Backend
- Title(参考訳): PyTorchのApple MPSバックエンドにおける大規模マトリックス乗算に関する技術的報告
- Abstract要約: PyTorch's Metal Performance Shaders (MPS) バックエンドは,バッチ行列乗算の誤りを静かに返す。
私たちは、スイープハーネス、生の結果、そして232ドル以上の要素に触れるMPS操作を止めるガードをリリースします。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Apple Silicon machines with 192GB or more of unified memory make it routine to place tensors with more than $2^{32}$ elements on a desktop GPU. We show that PyTorch's Metal Performance Shaders (MPS) backend silently returns wrong results for batched matrix multiplication at this scale. On macOS 27.0, torch.bmm, and therefore torch.matmul and eager attention, returns relative errors above 1 without an exception or a warning, in every PyTorch release from 2.4.1 to 2.14.0 that we tested. On one machine, we sweep bmm over two dtypes, four memory layouts, six shapes and 42 batch sizes between 4096 and 65538 (1584 runs on PyTorch 2.14.0, and a reduced sweep on ten earlier releases), and judge every result against a float64 computation on the CPU. Three rules account for every outcome on 2.14.0. When the output exceeds $2^{32}$ elements and an operand is a transposed view, the entire output is wrong and equals a computation that ignores the strides of that operand. When a contiguous input exceeds $2^{32}$ elements, only the batches beyond that point are wrong, and they equal a computation whose index wraps around at $2^{32}$. Operands that are views with at least $2^{31}$ elements raise an exception instead, so a larger problem can turn an explicit error into a silent failure. A control on CUDA is correct for bmm, although torch.arange is silently wrong above $2^{32}$ elements there as well. In a public sentiment classifier, one oversized batch corrupts a third of the outputs and collapses them onto a single class. The study is black-box: we report what the backend returns, compared with reference results. We release the sweep harness, the raw results and a guard that stops any MPS operation touching $2^{32}$ or more elements at https://github.com/jniimi/mps-silent-failures.
- Abstract(参考訳): 192GB以上の統一メモリを持つAppleのシリコンマシンは、デスクトップGPUに2.32ドル以上の要素を持つテンソルを常用する。
PyTorch's Metal Performance Shaders (MPS) バックエンドは,バッチ行列乗算の誤りを静かに返す。
macOS 27.0では、 torch.bmm、すなわち torch.matmul が例外や警告なしで 1 以上の相対誤差を返し、PyTorch リリース毎に2.4.1 から 2.14.0 までテストしました。
1台のマシンで、2つのd型、4つのメモリレイアウト、6つの形状、65538の42のバッチサイズ(PyTorch 2.14.0で1584が動作し、10の以前のリリースでスイープが削減されている)でbmmを掃討し、CPU上のfloat64計算に対して全ての結果を判断する。
3つのルールが2.14.0のすべての結果の原因となっている。
出力が$2^{32}$要素を超え、オペランドが転置されたビューである場合、全体の出力は間違っていて、そのオペランドの歩みを無視する計算と等しい。
連続した入力が 2^{32}$ 要素を超えると、その点を超えるバッチだけが間違っていて、インデックスが 2,^{32}$ でラップする計算に等しい。
少なくとも$2^{31}$要素を持つビューであるオペレーションは、代わりに例外を発生させるため、より大きな問題は明示的なエラーをサイレント障害に変換することができる。
CUDA の制御は bmm に対して正しいが、 torch.arange は 2^{32}$ の要素よりも静かに間違っている。
公開感情分類器では、1つの大きすぎるバッチが出力の3分の1を破損させ、それらを1つのクラスに分解する。
調査はブラックボックスで、基準結果と比較してバックエンドが返ってくることを報告します。
我々は、スイープハーネス、生の結果、および、https://github.com/jniimi/mps-silent-failuresで$2^{32}$以上の要素に触れるMPS操作を停止するガードをリリースする。
関連論文リスト
- TorchMorph: CUDA-accelerated Morphological Transforms [4.910415354181461]
PyTorch上に構築されたGPUビジョンライブラリは、演算子の狭いサブセットをカバーする。
TorchMorphは、二項形態学、グレースケール形態学、および正確な近似距離変換をカバーする作用素を公開する。
バッチ実行は、グレースケール形態上のscipy.ndimageのスループットの最大1.1e3倍に達する。
論文 参考訳(メタデータ) (2026-08-25T15:46:45Z) - TEMPO: Makespan-Aware Expert-Parallel Load Balancing Across Memory- and Compute-Bound Regimes [6.460910545652521]
TEMPOは、クリティカルパスからミリ秒でバッチ毎のディスパッチを解決するメースパン対応ディスパッチである。
SG統合はプロセスアウトで実行され、ディスパッチを1つのイングラフカーネルにフューズする。
Testbed Bのエンドツーエンドでは、Qwen3-235Bが4-6%のスループットを獲得し、p99のレイテンシを15.6%のコストで削減している。
論文 参考訳(メタデータ) (2026-08-13T10:21:11Z) - More Structure, Not More Capacity: Object-Centric Representations for Visuomotor Imitation Learning [54.65906330923846]
対象中心のスロット表現は、事前学習された視覚モデルに代わる構造化された代替物であることを示す。
トークンの16倍の高密度なパッチグリッドは、グローバル機能に匹敵するパフォーマンスはない。
明示的な2D空間目標とネイティブ解像度レンダリングにより、全システムは68.7$pm$4.2%まで上昇し、特権付き3Dオーラクルの上界の直ぐ下にある。
論文 参考訳(メタデータ) (2026-07-10T10:35:24Z) - Rigel: Reverse-Engineering the Metal 4.1 Tensor Compute Path on the Apple M4 Max GPU [3.151184728006369]
我々は、Apple M4 Maxのこのパスを実証的に特徴づけるRigelを紹介します。
私たちは不透明な8x8コラボレーティブ_tensorのフラグメントレイアウトを再構築します。
キャラクタリゼーションにより、GEMM + bias + GELUカーネルはキャッシュ抵抗状態において分解されたパスを+6.5-12.9%上回る。
論文 参考訳(メタデータ) (2026-06-11T00:10:23Z) - When Quantization Is Free: An int4 KV Cache That Outruns fp16 on Apple Silicon [0.0]
KVキャッシュ量子化は、品質-レイテンシトレードオフとしてフレーム化される。
Apple Siliconの統一メモリにインセンティブを与えています。
論文 参考訳(メタデータ) (2026-05-07T05:44:39Z) - Characterizing WebGPU Dispatch Overhead for LLM Inference Across Four GPU Vendors, Three Backends, and Three Browsers [0.0]
WebGPUのセキュリティを重視した設計では、ニューラルネットワーク推論において、多数の小さなディスパッチにまたがる化合物の操作毎の検証が義務付けられている。
バッチサイズ1のLLM推論のためのWebGPUディスパッチオーバーヘッドを,4つのベンダ(NVIDIA,AMD,Apple,Intel)と2つのネイティブ実装(Dawn,wgpu-native)と3つのブラウザ(Chrome,Safari,Firefox)にまたがるシステマティックな評価を行った。
私たちの主なコントリビューションはシーケンシャルなディスパッチ手法です。
論文 参考訳(メタデータ) (2026-02-09T20:14:42Z) - A Simple Linear Patch Revives Layer-Pruned Large Language Models [58.056251480151104]
大規模言語モデル(LLM)の圧縮技術として広く使われているレイヤプルーニング(Layer pruning)が登場している。
textscLinearPatchはプルーニングインターフェイスで2つの操作を1つの行列に乗算する。
パッチはメモリ効率の悪いオフライン蒸留によって5Kの未ラベルのサンプルでさらに洗練され、1つのGPUでわずか30分で95.16%に保留できる。
論文 参考訳(メタデータ) (2025-05-30T15:06:08Z) - BurTorch: Revisiting Training from First Principles by Coupling Autodiff, Math Optimization, and Systems [56.16884466478886]
BurTorchは、単一ノードワークステーション上でのディープラーニング(DL)トレーニングを最適化するために設計された、コンパクトな高性能フレームワークである。
BurTorchは最小限の設計を採用し、これらの状況下では、古典的なコンパイルされたプログラミング言語がDL研究において重要な役割を果たすことを証明している。
論文 参考訳(メタデータ) (2025-03-18T00:52:12Z) - Overcomplete Tensor Decomposition via Koszul-Young Flattenings [56.82556231289414]
最小ランク1項の和として$n_times n times n_3$ tensorを分解する新しいアルゴリズムを与える。
次数-d$s のさらに一般的なクラスは、定数 $C = C(d)$ に対して階数 $Cn$ を超えることができないことを示す。
論文 参考訳(メタデータ) (2024-11-21T17:41:09Z) - Average-Case Complexity of Tensor Decomposition for Low-Degree
Polynomials [93.59919600451487]
多くの統計的推論タスクにおいて「統計計算ギャップ」が発生する。
1つの成分が他の成分よりもわずかに大きいランダムオーダー3分解モデルを考える。
テンソルエントリは$ll n3/2$のとき最大成分を正確に推定できるが、$rgg n3/2$のとき失敗する。
論文 参考訳(メタデータ) (2022-11-10T00:40:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。