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

Но что именно делают эти ядра, и если они оба используются в приложениях искусственного интеллекта и машинного обучения, чем они отличаются?

Что такое ядра CUDA и для чего они используются?

CUDA расшифровывается как Compute Unified Device Architecture, что мало объясняет их присутствие в графическом процессоре. Эти ядра были представлены в линейке графических процессоров Nvidia в архитектуре Maxwell 2014 года и специализируются на параллельной обработке.

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

instagram viewer

Кредит изображения: Нвидиа

Хотя мы уже рассмотрели как ядра CUDA влияют на игровую производительность вашего ПК, они так же полезны при обработке чисел. В то время как даже самые мощные процессоры имеют число ядер, исчисляемое двузначными числами, графические процессоры Nvidia оснащены несколькими тысячами ядер CUDA, что делает их намного быстрее при числовых рабочих нагрузках. Кроме того, поскольку они выполняют эти вычисления параллельно, вы получаете гораздо более высокую скорость с ядрами CUDA.

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

Что такое тензорные ядра и для чего они используются?

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

Однако потребовалось, чтобы архитектура Nvidia Turing (графические процессоры RTX 20-й серии) появилась в потребительских графических процессорах. Помнить что, хотя карты серии GTX 16 также основаны на архитектуре Turing, они не включают трассировку лучей или тензор. ядра.

В то время как ядра CUDA в лучшем случае подходили для вычислительных рабочих нагрузок, ядра Tensor подняли планку, будучи значительно быстрее. В то время как ядра CUDA могут выполнять только одну операцию за такт, ядра Tensor могут выполнять несколько операций, что дает им невероятный прирост производительности. По сути, все ядра Tensor увеличивают скорость умножения матриц.

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

Как ядра Tensor и CUDA влияют на производительность графического процессора?

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

Это означает, что в зависимости от пользователя, на которого нацелен конкретный графический процессор, у него будет разное количество ядер. Например, если мы рассмотрим RTX 4090, новейший и лучший игровой графический процессор Nvidia, ориентированный на потребителя, вы получите гораздо больше ядер CUDA, чем ядер Tensor. Если быть точным, от 16 384 ядер CUDA до 512 ядер Tensor.

Для сравнения, графический процессор Nvidia L40 для центров обработки данных, основанный на той же архитектуре Ады Лавлейс, что и RTX 4090, имеет 18 176 ядер CUDA и 568 ядер Tensor. Может показаться, что это не такая уж большая разница, но она может сильно повлиять на производительность этих графических процессоров.

С точки зрения теоретической производительности, L40 имеет 90,52 терафлопс в производительности FP16 и FP32, а также 1414 Гфлопс в производительности FP64. Это значительный прирост производительности по сравнению с 82,58 терафлопс RTX 4090 при производительности FP16 и FP32 и 1290 гигафлопс при производительности FP64.

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

Повышение производительности становится еще более впечатляющим, если учесть энергопотребление двух графических процессоров. RTX 4090 имеет номинальную TGP (не путать с TDP, разница небольшая) мощностью 450 Вт, в то время как L40 рассчитан всего на 300 Вт.

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

Ядра CUDA против Тензорные ядра: что важнее?

Оба ядра одинаково важны, независимо от того, покупаете ли вы свой графический процессор для игр или ставите его в стойку центра обработки данных. Игровые графические процессоры Nvidia, ориентированные на потребителя, используют множество функций искусственного интеллекта (в первую очередь DLSS), и наличие ядер Tensor на борту может пригодиться.

Что касается графических процессоров центров обработки данных, ядра CUDA и Tensor в любом случае большую часть времени работают в тандеме, поэтому вы получите оба независимо от выбранного вами графического процессора. Вместо того, чтобы сосредотачиваться на конкретном типе ядра вашего графического процессора, вы должны больше сосредоточиться на том, что делает видеокарта в целом, и на типе пользователя, для которого она предназначена.

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

Различные графические процессоры специализируются на разных аспектах. RTX 4090 легко справится с любой игрой, в то время как RTX 4060 может работать только в играх с разрешением 1080p. Если вы не играете, используя свой графический процессор, и он нужен вам только для обработки чисел или обучения нейронных сетей, вам лучше всего подойдет графический процессор для центра обработки данных серии A, такой как A100 или даже L40.

Ваши ядра графического процессора имеют значение

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