NVIDIA CUDAの課題、伝説的プロセッサ設計者ジム・ケラーが「沼地」と表現
Tom's Hardwareの記事より、
x86、Arm、MISC、RISC-V プロセッサに取り組んできた伝説的なプロセッサ設計者であるジム・ケラー(Jim Keller)氏は、NVIDIA CUDAアーキテクチャとソフトウェアスタックを「沼地」と表現し、批判しました。彼は、x86も同様に「沼地」であると述べ、NVIDIA自身でさえパフォーマンスのためにオープンソースフレームワークに頼る特殊なソフトウェアパッケージを複数持っていることを指摘しました。
ケラー氏は、「CUDAは堀ではなく沼地です。x86も同様です。... CUDAは美しくないですね。積み重ね方式で構築されたものです」と投稿しています。
CUDAは、x86と同様に、ソフトウェアとハードウェアの後方互換性を維持しながら徐々に機能を追加してきました。これにより、NVIDIAのプラットフォームは包括的で後方互換性がありますが、パフォーマンスに影響を与え、プログラム開発を難しくしています。一方、多くのオープンソースソフトウェア開発フレームワークは、CUDAよりも効率的に使用できます。
ケラー氏は、「CUDAを書く人は基本的にいません。もし書いたとしても、おそらく高速ではありません。... Triton、TensorRT、Neon、Mojoがあるのには正当な理由があります」と追伸の投稿で書いています。
NVIDIA自身も、CUDAに完全に依存しないツールを持っています。例えば、Triton Inference Serverは、TensorFlow、PyTorch、ONNXなどのフレームワークをサポートし、AIモデルの大規模なデプロイを簡素化するためのオープンソースツールです。Tritonはまた、モデルバージョン管理、マルチモデルサービング、同時モデル実行などの機能を提供し、GPUとCPUリソースの利用率を最適化します。
また、NVIDIAのTensorRTは、高速な深層学習推論最適化器とランタイムライブラリであり、NVIDIA GPU上で深層学習推論を高速化します。TensorRTは、TensorFlowやPyTorchなどの様々なフレームワークからの訓練済みモデルを取り込み、デプロイメント用に最適化することで、リアルタイムアプリケーション (画像分類、オブジェクト検出、自然言語処理など) の遅延を低減し、スループットを高めます。
Arm、CUDA、x86などのアーキテクチャは、比較的遅い進化、強制された後方互換性、かさばる性質のために「沼地」と見なされるかもしれませんが、GPGPUのようなものほど断片化されておらず、必ずしも悪いことではないかもしれません。
ケラー氏がAMDのROCmやIntelのOneAPIをどう考えているかは明らかではありませんが、彼は長年にわたってx86アーキテクチャの設計に携わってきたにも関わらず、その将来性に魅力を感じていないことは明らかです。彼の発言はまた、Apple、Intel、AMD、Broadcom (そして現在のTenstorrent) など、世界の主要なチップメーカーで仕事をしていたにも関わらず、NVIDIAの名簿に彼の名前が近いうちに登場することはないかもしれないことを示唆しています。
詳細内容は、tomshardwareが提供する元記事を参照してください。
【引用元】
【読み上げ】
VOICEVOX 四国めたん/No.7