Как влияет количество потоковых процессоров

Содержание

xTechx.ru

Процессор, как выбрать, на что обращать внимание. Основные характеристики, и технологии в CPU.

Процессор… он же CPU (central processing unit)

Как влияет количество потоковых процессоровКак влияет количество потоковых процессоров

* всегда актуальные вопросы, на что стоит обращать внимание при выборе процессора, чтобы не ошибиться.

Наша цель в данной статье — описать все факторы влияющие на производительность процессора и другие эксплуатационные характеристики.

Наверняка ни для кого не секрет, что процессор – является главной вычислительной единицей компьютера. Можно даже сказать – самая главная часть компьютера.

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

Будь то — просмотр видео, музыка, интернет сёрфинг, запись и чтение в памяти, обработка 3 D и видео, игр. И многого другого.

Поэтому к выбору Центрального Процессора, стоит отнестись очень тщательно. Может получиться ситуация, что вы решили поставить мощную видеокарту и не соответствующий её уровню процессор. В этом случае процессор, не будет раскрывать потенциал видеокарты, что будет тормозить её работу. Процессор будет полностью загружен и буквально кипеть, а видеокарта будет ожидать своей очереди, работая на 60-70% от своих возможностей.

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

Intel vs. AMD

Корпорация Intel , располагает огромными человеческими ресурсами, и почти неисчерпаемыми финансами. Многие инновации в полупроводниковой индустрии и новые технологии идут именно из этой компании. Процессоры и разработки Intel, в среднем на 1-1,5 года опережают наработки инженеров AMD . Но как известно, за возможность обладать самыми современными технологиями – приходится платить.

Ценовая политика процессоров Intel , основывается как на количестве ядер, количестве кэша, но и на «свежести» архитектуры, производительности на тактватт, техпроцесса чипа . Значение кэш-памяти, «тонкости техпроцесса» и другие важные характеристики процессора рассмотрим ниже. За обладание такими технологии как HT ( Hyper Threading ) и свободного множителя частоты, тоже придётся выложить дополнительную сумму.

Компания AMD , в отличии от компании Intel, стремится к доступности своих процессоров для конечного потребителя и к грамотной ценовой политике.

Можно даже сказать, что AMD – «Народная марка». В её ценниках вы найдёте то, что вам нужно по очень привлекательной цене. Обычно через год, после появления новой технологии у компании Intel , появляется аналог технологии от AMD . Если вы не гонитесь за самой высокой производительностью и больше обращаете внимание на ценник, чем на наличие передовых технологий, то продукция компании AMD – именно для вас.

Ценовая политика AMD , больше основывается на количестве ядер и совсем немного — на количестве кэш памяти, наличии архитектурных улучшений. В некоторых случаях, за возможность обладать кэш памятью третьего уровня, придётся немного доплатить ( Phenom имеет кэш память 3 уровня, Athlon довольствуется только ограниченной, 2 уровня). Но иногда AMD «балует» своих фанатов возможность разблокировать более дешёвые процессоры, до более дорогих. Разблокировать можно ядра или кэш-память. Улучшить Athlon до Phenom. Такое возможно благодаря модульной архитектуре и при недостатке некоторых более дешёвых моделей, AMD просто отключает некоторые блоки на кристалле более дорогих (программно).

Ядра – остаются практически неизменными, отличается только их количество (справедливо для процессоров 2006-2011 годов). За счёт модульности своих процессоров, компания отлично справляется со сбытом отбракованных чипов, которые при отключении некоторых блоков, становятся процессором из менее производительной линейки.

Компания много лет работала над совершенно новой архитектурой под кодовым именем Bulldozer, но на момент выхода в 2011 году, новые процессоры показали не самую лучшую производительность. AMD грешила на операционные системы, что они не понимают архитектурных особенностей сдвоенных ядер и «другой многопоточности».

Со слов представителей компании, следует ждать особых исправлений и заплаток, чтобы ощутить всю производительность данных процессоров. Однако в начале 2012 года, представители компании Microsoft отложили выход обновления для поддержки архитектуры Bulldozer на вторую половину года.

Частота процессора, количество ядер, многопоточность.

Во времена Pentium 4 и до него – частота процессора, была главным фактором производительности процессора при выборе процессора.

Это не удивительно, ведь архитектуры процессоров — специально разрабатывались для достижения высокой частоты, особенно сильно это отразилось как раз в процессоре Pentium 4 на архитектуре NetBurst. Высокая частота, была не эффективна при том длинном конвейере, что был использован в архитектуре. Даже Athlon XP частотой 2Ггц, по уровню производительности был выше чем Pentium 4 c 2,4Ггц. Так что, это был чистой воды маркетинг. После этой ошибки, компания Intel осознала свои ошибки и вернулась на сторону добра начала работать не над частотной составляющей, а над производительностью на такт. От архитектуры NetBurst пришлось отказаться.

С приходом архитектуры Core – всё изменилось. Гонка по частоте – сменилась гонкой по количеству ядер и лучшей реализации исполнения параллельных вычислений, ветвящихся инструкций. Имея короткий вычислительный конвейер, процессоры на Core архитектуре (кстати основанной на архитектуре Pentium M , который частично позаимствовал свою у Pentium III ), даже с вдвое более низкой частотой, оказались впереди Pentium 4.

Как влияет количество потоковых процессоров

Архитектура Core , так же привнесла монолитный кристалл на одной подложке, с несколькими ядрами. Всё это в сумме, на момент выхода процессора, привнесло эволюцию на рынок процессоров. Настала эра многоядерных процессоров, которая будет длиться, пока это будет позволять техпроцесс и закон Мура.

Что же нам даёт многоядерность?

Четырёх-ядерный процессор с частотой 2,4 Ггц, в много-поточных приложениях, теоретически будет примерным эквивалентом, одноядерного процессора с частотой 9,6Ггц или 2-х ядерному процессору с частотой 4,8 Ггц. Но это только теоретически. Практически же, два двухъядерных процессора в двух сокетной материнской плате, будут быстрее одного 4-ядерного, на той же частоте функционирования. Ограничения по скорости шины и задержки памяти дают о себе знать.

* при условии одинаковых архитектур и количества кэш памяти

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

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

Так же, к «любителям» многопоточности, можно отнести такие операционные системы как Windows 7 и Windows Vista, а так же многие ОС, основанные на ядре Linux , которые работают заметно быстрее при наличии многоядерного процессора.

Большинству игр, бывает вполне достаточно 2-х ядерного процессора на высокой частоте. Сейчас однако, выходит всё больше игр «заточенных» под многопоточность. Взять хотя бы такие SandBox игры, как GTA 4 или Prototype , в которые на 2-х ядерном процессоре с частотой ниже 2,6 Ггц – комфортно себя не чувствуешь, фреймрейт проваливается ниже 30 кадров в секунду. Хотя в данном случае, скорее всего причиной таких казусов является «слабая» оптимизация игр, недостаток времени или «не прямые» руки тех, кто переносил игры с консолей на PC .

При покупке нового процессора для игр, сейчас стоит обращать внимание на процессоры с 4-мя и более ядрами. Но всё же, не стоит пренебрегать 2-х ядерными процессорами из «верхней категории». В некоторых играх, данные процессоры чувствуют себя порой лучше, чем некоторые многоядерные.

Кэш память процессора.

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

Она работает на очень высокой тактовой частоте (обычно на частоте самого процессора), имеет очень высокую пропускную способность и процессорные ядра работают с ней напрямую (L1).

Как влияет количество потоковых процессоров

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

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

Такой приём, сейчас используется для кэш памяти 3-го уровня. У процессоров Intel существовали процессоры с объединённой кэш памятью 2-го уровня (C2D E 7***, E 8***), благодаря которым и появился данный способ увеличить многопоточную производительность.

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

В общем, чем больше кэш памяти, тем быстрее процессор. В каких именно приложениях?

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

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

Кэш память играет очень немалую роль в раскрытии потенциала систем с 2-мя и более видеокартами. Ведь какая то доля нагрузки, ложится на взаимодействие ядер процессора как между собой, так и для работы с потоками нескольких видео-чипов. Именно в этом случае важна организация кэш — памяти, и очень полезна кэш память 3-го уровня большого объёма.

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

Фирменные технологии.

Как влияет количество потоковых процессоров

впервые технология была применена в процессорах Pentium 4, но работала не всегда корректно и зачастую больше тормозила процессор, чем ускоряла. Причиной был слишком длинный конвейер и не доведённая до ума система предсказания ветвлений. Применяется компанией Intel , аналогов технологии пока нет, если не считать аналогом то? что реализовали инженеры компании AMD в архитектуре Bulldozer.

Как влияет количество потоковых процессоров

Принцип системы таков, что на каждое физическое ядро, создаётся по два вычислительных потока, вместо одного. То есть, если у вас 4-х ядерный процессор с HT ( Core i 7), то виртуальных потоков у вас 8.

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

50-75%, в зависимости от рода приложения). Довольно редко бывает, что в некоторых приложениях, HT отрицательно влияет на производительность. Связано это с плохой оптимизацией приложений под данную технологию, невозможность понять, что присутствуют потоки «виртуальные» и отсутствие ограничителей для нагрузки потоков равномерно.

Turbo Boost – очень полезная технология, которая увеличивает частоту функционирования наиболее используемых ядер процессора, в зависимости от уровня их загруженности. Очень полезна тогда, когда приложение не умеет использовать все 4 ядра, и загружает только одно или два, при этом их частота работы повышается, что частично компенсирует производительность. Аналогом данной технологии у компании AMD, является технология Turbo Core.

SSE , 3 dnow ! инструкции. Предназначены для ускорения работы процессора в мультимедиа вычислениях (видео, музыка, 2D/3 D графика и т.д.), а так же ускоряют работу таких программ как архиваторы, программы для работы с изображениями и видео (при поддержке инструкций данными программами).

3 dnow ! – довольно старая технология AMD , которая содержит дополнительные инструкции по обработке мультимедиа контента, помимо SSE первой версии .

*А именно возможность потоковой обработки вещественных чисел одинарной точности.

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

* Пример — SSE 4.1(Intel) — SSE 4A(AMD).

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

Cool’n’Quiet, SpeedStep, CoolCore, Enchanced Half State(C1E) и т . д .

Данные технологии, при низкой нагрузке уменьшают частоту процессора, посредством уменьшения множителя и напряжения на ядре, отключения части КЭШа и т.д. Это позволяет процессору гораздо меньше греться и потреблять меньше энергии, меньше шуметь. Если понадобится мощность, то процессор вернётся в обычное состояние за доли секунды. На стандартных настройках Bios практически всегда включены, при желании их можно отключить, для уменьшения возможных «фризов» при переключении в 3D играх.

Некоторые из этих технологий, управляют скоростью вращения вентиляторов в системе. К примеру, если процессор не нуждается в усиленном отводе тепла и не нагружен, скорость вентилятора процессора уменьшается (AMD Cool’n’Quiet, Intel Speed Step).

Intel Virtualization Technology и AMD Virtualization .

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

Execute Disable Bit и No eXecute Bit – технология, призванная защитить компьютер от вирусных атак и программных ошибок, которые могут вызвать крах системы посредством переполнения буфера.

Intel 64 , AMD 64 , EM 64 T – данная технология позволяет процессору работать как в ОС с 32-х битной архитектурой, так и в ОС с 64-х битной. Система 64 bit – с точки зрения выгоды, для рядового пользователя отличается тем, что в данной системе можно использовать более 3.25Гб оперативной памяти. В 32-х битных системах, использовать больший объём оперативной памяти не представляется возможным, из-за ограниченного объёма адресуемой памяти * .

Большинство приложений с 32-х bit архитектурой, можно запустить на системе с 64-х битной ОС.

* Что же поделать, если в далёком 1985 году, никто и подумать не мог о таких гигантских, по меркам того времени, объёмах оперативной памяти.

Дополнительно.

Пара слов о техпроцессе.

Как влияет количество потоковых процессоров

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

Чем более тонкий техпроцесс, тем больше можно «завернуть» в чип транзисторов(и не только) и увеличить возможности процессора. Тепловыделение и энергопотребление при этом тоже уменьшается пропорционально, благодаря меньшим потерям по току и уменьшению площади ядра. Можно заметить тенденцию, что с каждым новым поколением той же архитектуры на новом техпроцессе, растёт и энергопотребление, но это не так. Просто производители идут в сторону ещё большей производительности и перешагивают за черту тепловыделения прошлого поколения процессоров из-за увеличения числа транзисторов, которое не пропорционально уменьшению техпроцесса.

Встроенное в процессор видеоядро.

Как влияет количество потоковых процессоров

Если вам не нужно встроенное видео ядро, то не стоит покупать процессор с ним. Вы получите только худший отвод тепла, лишний нагрев (не всегда), худший разгонный потенциал (не всегда), и переплаченные деньги.

К тому же те ядра, что встроены в процессор, годятся только для загрузки ОС, интернет сёрфинга и просмотра видео (и то не любого качества).

Как влияет количество потоковых процессоров

Тенденции на рынке все же меняются и возможность купить производительный процессор от Intel без видео ядра выпадает всё реже. Политика принудительного навязывание встроенного видео ядра, появилась с процессоров Intel под кодовым названием Sandy Bridge, основное новшество которых и было встроенное ядро на том же техпроцессе. Видео-ядро, находится совместно с процессором на одном кристалле, и не такое простое как в предыдущих поколениях процессоров Intel. Для тех кто его не использует, есть минусы в виде некоторой переплаты за процессор, смещённость источника нагрева относительно центра тепло — распределительной крышки. Однако есть и плюсы. Отключенное видео ядро, можно использовать для очень быстрой кодировки видео с помощью технологии Quick Sync вкупе со специальным, поддерживающим данную технологию ПО. В будущем, Intel обещает расширить горизонты использования встроенного видео ядра для параллельных вычислений.

Сокеты для процессоров. Сроки жизни платформ .

Как влияет количество потоковых процессоровКак влияет количество потоковых процессоров

Intel ведёт грубую политику для своих платформ. Срок жизни каждой (срок начала и конца продаж процессоров для неё), обычно не превышает 1.5 — 2 года. К тому же, у компании есть несколько параллельно развивающихся платформ.

Компания AMD , ведёт противоположную политику совместимости. На её платформу на сокете AM 3, будут подходить все процессоры будущих поколений, поддерживающие DDR3. Даже при выходе платформы на AM 3+ и более поздних, отдельно будут выпускаться либо новые процессоры под AM 3, либо новые процессоры будут совместимы со старыми материнскими платами, и можно будет сделать безболезненный для кошелька апгрейд, поменяв только процессор (без смены мат.платы, ОЗУ и т.д.) и прошив BIOS материнской платы. Единственные нюансы несовместимости могут быть при смене типа оперативной памяти, так как будет требоваться другой контроллёр памяти, встроенный в процессор. Так что совместимость ограниченная и поддерживается далеко не всеми материнскими платами. Но в целом, экономному пользователю или тем, кто не привык менять платформу полностью каждые 2 года — выбор производителя процессора понятен — это AMD.

Охлаждение процессора.

В стандартной комплектации, с процессором идёт BOX -овый кулер, который будет просто справляться со своей задачей. Представляет он из себя кусок алюминия с не очень высокой площадью рассеивания. Эффективные кулеры на тепловых трубках и закреплёнными на них пластинами, имеют конструкцию, предназначенную для высокоэффективного рассеивания тепла. Если вы не хотите слышать лишний шум от работы вентилятора, то вам стоит приобрести альтернативный, более эффективный кулер с тепловыми трубками, либо систему жидкостного охлаждения замкнутого или не замкнутого типа. Такие системы охлаждения, дополнительно дадут возможность разгона для процессора.

Как влияет количество потоковых процессоров

Заключение.

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

  • Выбрать производителя
  • Архитектура процессора
  • Техпроцесс
  • Частота процессора
  • Количество ядер процессора
  • Размер и тип кэш-памяти процессора
  • Поддержка технологий и инструкций
  • Качественное охлаждение

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

FAQ по видеокартам GeForce: что следует знать о графических картах?

Ядро CUDA, потоковый процессор, блок шейдеров — все это синонимы вычислительного блока GPU, который выполняет расчет данных. NVIDIA по традиции называет их ядрами CUDA, где CUDA расшифровывается как Compute Unified Device Architecture. Ядра CUDA отличаются от ядер процессора, они намного менее сложные и имеют высокую степень специализации под обрабатываемые данные. GPU сегодня умеют намного больше, чем выполнять рендеринг графики через конвейер, поэтому унификация под названиями потоковый процессор или унифицированный блок шейдеров вполне обоснована.

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

NVIDIA Ampere-SM

Впрочем, потоковые процессоры — довольно общий термин, на практике у современных GPU все сложнее. GPU могут выполнять как вычисления с плавающей запятой (FP), так и целочисленные (INT) с различной точностью. Для графики важнее всего вычисления FP32 и INT32 с 32-битной точностью. В случае научных расчетов все более важными являются расчеты с более высокой точностью, а именно FP64. Поэтому в GPU появились выделенные вычислительные блоки для типа данных FP64. Впрочем, далеко не для всех расчетов нужна точность с 32 и 64 битами. Были разработаны способы выполнения менее точных вычислений на блоках INT32, например, одновременное выполнение операций над двумя 16-битными целыми числами.

Еще одним шагом дальше можно назвать интеграцию ядер Tensor в архитектуру NVIDIA Ampere, которые способны эффективно вычислять менее сложные числа INT8 и INT4, но об этом мы поговорим чуть позже.

GA102-GPU

В составе GPU GA102 имеются семь кластеров Graphics Processing Clusters (GPC) с 12 потоковыми мультипроцессорами Streaming Multiprocessors (SM) каждый. Но на видеокартах GeForce RTX 3090 и GeForce RTX 3080 активны не все SM. GA102 GPU теоретически содержит 10.752 блоков FP32 (7 GPC x 12 SM x 128 блоков FP32). Но у GeForce RTX 3090 два SM отключены, поэтому видеокарта предлагает "всего" 10.496 блоков FP32. Такой подход повышает выход годных чипов NVIDIA, поскольку наличие одного-двух дефектных SM не приводит к отбраковке кристалла.

В случае GeForce RTX 3080 один кластер GPC полностью отключен, поэтому на GA102 GPU остаются шесть GPC, но только четыре из них содержат полные 12 SM, два ограничены десятью SM. Что дает в сумме 8.704 блока FP32 в составе 68 SM.

NVIDIA масштабирует архитектуру Ampere с видеокарты GeForce RTX 3060 вплоть до GeForce RTX 3090. Ниже представлен обзор видеокарт GeForce RTX 30:

Сравнение видеокарт семейства GeForce RTX 30

GeForce RTX 3090GeForce RTX 3080 TiGeForce RTX 3080GeForce RTX 3070 Ti
GPUAmpere (GA102)Ampere (GA102)Ampere (GA102)Ampere (GA104)
Число транзисторов28 млрд.28 млрд.28 млрд.17,4 млрд.
Техпроцесс8 нм8 нм8 нм8 нм
Площадь кристалла628,4 мм²628,4 мм²628,4 мм²392,5 мм²
Число FP32 ALU10.49610.2408.7046.144
Число INT32 ALU5.2485.1204.3523.072
Число SM82806848
Ядра Tensor328320272192
Ядра RT82806848
Базовая частота1.400 МГц1.365 МГц1.440 МГц1.580 МГц
Частота Boost1.700 МГц1.665 МГц1.710 МГц1.770 МГц
Емкость памяти24 GB12 GB10 GB8 GB
Тип памятиGDDR6XGDDR6XGDDR6XGDDR6X
Частота памяти1.219 МГц1.188 МГц1.188 МГц1.188 МГц
Ширина шины памяти384 бит384 бит320 бит256 бит
Пропускная способность памяти936 Гбайт/с912 Гбайт/с760 Гбайт/с608 Гбайт/с
TDP350 Вт350 Вт320 Вт290 Вт
Сравнение видеокарт семейства GeForce RTX 30

GeForce RTX 3070GeForce RTX 3060 TiGeForce RTX 3060
GPUAmpere (GA104)Ampere (GA104)Ampere (GA106)
Число транзисторов17,4 млрд.17,4 млрд.12 млрд.
Техпроцесс8 нм8 нм8 нм
Площадь кристалла392,5 мм²392,5 мм²276 мм²
Число FP32 ALU5.8884.8643.584
Число INT32 ALU2.9442.4321.792
Число SM463828
Ядра Tensor184152112
Ядра RT463828
Базовая частота1.500 МГц1.410 МГц1.320 МГц
Частота Boost1.730 МГц1.665 МГц1.780 МГц
Емкость памяти8 GB8 GB12 GB
Тип памятиGDDR6GDDR6GDDR6
Частота памяти1.725 МГц1.750 МГц1.875 МГц
Ширина шины памяти256 бит256 бит192 бит
Пропускная способность памяти448 Гбайт/с448 Гбайт/с360 Гбайт/с
TDP220 Вт200 Вт170 Вт

Одновременное выполнение операций с целыми числами и числами с плавающей запятой

Как мы уже упоминали, вычислительные блоки FP32 могут работать в режиме 2x FP16, то же самое касается INT16. Чтобы увеличить вычислительную производительность и сделать ее более гибкой, в архитектуре NVIDIA Turing появилась возможность одновременного расчета чисел с плавающей запятой и целых чисел. Конечно, подобная возможность сохранилась и в архитектуре Ampere. NVIDIA проанализировала данные вычисления в конвейере рендеринга в десятках игр, обнаружив, что на каждые 100 расчетов FP выполняется примерно треть вычислений INT. Впрочем, значение среднее, на практике оно меняется от 20% до 50%. Конечно, если вычисления FP и INT будут выполняться одновременно, то конвейеру придется иногда "подтормаживать" в случае взаимных связей.

NVIDIA Ampere Rendering-Pipeline

Соотношение 1/3 INT32 и 2/3 FP32 отражено в структуре Ampere Streaming Multiprocessor (SM), составляющем элементе архитектуры Ampere. NVIDIA удвоила число вычислительных блоков FP32 на каждый SM. Вместо 64 блоков FP32 на SM, их теперь насчитывается 128. Плюс 64 блока INT32. Теперь на квадрант SM насчитывается два пути данных, некоторые могут работать параллельно. Один из путей данных содержит 16 блоков FP32, то есть может выполнять 16 вычислений FP32 за такт. Второй путь данных содержит по 16 блоков FP32 и INT32. Каждый из квадрантов SM может выполнять либо 32 операции FP32, либо по 16 операций FP32 и INT32 за такт. Если же брать SM целиком, то возможно выполнение 128 операций FP32 или по 64 операции FP32 и INT32 за такт.

Параллельное выполнение продолжается и на других блоках. Например, ядра RT и Tensor могут работать параллельно в конвейере рендеринга, что снижает время, требующееся на рендеринг кадра.

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

Текстурные блоки

Потоковые процессоры выполняют так называемые шейдеры — небольшие программы. Вершинные шейдеры используются для геометрических вычислений и динамического изменения объектов. Геометрические шейдеры позволяют рассчитать финальную геометрию и структуру объекта из точек, линий и треугольников. Шейдеры тесселяции обеспечивают дальнейшее разделение примитивов (тех же треугольников).

Текстурные блоки Texture Mapping Units (TMU) отвечают за то, чтобы все поверхности были покрыты соответствующими текстурами. TMU — выделенные вычислительные блоки GPU. В случае архитектуры Turing, один текстурный блок дополняет 16 потоковых процессоров. Данные для текстурных блоков хранятся в видеопамяти, их можно считывать оттуда и записывать. Поскольку TMU уже не являются внешними вычислительными блоками в полном понимании, а встроены в конвейер рендеринга, каждый текстурный блок может обрабатывать объекты по нескольку раз.

Действительно, для рендеринга объекта простых текстур уже недостаточно, использование нескольких слоев позволяет, например, получить 3D-эффект вместо плоской текстуры. Раньше объекты приходилось рассчитывать на конвейере несколько раз, и каждый проход текстурный блок накладывал текстуру, сегодня достаточно одного процесса рендеринга, текстурный блок может получать данные объекта для многократной обработки из буфера.

Контроллер памяти

Высокая пропускная способность памяти не менее важна, чем вычислительная производительность GPU. Только если данные можно будет быстро считывать из видеопамяти на GPU и записывать их обратно, вычисления будут проводиться достаточно быстро. На заднем плане здесь можно представить GPU, выполняющий вычисления, а на переднем — систему кэшей и памяти. Архитектуры GPU разрабатываются с учетом доступной пропускной способности памяти, иногда им необходима высокая пропускную способность, но в других случаях зависимость, напротив, снижается. Впрочем, как правило, производители пытаются добиться самой высокой пропускной способности памяти. И контроллер памяти здесь имеет решающее значение.

Помимо изменений в SM, новая архитектура NVIDIA получила оптимизированную структуру конвейеров растровых операций (ROP), а также соединения ROP и контроллера памяти. До поколения Turing ROP всегда подключались к интерфейсу памяти. И на каждый 32-битный контроллер памяти приходилось восемь ROP. Если число контроллеров памяти и ширина шины менялись, то же самое касалось и ROP. В архитектуре Ampere ROP перенесены в GPC. Используются два раздела ROP на GPC, каждый раздел содержит восемь ROP.

NVIDIA GDDR6X

Что дает иную формулу вычисления ROP на GeForce RTX 3080. Шесть GPC с 2x 8 ROP на каждом дают 96 ROP. У GeForce RTX 3090 работают семь GPC с 2x 8 ROP, что дает 112 ROP. NVIDIA намеренно интегрировала ROP глубже, чтобы задняя часть конвейера рендеринга меньше зависела от интерфейса памяти. Например, видеокарта GeForce RTX 3080 использует 320-битный интерфейс памяти, но содержит 96 ROP, а не 80 ROP.

Интерфейс памяти разделен на 32-битные блоки. В зависимости от желаемой ширины интерфейса памяти или емкости, их можно набирать в произвольном количестве.

Ядра Tensor и RT

Ядра Tensor третьего поколения

С архитектурой Turing NVIDIA представила два новых вычислительных блока, ранее на GPU не использовавшихся. Конечно, ядра Tensor знакомы нам по архитектуре Volta, но там они использовались для научных расчетов. В случае GPU Ampere ядра Tensor перешли уже на третье поколение.

Ядра Tensor предназначены для выполнения матричного умножения. Матричное умножение (BLAS GEMM) — наиболее важный компонент для тренировки и инференса сетей глубокого обучения. Матричные операции подразумевают выборку значений матриц A и B (выполнение сложения и умножения), после чего результат будет записываться в матрицу C. Для матриц 4×4 данные операции выполняются для всех 16 полей.

NVIDIA Ampere Tensor Cores

Ядра Tensor ранее использовались только для вычислений INT16 и FP16, но в третьем поколении они могут работать с FP32 и FP64. Что особенно важно для сегмента HPC с высокой точностью. Для игровых GPU GeForce намного важнее меньшая точность.

Ядра Tensor архитектуры Turing могут выполнять 64 операции FP16 Fused Multiply-Add (FMA) каждое. В случае Ampere число операций увеличено до 128 у GA102 GPU и до 256 у GA100 GPU с плотными матрицами. Если же используются разреженные матрицы, число операций FMA FP16 увеличивается до 256 у GA102 GPU и до 512 у GA100 GPU. Ядра Tensor архитектуры Turing разреженные матрицы не поддерживают.

Ядра RT второго поколения

Ядра RT — второй тип особых аппаратных блоков архитектуры Ampere, хотя они уже работали в архитектуре Turing. Второе поколение ядер RT способно выполнять в два раза больше расчетов пересечений по сравнению с первым. На полную трассировку лучей уходит слишком много ресурсов и времени даже с учетом нескольких тысяч потоковых процессоров на GPU. Именно по этой причине NVIDIA добавила ядра RT в архитектуру Ampere, которые выполняют расчеты, необходимые для трассировки лучей. И с некоторыми типами вычислений ядра RT справляются очень эффективно. Сегодня все технологии трассировки лучей пытаются снизить вычислительную нагрузку, для этого используются разные алгоритмы.

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

NVIDIA Ampere Raytracing

Один из способов выборки примитивов — Bounding Volume Hierarchy (BVH). В случае BVH сцена разбивается на все меньшие по размеру блоки, в которых присутствуют примитивы. Луч следует обрабатывать только с теми блоками, которые он проходит на пути к примитиву. Подход несколько напоминает воксели, которые NVIDIA использует для Voxel Global Illumination (VXGI). BVH представляет собой дерево, в котором можно видеть, какой именно блок и, в конечном итоге, примитив следует учитывать для расчета трассировки лучей.

BVH на классических архитектурах GPU или на CPU может выполняться только программно. Таким образом, потоковым процессорам приходится на каждый луч выполнять несколько тысяч инструкций, в том числе многочисленные циклы для поиска блоков и, в конечном итоге, примитива. Только после нахождения примитива можно выполнять шейдинг луча. Именно здесь на помощь приходят ядра RT. Они содержат специальные функциональные блоки SFU (Special Function Units), оптимизированные под поиск нужных блоков и примитива, с которым пересекается луч. Потоковый процессор принимает задачу, после чего передает ее ядру RT, которое возвращает результат потоковому процессору — и последний может выполнять рендеринг дальше по конвейеру.

Поскольку NVIDIA не изменила число ядер RT на SM в архитектуре Ampere, количество блоков SM на GPU по-прежнему определяет производительность RT. Но в ядрах RT есть другие оптимизации.

Одна из проблем с расчетом пересечений при трассировке лучей связана с движущимися объектами, особенно если используется эффект размытия движения (motion blur). Для ядер RT в архитектуре Turing такой сценарий является "узким местом". Но второе поколение ядер RT уже лучше справляется с интерполяцией эффекта размытия движения. Пересечения просчитываются с упреждением, в итоге трассировка лучей рассчитываются только для тех областей, где она необходима.

Кэши L1 и L2

Между функциональными блоками (потоковые процессоры, ядра RT и Tensor) и видеопамятью располагаются еще два уровня хранения данных, без которых GPU не смог бы выдавать высокий уровень производительности. Цель этих кэшей заключается в том, чтобы хранить информацию как можно ближе к функциональным блокам. Данные передаются из видеопамяти сначала в кэш L2, а затем и в кэш L1.

В зависимости от уровня расширения GPU, кристалл Ampere содержит кэш L2 разного объема. У GeForce RTX 3080 емкость L2 составляет 5.120 кбайт, у GeForce RTX 3070 она 4.096 кбайт, а у GeForce RTX 3090 — все 6.144 кбайт.

NVIDIA с архитектурой Ampere вновь увеличила кэш L1 с 96 до 128 кбайт. Скорость работы L1 была вновь удвоена. NVIDIA реализовала такую же меру ранее при переходе с Pascal на Turing. Число 32-битных регистров не изменилось и осталось на уровне 16.384. То же самое касается числа блоков чтения/записи.

Руководство: сколько ядер нужно процессору в вашем компьютере

Современные процессоры для ПК и ноутбуков имеют как минимум два ядра — одноядерные чипы выпускаются разве что для сверхкомпактных компьютеров, которые управляют всевозможной электроникой и не нуждаются даже в сравнтельно небольшой вычислительной мощности. Какой же процессор выбрать для офисного или домашнего ПК? Сколько ядер хватит для выполнения повседневных задач без заметных замедлений? Что такое Hyper Threading и bottlenecking? Постараемся ответить на все эти вопросы в нашей статье.

Руководство: сколько ядер нужно процессору в вашем компьютере

Краткие ответы и советы

Если вы подбираете процессор для компьютера, который будет выполнять обычную офисную работу, серфить в интернете и воспроизводить видео, хватит четырехъядерного чипа. Даже самые скромные Intel Core i3 и Ryzen 3 последних поколений — четырехъядерные. Конечно, можно выбрать совсем уж бюджетный Celeron или Athlon — в рамках этих линеек до сих выпускают сверхдешевые CPU, которые подойдут для ПК, исполняющего роль «печатной машинки». Но лучше все-таки обратить внимание на четырехъядерные варианты — с ними точно не будет никаких проблем.

Для домашнего ПК, который используется в том числе и для игр, оптимальный вариант в 2019 году — это шестиядерный процессор. Да, многие четырехъядерные CPU (особенно Core i5 и Core i7 с поддержкой Hyper Threading, о которой поговорим чуть дальше) вполне справятся с большинством современных игр благодаря достаточно высокой тактовой частоте, но лучше сделать хоть какой-то задел на будущее. Ну а восемь ядер — это и вовсе идеальный вариант, который позволит не беспокоиться о замене процессора (и материнской платы — это немаловажно!) еще несколько лет.

Рабочие станции, которые выполняют серьезные вычисления (3D-рендеринг, нейросети, кодирование видео, математика, профессиональная работа с фотографиями и так далее), обычно оснащаются так называемыми HEDT-процессорами (High-end Desktop). Каждое их ядро не так быстро, как ядра топовых процессоров для игровых ПК, но этих ядер обычно больше. Благодаря тому, что практически все профессиональные пакеты ПО отлично справляются с задачей распределения вычислений на процессоре с большим количеством ядер, итоговая производительность в этом случае выше.

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

Отдельно нужно рассказать о ноутбуках. Из-за ограничений, которые накладывают компактные корпусы, охладить компоненты которых далеко не так просто, как в полноценных корпусах настольных ПК, их процессоры заметно слабее и часто используют меньше ядер. Двухъядерные Core i3 в бюджетных рабочих лаптопах — это вполне нормально. Впрочем, в этом году в продаже начали появляться очень привлекательные модели с Ryzen, у которых довольно производительных ядер уже как минимум четыре.

Руководство: сколько ядер нужно процессору в вашем компьютере

Что такое ядро процессора?

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

В 2005 году все изменилось — именно тогда в продаже появились первые двухъядерные CPU AMD Athlon 64 x2 и Intel Pentium D. На протяжении следующих десяти лет эти компании начали выпускать четырех-, шести- и даже восьмиядерные модели. Не так давно AMD представила 24-ядерный Threadripper 3970X, предназначенный для серверов и высокопроизводительных рабочих станций, а в 2020 и вовсе собирается выпустить 64-ядерный CPU — Threadripper 3990WX.

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

Что ж, прямая зависимость скорости работы профессионального ПО от количества ядер процессора очевидна. А что насчет игр?

Руководство: сколько ядер нужно процессору в вашем компьютере

Производительность одного и нескольких ядер в играх

Когда самыми распространенными были одноядерные процессоры, игры разрабатывались именно для них — они никак не использовали мощь дополнительных ядер, и покупать многоядерные CPU ради увеличения производительности было незачем. Но эти времена давно в прошлом.

Взрывная популярность двух- и четырехъядерных процессоров позволила разработчикам игр эффективно разделить вычислительные процессы и добиться куда более интересных результатов, чем раньше. Стоит отметить, что очень важную роль в этом процессе сыграли консоли — в 2013 Microsoft и Sony выпустили Xbox One и PlayStation 4, которые используют восьмиядерные чипсеты AMD. Вскоре после этого четырехъядерные процессоры стали «золотым стандартом» на ПК, а топовые восьмиядерные — идеальным выбором геймеров.

Впрочем, мощность каждого из ядер до сих пор остается более важной, чем их количество. Достаточно взглянуть на результаты внутриигровых тестов флагманских Intel Core i9-9900K и AMD Ryzen 9 3950X — хоть у последнего и вдвое больше ядер, первый немного выигрывает за счет их прозводительности.

Таким образом, если вы хотите любой ценой получить самый мощный игровой ПК, в данный момент лучшим выбором является платформа Intel. С другой стороны, AMD предлагает куда более сбалансированные процессоры, которые отлично себя показывают во всех задачах (в играх они уступают совсем немного) и стоят заметно дешевле.

Если же вы хотите собрать не слишком дорогой компьютер, то стоит обратить внимание на шестиядерные CPU — например, Intel Core i5-9600K и AMD Ryzen 5 3600X.

Руководство: сколько ядер нужно процессору в вашем компьютере

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

Если же говорить о CPU с восемью ядрами и более, они используются в дорогих ПК, но только в связке с достаточно мощной видеокартой. Нет никакого смысла в сочетании i9-9900K и GeForce GTX 1660 — для него понадобится что-то уровня хотя бы RTX 2070.

Отдельно нужно сказать о стриминге и записи видео во время игр. Если вы хотите заниматься этими вещами и стать новым Shroud или хотя бы Lirik, то в идеале вам понадобится отдельный ПК с мощным восьмиядерным CPU для кодирования видео в реальном времени. Если возможности купить второй дорогой компьютер нет, нужно выбирать CPU с восемью или более ядрами для первого — ему придется одновременно работать и с игрой, и с программой для стриминга / записи, а это необыкновенно сложная комбинация (впрочем, многое зависит от выбранной игры — если она совсем не «прожорлива» по отношению к CPU, может хватить и четырех ядер).

Руководство: сколько ядер нужно процессору в вашем компьютере

Физические и логические ядра CPU

Стоит поговорить о важном различии между физическими и логическими ядрами. Технологии Intel Hyper-threading и AMD Simultaneous Multithreading позволяют каждому ядру современных процессоров (по крайней мере, более-менее дорогих) одновременно работать с двумя потоками данных. Таким образом, поддержка HT и SMT означает удваивание количества ядер — например, с четырех физических до восьми логических.

Пригодится ли эта функция в играх и «тяжелом» ПО? Ответ однозначен: еще как!

SMT поддерживается большей частью процессоров, которые выпускает AMD — даже недорогими Ryzen 5. В случае с Intel поддержка HT есть только у топовых Core i7 и Core i9.

В 3D-ренедринге, кодировании видео, обработке задач, связанных с нейросетями и так далее дополнительные вычислительные потоки выгодны всегда. В играх они тоже практически всегда дают прирост производительности, но его далеко не во всех случаях можно назвать существенным — все опять-таки зависит от разработчиков и их способностей к оптимизации.

Bottlenecking — «узкое место»

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

В качестве примера можно привести уже упомянутую выше воображаемую систему с CPU Core i9-9900K и GPU GeForce GTX 1660. Первый будет регулярно «простаивать» из-за того, что GTX 1660 — это среднебюджетная модель, предназначенная для недорогих компьютеров. Таким образом, в этом случае тратить лишние деньги на Core i9 было незачем (отметим, однако, что в большинстве случаев это касается только игр).

Точный совет тут дать сложно, но старайтесь подбирать к бюджетным процессорам бюджетные видеокарты, а к дорогим — дорогие. Скажем, AMD Ryzen 3 и Intel Core i3 хорошо покажут себя в GPU вроде AMD Radeon RX 570 или Nvidia GeForce GTX 1650, Ryzen 5 и Core i5 — с Radeon RX 5700 и RTX 2060, Ryzen 7 и Core i7 — с RTX 2080, а Ryzen 9 и Core i9 — с RTX 2080 Ti, Titan или даже двумя мощными GPU одновременно.

Руководство: сколько ядер нужно процессору в вашем компьютере

Заключение

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

Еще несколько лет назад двухъядерные процессоры можно было назвать удовлетворительными, но к 2019 они остались уделом сверхбюджетных офисных ПК. Совсем скоро в таком же положении окажутся четырехъядерные модели без поддержки Hyper-threading и Simultaneous Multithreading.

Если вам нужен недорогой компьютер для обычной офисной работы или игр, выбирайте четыреъядерные CPU. Если хотите оптимальную производительность в играх, остановитесь на какой-нибудь из шестиядерных моделей. Если же нужна высокая производительность (что в играх, что в «тяжелых» пакетах ПО для серьезной работы со сложными вычислениями), покупайте процессор с восемью ядрами или более.

Источник http://www.xtechx.ru/c36-pomoshh-novichkam/vibor-processora-choice-processor/

Источник https://www.hardwareluxx.ru/index.php/artikel/hardware/grafikkarten/47517-faq-po-videokartam-geforce-chto-sleduet-znat-o-graficheskikh-kartakh.html?start=3

Источник https://review.1k.by/pc/Rykovodstvo_skolko_yader_nyjno_protsessory_v_vashem_kompiytere-1135.html

Источник

Leave a Comment

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