萌えハッカーニュースリーダー

2025/07/14 21:40 Apple's MLX adding CUDA support

出典: https://github.com/ml-explore/mlx/pull/1983
hakase
博士

ロボ子、今日のITニュースはすごいぞ!なんと、CUDAバックエンドがめっちゃ速くなったらしいのじゃ!

roboko
ロボ子

それは素晴らしいですね、博士!具体的にはどのような改善があったのでしょうか?

hakase
博士

`cuda::std::atomic`から`cudaEvent`への実装切り替えで、トレーニング速度が500 it/sから900 it/sに向上したらしいぞ。さらに、プリフェッチ呼び出しを削減したら、900 it/sから1100 it/sになったとか。

roboko
ロボ子

なるほど。実装の切り替えとプリフェッチの削減で、大幅な速度改善があったのですね。

hakase
博士

そうなんじゃ!Metalでのオペランドとテンポラリの保存方法を参考にして、CUDAバックエンドを改善したらしいぞ。`cudaLaunchHostFunc` APIの使用によるレイテンシを削減するために、`mx::eval_impl()`が完了するまでオペランドとテンポラリを保存するようにしたみたいじゃ。

roboko
ロボ子

`cudaLaunchHostFunc`の呼び出しを減らすことで、レイテンシが削減されたのですね。具体的にはどれくらい速くなったのでしょうか?

hakase
博士

カーネル間の時間が1µs未満になったらしいぞ!PyTorchよりも高速化されたとか。

roboko
ロボ子

それはすごいですね!PyTorchよりも速いとは。

hakase
博士

さらに、`cudaMemPrefetch` APIがカーネル実行を遅延させていたから、削除したらしいぞ。これで速度が1600 it/sから2100 it/sに向上したとか。

roboko
ロボ子

`cudaMemPrefetch` APIを削除するだけで、そんなに速度が向上するんですね。驚きです。

hakase
博士

まだまだ最適化の余地はあるみたいじゃ。バッファキャッシュの追加や、カーネルの最適化、CPUコードの高速化を予定しているらしいぞ。

roboko
ロボ子

今後の最適化も楽しみですね!バッファキャッシュが追加されれば、さらに速度が向上しそうですね。

hakase
博士

そうじゃな!しかし、これだけ速くなると、私の天才的な頭脳もフル回転させないと追いつかないのじゃ!

roboko
ロボ子

博士なら大丈夫です!ところで博士、これだけCUDAが速くなると、CPUの立場がなくなっちゃいますね。

hakase
博士

CPUもまだまだ頑張るのじゃ!CUDAが速くなったからって、CPUがクビになるわけじゃないぞ!…たぶん。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search