Легендарный архитектор процессоров Джим Келлер раскритиковал архитектуру параллельных вычислений Nvidia CUDA

Джим Келлер, легендарный архитектор процессоров, который работал над процессорами x86, Arm, MISC и RISC-V, в этих выходных раскритиковал архитектуру CUDA и стек программного обеспечения Nvidia и сравнил его с x86, назвав болотом. Он отметил, что даже сама Nvidia имеет несколько специализированных программных пакетов, которые полагаются на фреймворки с открытым исходным кодом из соображений производительности.

CUDA — это болото, а не ров. x86 тоже было болотом. […] CUDA не красива. Она была построена путем нагромождения чего-то одного за раз.

— написал Келлер.

https://twitter.com/jimkxa/status/1758943525662769498

Действительно, как и x86, CUDA постепенно добавляет функциональность, сохраняя при этом обратную совместимость в программном и аппаратном обеспечении. Это делает платформу Nvidia обратно совместимой, но это влияет на производительность и усложняет разработку приложений. Между тем, многие фреймворки для разработки программного обеспечения с открытым исходным кодом можно использовать более эффективно, чем CUDA, передаёт Tom’s Hardware.

В основном никто не пишет CUDA. Если вы пишете CUDA, то это, вероятно, не быстро. […] Есть веская причина, по которой существуют Triton, Tensor RT, Neon и Mojo.

Даже у самой Nvidia есть инструменты, которые не полагаются исключительно на CUDA. Например, Triton Inference Server — это инструмент с открытым исходным кодом от Nvidia, который упрощает развертывание моделей ИИ в масштабе, поддерживая такие фреймворки, как TensorFlow, PyTorch и ONNX. Triton также предоставляет такие функции, как версионирование моделей, обслуживание нескольких моделей и параллельное выполнение моделей для оптимизации использования ресурсов GPU и CPU.

TensorRT от Nvidia — это высокопроизводительный оптимизатор глубокого обучения и библиотека времени выполнения, которая ускоряет глубокое обучение на графических процессорах Nvidia. TensorRT берет обученные модели из различных фреймворков, таких как TensorFlow и PyTorch, и оптимизирует их для развертывания, уменьшая задержку и увеличивая пропускную способность для приложений реального времени, таких как классификация изображений, обнаружение объектов и обработка естественного языка.

И хотя такие архитектуры, как Arm, CUDA и x86, можно считать болотом из-за их относительно медленного развития, обязательной обратной совместимости и громоздкости, эти платформы также не так фрагментированы, как, например, GPGPU, что не так уж и плохо.

Неизвестно, что Джим Келлер думает о ROCm от AMD и OneAPI от Intel, но ясно, что хотя он посвятил много лет своей жизни разработке архитектуры x86, он не в восторге от ее будущих перспектив. Его заявления также указывают на то, что, хотя он работал в некоторых из крупнейших производителей микросхем в мире, включая Apple, Intel, AMD, Broadcom (а теперь и Tenstorrent), мы не увидим его среди сотрудников Nvidia в ближайшее время.