Jim Keller:NVIDIA的CUDA不是護城河,是沼澤!
對於x86、Arm、MISC 和RISC-V 等處理器架構都有深入研究的傳奇處理器架構師Jim Keller批評了被外界認為是英偉達(NVIDIA)「護城河」的CUDA架構和軟體堆疊,並將其比作x86,稱為「沼澤」。他指出,就連英偉達本身也有多個專用軟體包,出於性能原因,這些軟體包依賴開源框架。
「CUDA 是沼澤,而不是護城河,」凱勒在X 貼文中寫道。 “x86 也是一片沼澤。[…] CUDA 並不漂亮。它是通過一次堆積一件東西來構建的。”
確實,就像x86一樣,CUDA在保持軟體和硬體向後相容性的同時逐漸增加了功能。
這使得英偉達的平台完整且向後相容,但它影響了效能並使程式開發變得更加困難。
同時,許多開源軟體開發框架可以比CUDA更有效率地使用。
「基本上沒有人寫CUDA,」Jim Keller在後續貼文中寫道。 “如果你確實編寫CUDA,它可能不會很快。[…] Triton、Tensor RT、Neon 和Mojo 的存在是有充分理由的。”
甚至NVIDIA本身也有不完全依賴CUDA 的工具。
例如,Triton Inference Server 是NVIDIA 的開源工具,可簡化AI 模型的大規模部署,支援TensorFlow、PyTorch 和ONNX 等框架。
Triton 也提供模型版本控制、多模型服務和並發模型執行等功能,以優化GPU 和CPU 資源的使用率。
NVIDIA的TensorRT是一種高效能深度學習推理優化器和執行時間函式庫,可加速NVIDIA GPU上的深度學習推理。
TensorRT 從各種框架(例如TensorFlow 和PyTorch)中取得經過訓練的模型,並對其進行最佳化以進行部署,從而減少延遲並提高影像分類、物件偵測和自然語言處理等即時應用程式的吞吐量。
但是,儘管像Arm、CUDA 和x86這樣的架構可能被認為是“沼澤”,因為它們的演進速度相對較慢、必須向後兼容並且體積龐大,但這些平台也不像GPGPU這樣分散,這可能根本不是一件壞事。
目前尚不清楚Jim Keller 對AMD 的ROCm和英特爾的OneAPI有何看法,但很明顯,儘管他花了很多年設計x86 架構,但他並不迷戀其未來前景。
他的言論還暗示,儘管他曾在世界上一些最大的晶片製造商工作過一段時間,包括蘋果、英特爾、AMD、博通(現在是Tenstorrent)等公司,但我們可能不會在NVIDIA的名單上看到他的名字。