Вычислительные блоки AMD против ядер Nvidia CUDA: в чем разница?

Вычислительные блоки AMD против ядер Nvidia CUDA: в чем разница?

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





Но что на самом деле означают эти термины? Ядро CUDA - это то же самое, что и вычислительный блок? Если нет, то в чем разница?





почему мой iphone не отправляет текстовые сообщения

Давайте ответим на эти вопросы и посмотрим, чем AMD GPU отличается от Nvidia.





Общая архитектура графического процессора

Все графические процессоры AMD, Nvidia или Intel в целом работают одинаково. У них одинаковые ключевые компоненты, и общая компоновка этих компонентов аналогична на более высоком уровне.

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



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

Аналогичным образом AMD использует такие компоненты, как Infinity Cache, которых нет в графических процессорах Nvidia.





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

Как работает графический процессор?

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





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

Например, Nvidia RTX 3090 имеет 10496 ядер CUDA. С другой стороны, топовый AMD Threadripper 3970X имеет всего 64 ядра.

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

Кроме того, в отличие от среднего ЦП, все ядра графического процессора организованы в кластеры или группы.

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

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

  • Сначала графический процессор получает инструкцию для обработки из очереди инструкций. Эти инструкции почти всегда в подавляющем большинстве случаев связаны с векторами.
  • Затем, чтобы выполнить эти инструкции, планировщик потоков передает их для обработки отдельным основным кластерам.
  • После получения инструкций встроенный планировщик кластера ядра назначает инструкции ядрам или элементам обработки для обработки.
  • Наконец, разные основные кластеры обрабатывают разные инструкции параллельно, и результаты отображаются на экране. Итак, вся графика, которую вы видите на экране, например, в видеоигре, - это просто набор миллионов обработанных векторов.

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

Что такое вычислительные единицы?

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

www.youtube.com/watch?v=uu-3aEyesWQ&t=202s

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

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

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

сколько места на hd для windows 10

Что такое ядра CUDA?

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

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

Так что называть их ядром - это чистый маркетинг.

Следовательно, ядро ​​CUDA - это элемент обработки, который выполняет операции с плавающей запятой. Внутри одноядерного кластера может быть много ядер CUDA.

Наконец, Nvidia называет основные кластеры Потоковые мультипроцессоры или SM. Модули SM эквивалентны вычислительным модулям AMD, поскольку вычислительные модули сами являются основными кластерами.

В чем разница между вычислительными модулями и ядрами CUDA?

Основное различие между вычислительным модулем и ядром CUDA заключается в том, что первое относится к основному кластеру, а второе - к элементу обработки.

Чтобы лучше понять эту разницу, давайте возьмем коробку передач.

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

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

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

Связанный: AMD 6700XT против Nvidia RTX 3070: какой лучший графический процессор дешевле 500 долларов?

Ядра и вычислительные блоки CUDA разные и несовместимые

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

Итак, убедитесь, что вы знаете, на что обращать внимание при поиске графического процессора. Держитесь подальше от маркетингового жаргона, это сделает ваше решение намного лучше и без стресса.

Делиться Делиться Твитнуть Эл. адрес Стоит ли обновлять видеокарты NVIDIA серии 30?

Если вы геймер, у вас может возникнуть соблазн обновить свою видеокарту до NVIDIA 30-й серии. Но стоит ли оно того?

Читать далее
Похожие темы
  • Объяснение технологии
  • Видеокарта
  • Nvidia
  • Процессор AMD
Об авторе Фавад Муртаза(Опубликовано 47 статей)

Фавад - писатель-фрилансер, работающий полный рабочий день. Он любит технологии и еду. Когда он не ест и не пишет о Windows, он либо играет в видеоигры, либо мечтает о путешествиях.

Ещё от Fawad Murtaza

Подписывайтесь на нашу новостную рассылку

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

Нажмите здесь, чтобы подписаться