NVIDIA вносит радикальные изменения в CUDA после почти 20 лет

NVIDIA объявила, что вносит массовые изменения в том, как работает CUDA. Это также изменит способ, которым программисты воспринимают и пишут программы искусственного интеллекта для раскаленных графических процессоров компании.

Прошлое было о создании времени забега для автономных графических процессоров, но теперь Nvidia хочет создать одно время выполнения для сотен тысяч графических процессоров.

«Мы говорили о программировании графического процессора — как мне получить свою программу на одном графическом процессоре. И реальность в том, что никто больше не работает на одном графическом процессоре», — сказал Стивен Джонс, архитектор CUDA в NVIDIA, во время технической сессии на недавней конференции GTC компании.

ИИ сейчас делается в тандеме с сотнями тысяч графических процессоров.

«Поскольку будущее — это масштабные вычисления центров обработки данных, я собираюсь работать над Multinode Cuda [runtime]- сказал Джонс.

Непрерывное мышление в NVIDIA заключается в создании единой системы выполнения, которая масштабируется по всем центрам обработки данных, в отличие от автономных графических процессоров. NVIDIA назвала продукт следующего поколения CUDA DTX, или CUDA Distributed выполнение.

«Я буквально рассказываю вам о чем -то через два года. Я понятия не имею, как выглядит последнее», — сказал Джонс.

Nvidia редко говорит о будущем Cuda, так что это стало немного шоком, когда Nvidia показала, что она развивает следующее поколение CUDA в GTC.

В современном мире ИИ нет избежания CUDA. Группы компании повсюду, и кодеры будут сталкиваться с инструментами NVIDIA CUDA где -то в стеке программирования, даже если она построена в основном вокруг инструментов с открытым исходным кодом.

GPU NVIDIA в основном не работают на ИИ без фреймворка CUDA, которая включает библиотеки, компиляторы, время пробежки и ядра. Как минимум, кодеры должны научиться загружать библиотеку нейронной сети под названием Cudnn, чтобы использовать инструменты создания NVIDIA для ИИ.

Оптимизируют основные AI -рамки Tensorflow и Pytorch для графических процессоров NVIDIA. GPU AMD, Apple Mac или альтернативные чипы ИИ не нуждаются в стеке CUDA от NVIDIA, но это редко, когда аппаратное и программное обеспечение NVIDIA управляет сегодняшним ИИ.

NVIDIA, как правило, обтягивается в планах инструментов программирования CUDA. Но он выпускает новую версию CUDA с каждой новой архитектурой графического процессора. CUDA 12, которая была выпущена еще в 2022 году и сейчас находится на версии 12.8, была основана на архитектуре Хоппера.

Там нет никаких признаков CUDA 13, которая должна была запустить у Blackwell, новой архитектуры графического процессора, которая сменила Хоппер. Компания не говорила об выпуске.

«CUDA следует за семантическим управлением версиями, поэтому мы обновляем версии, основанные на изменениях API и ABI. Мы не ожидаем изменить имя CUDA или метод управления версиями, когда мы представляем новые функции, о которых Стивен говорил в своем выступлении», — сказал пресс -секретарь Nvidia The New Stack.

Генеральный директор NVIDIA Дженсен Хуанг визуализирует центр обработки данных как один гигантский графический процессор с сотнями тысяч его чипов. Это согласуется с видением Cuda DTX, которое представляет собой единое время выполнения, проходящее на сотнях тысяч графических процессоров. Это также имеет смысл в бизнесе — Nvidia заработала 11 миллиардов долларов с продажи графических процессоров Blackwell в последнем квартале.

Компания строит массивные серверы, упаковывая парки графических процессоров. В этом году серверная система GB300 NVL72 содержит 72 графических процессора Blackwell Next Generation Blackwell Ultra, а также Mammoth DGX SuperPod, который будет общаться 576 Blackwell Ultra GPU, подключив несколько систем DGX B300.

CUDA берет программу и разбивает ее на тысячи небольших блоков, которые обрабатываются отдельно на графических процессорах. Блоки дополнительно разбиты на тысячи нитей, которые превращаются в одну операцию. Основная параллелизм придает графическим процессорам свою огромную вычислительную мощность.

Текущая версия CUDA представляет собой слияние всех ускоренных приложений на одном уровне и выполнение оборудования на низких уровнях. Nvidia пытается подключить приложения к разрозненному оборудованию в CUDA DTX.

«Когда я думаю о распределенной CUDA, я думаю, что нам нужно подумать о модели распределенной машины и распределенном времени выполнения», — сказал Джонс.

Он добавил, что при выполнении одного огромного времени выполнения CUDA может быть целый набор проблем при выполнении одного огромного времени выполнения CUDA. «То, что хорошо работает в масштабе, не обязательно то, что хорошо работает на одном графическом процессоре», — сказал Джонс.

Распределенное время выполнения должно быть динамичным для обработки и управления аппаратными ресурсами, топологией и выполнением в сложной структуре сотен тысяч графических процессоров. «Это должно быть устойчивым. Если у меня есть машина из 100 000 узлов, все будет постоянно падать … это происходит каждый день»,-сказал он.

Джонс подробно рассказал о рассмотрении распределенного CUDA DTX и его архитектуры, которая построена вокруг двух основных компонентов.

Первая — это модель Unified Machine, в которой графические процессоры, процессоры, сеть, ускорители и другие чипы выглядят одинаково. Это означает, что разработчики смогут написать приложение только один раз, а не несколько раз для каждого чипа.

«Работа Cuda состоит в том, чтобы объединить то, что делает машина, не ставя под угрозу производительность, которую вы можете получить от нее», — сказал Джонс.

Модель машины является фундаментальной при рассмотрении графического процессора как графического процессора вместо разных кусков оборудования, отметил он.

Вот где Джонс отметил, что у Nvidia было преимущество в качестве производителя оборудования и программного обеспечения. Компания может договориться о том, что она вкладывает в оборудование и программное обеспечение.

Вторая часть Cuda DTX — «унифицированное время выполнения», в которой запускаются инструкции/API, создают работу и управление ресурсами, топологией и исполнением.

Распределенное время выполнения включает в себя асинхронное выполнение, которое включает в себя управление параллельной операцией по распределенной сети графических процессоров.

«Если бы мне пришлось распределять память по -другому на различном оборудовании, вы бы сходили с ума», — сказал Джонс.

Джонс подтвердил, что окончательный дизайн Cuda DTX может измениться. Он также сказал, что у Nvidia были «ниндзя», которые позаботились о бэкэнд -работе, чтобы программисты могли сосредоточиться на подключении к CUDA и созданию приложений.

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Агам Шах освещал его более десяти лет. Помимо машинного обучения, оборудования и чипов, он также интересуется боевыми искусствами и Россией. Подробнее от Агама Шаха

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *