ジム・ケラーはNvidiaのCUDAのファンというわけではない。
x86、Arm、MISC、RISC-Vプロセッサーに携わってきた伝説的なプロセッサー・アーキテクト、イム・ケラー氏が今週末、NvidiaのCUDAアーキテクチャーとソフトウェア・スタックを批判し、同氏が沼地と呼ぶx86になぞらえた。同氏は、Nvidia自身でさえ、性能上の理由からオープンソースのフレームワークに依存した複数の特殊用途ソフトウェア・パッケージを持っていると指摘した。
「CUDAは沼であり、堀ではない。[…] x86も沼地だった。CUDAは美しくない。」とケラー氏はXの投稿に書いている。
https://twitter.com/jimkxa/status/1758943525662769498
実際、x86と同様、CUDAはソフトウェアとハードウェアの後方互換性を維持しながら、徐々に機能を追加してきた。
そのため、Nvidiaのプラットフォームは完成度が高く、後方互換性もあるが、パフォーマンスに影響し、プログラム開発が難しくなっている。
一方、オープンソースのソフトウェア開発フレームワークの多くは、CUDAよりも効率的に使用することができる。
実際、x86と同様、CUDAはソフトウェアとハードウェアの後方互換性を維持しながら、徐々に機能を追加してきた。
これにより、Nvidiaのプラットフォームは完全な後方互換性を持つことになるが、パフォーマンスに影響し、プログラム開発が難しくなる。
一方、オープンソースのソフトウェア開発フレームワークの多くは、CUDAよりも効率的に使用できる。
「基本的に誰もCUDAを書かない。もしCUDAを書いたとしても、おそらく速くはないでしょう。[…] Triton、Tensor RT、Neon、Mojoがあるのには、それなりの理由がある。」とケラー氏はフォローアップ投稿で書いている。
Nvidia自身も、CUDAだけに依存しないツールを提供している。
例えば、Triton Inference ServerはNvidiaによるオープンソースのツールで、TensorFlow、PyTorch、ONNXなどのフレームワークをサポートし、AIモデルのスケールでのデプロイを簡素化する。
Tritonはまた、GPUとCPUリソースの利用を最適化するために、モデルのバージョニング、マルチモデルサービング、モデルの同時実行などの機能を提供する。
NvidiaのTensorRTは、Nvidia GPU上でのディープラーニング推論を高速化する、高性能なディープラーニング推論オプティマイザとランタイムライブラリです。
TensorRTは、TensorFlowやPyTorchなどのさまざまなフレームワークから学習済みモデルを取り込み、デプロイ用に最適化することで、画像分類、物体検出、自然言語処理などのリアルタイム・アプリケーションの待ち時間を短縮し、スループットを向上させる。
しかし、Arm、CUDA、x86のようなアーキテクチャは、進化が比較的遅く、後方互換性が義務付けられており、かさばるため、沼地とみなされるかもしれないが、これらのプラットフォームは、GPGPUのようなものほど細分化されておらず、まったく悪いことではないかもしれない。
ジム・ケラーがAMDのROCmやインテルのOneAPIをどう考えているかは明らかではないが、彼が長年x86アーキテクチャの設計に人生を費やしてきたにもかかわらず、その将来性に魅力を感じていないことは明らかだ。
彼の発言はまた、彼がApple、Intel、AMD、Broadcom(そして現在はTenstorrent)を含む世界最大のチップメーカーで働いた経験があるにもかかわらず、Nvidiaの名簿に彼の名前をすぐに見ることができないかもしれないことを暗示している。
解説:
ジム・ケラー氏がCUDAとx86を批判
ジム・ケラー氏はRyenを設計した後、IntelでCore iを設計し、今はテンストレントという会社のCEOです。
ジム・ケラー氏が手掛けた製品を出したほうが有利になる「一人で業界をひっくり返せる天才」です。
そのジム・ケラー氏のいうことなのでおそらくはそうなのでしょう。
しかし、長い歴史の中で積み重ねてきた成果が不格好になるのはよくあることではないでしょうか。
この辺はCUDAに同情的ですね。
コンシュマー市場と比較すると積み重ねの影響が小さいのがServer製品なのでこの辺りの発言から、どんなものを出してくるのかのヒントになりそうな感じですね。
氏はAMD在籍時、お蔵入りになったARM製品を設計していたのですが、その時「楽しかった」と言っていましたので、ARMとGPUのハイブリッド製品、nVIDIAでいえば、Grace+Hopperのようなものを出してくるのではないでしょうか。
Grace+HopperやMI300Aもそうですが、我々の手が届くような製品でないことだけははっきりしていると思います。
PCIe接続のお求めやすい価格の製品が一つでもあればうれしいですが、難しいでしょうね。(苦笑。