smt mode в биосе что такое ryzen
Smt mode в биосе что такое ryzen
Популярный французский ресурс Hardware.fr провёл собственное блиц-исследование влияния числа ядер в составе процессоров AMD Ryzen и поддержки многопоточности на современные приложения и популярные игры. С этой точки зрения процессоры Ryzen очень удобны. Поддержку SMT можно деактивировать, а на разницу в ядрах тактовая частота соответствующих моделей Ryzen практически не влияет. Так, частоты 6-ядерной модели R5 1600X и 8-ядерной R7 1800X совершенно одинаковы и равны 3.6/3.7 ГГц. Так что теоретически разница в производительности этих моделей приблизится к 33% и только за счёт разницы в количестве ядер/потоков. Модель Ryzen 5 1500X с 4 ядрами имеет на 100 МГц большую частоту, что даёт ей теоретическое превосходство в 2,8% по сравнению с частотами 6- и 8-ядерных моделей, тогда как «ядерное» превосходство между Ryzen 5 1500X и R5 1600X достигает 50%.
реклама
Источник взял за 100% производительность 4-ядерной модели Ryzen 5 1500X. Насколько изменилась производительность системы по мере увеличения числа ядер до 6 и 8 штук, смотрим ниже на графике.
Профессиональные приложения, что очевидно, в массе хорошо отозвались на увеличение числа ядер и разница в скорости работы 4-ядерной системы и 6-ядерной действительно приближалась к 50%. Особенно хорошо на рост числа ядер реагировали Stockfish, Komodo и кодек x264. Три приложения, однако, вели себя по-другому. Программы 7-Zip и WinRAR показали несколько худшую масштабируемость, но за это надо винить недостатки в работе подсистемы памяти платформы AMD Ryzen. Плохой результат получился при запуске Lightroom, что можно объяснить тем, что ПО ещё не умеет работать с новыми процессорами AMD. В среднем, переход с модели 1500X на 1600X дал 44% прироста производительности, а переход с 1600X на 1800X — добавил 26,8%. В обоих случаях заметно приближение к теоретическому пределу.
Как изменение числа ядер влияет на игры, смотрим на другом графике (выше). В отличие от приложений, как видим, игры хуже оптимизированы для работы на многоядерных платформах. Но эффект от роста ядер всё же есть. Лучше всего на увеличение ядер отозвалась игра Warhammer (с патчем 1.6.0, который корректно распознаёт SMT). При переходе с 4 ядер на 6 прирост скорости составил 26,9%. А вот переход с 6 ядер на 8 отозвался скромным приростом на 3,4%. Другой игрой, охотно откликающейся на ядра, стала Battlefield 1. Хуже всего на рост числа ядер отреагировала игра Project Cars. В среднем переход с 1500X на 1600X показал прирост производительности в играх на 12,7%. Переход с 6 ядер на 8 повысил скорость в играх только на 2,6%.
Теперь о влиянии многопоточности (SMT) на приложения. Отключение технологии SMT принято за 100%. Это также интересно по той причине, что модели Intel Core i5 не поддерживают HyperThreading.
Глядя на график сразу бросается в глаза то, что с SMT лучше работают процессоры с меньшим числом ядер. После активации SMT отдельные приложения показывают рост до 40% и 47% (Komodo и Visual Studio). Кодек x264 ровно отреагировал на отключение/включение SMT, а кодек x265 показал перекос в сторону меньшего числа ядер. Редактор Lightroom снова отличился — ушёл в минус после активации многопоточности, что говорит об отсутствии поддержки у пакета этой технологии.
Что такое SMT и как оно работает в приложениях — плюсы и минусы
Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».
Тем, кому интересна данная тема, добро пожаловать под кат…
Итак, для начала давайте определимся, что такое SMT.
Как говорит нам википедия, SMT (от англ. simultaneous multithreading) это одновременная многопоточность, т.е. несколько потоков выполняются одновременно, а не последовательно, как это происходит во «временно́й многопоточности».
Многие знают эту технологию под названием «Intel Hyper-Threading», про неё уже всё давно написано, но до сих пор я сталкиваюсь с тем что многие разработчики, и, тем более, обыватели не понимают в чём основная суть «одновременного» выполнения нескольких команд одним ядром процессора и какие проблемы это несёт.
Для начала поговорим про временну́ю многопоточность. До реализации технологии SMT в виде «Hyper-Threading» использовалась технология «временно́й многопоточности».
Тут всё просто, представим, что у нас есть один конвейер и один рабочий (Ядро ЦП), который выполняет операции над числами и записывает результат. Предположим, для этих операций ему нужна отвёртка и гаечный ключ. Операционная система (ОС) складывает нашему рабочему на конвейер по порядку одну операцию для отвёртки, а за ней одну операцию для гаечного ключа. Один рабочий в один момент времени может оперировать или только гаечным ключом или только отвёрткой. Таким образом, выкладывая разное количество разных блоков, ОС определяет приоритет выполнения тех или иных операций от разных приложений. Пропорцию одних блоков к другим мы можем указывать внутри ОС, когда указываем приоритет процесса. Именно это и делают все диспетчеры задач в т.ч. и «Windows Performance Station». Это приоритизирование распространяется далее на механизмы SMT и всю работу с конвейерами.
С появлением SMT ситуация становится чуть сложнее.
Представим конвейер и двух рабочих, у которых есть одна отвёртка и один гаечный ключ на двоих. При этом, каждый из них может оперировать либо только отвёрткой, либо только гаечным ключом. Один конвейер условно делится на две половинки вдоль. SMT позволяет сложить на такой конвейер сразу два числа, одно для работы с отвёрткой, а второе для работы с гаечным ключом, поэтому действия этих рабочих выглядят так:
— Первый рабочий получает операцию для отвёртки, а второй, стоящий напротив, в тот же момент времени, операцию для гаечного ключа, после чего оба записывают результат.
Исходя из этого, когда на конвейере находится операция (A и B) с одной стороны и (D и E) с другой стороны — всё отлично, но при распараллеливании цепочки вычислений могут получиться две проблемы:
1. С одной стороны конвейера оказалось действие (A и B) = С, а с другой (D и E) = C,
т.е. нужно записать сначала одно значение C, а потом второе значение C, но не одновременно (конфликт по управлению).
2. С одной стороны конвейера оказалось действие (A и B) = C, а с другой (A и C) = D,
т.е. нужно сначала посчитать C, а потом посчитать D, но не одновременно (конфликт по данным).
Оба конфликта вызывают задержку выполнения инструкций и решаются последовательным выполнением команд. Чтобы уменьшить такие задержки были введены элементы процессора под названием предсказатель переходов и кэш процессора.
Предсказатель переходов, как понятно из названия, осуществляет предсказание 🙂 Предсказывает он вероятность возникновения первой проблемы, когда разные преобразования должны произойти над одним числом.
В свою очередь, кэш процессора, необходим для быстрого решения второй проблемы, когда мы останавливаем решение выражения (A и C) = D и пишем в кэш результат выполнения (A и B) = C, после чего сразу вычисляем (A и C) = D.
Справедливости ради, стоит уточнить, что проблема распараллеливания конвейера появляется и у многоядерных процессоров без SMT, но у многоядерников не возникает момента простаивания процессора, когда на двоих рабочих одна отвёртка, т.к. в такой терминологии у каждого рабочего есть своя отвёртка и свой гаечный ключ.
Все эти пляски вокруг угадывания процессором того, как распараллелить текущие операции, приводят к серьёзным потерям энергии и к ощутимым фризам, когда происходит голодание разнотипных задач на ядрах с SMT.
Вообще, стоит держать в уме, что «Intel» разработала «Hyper-Threading» одновременно с созданием своих первых многоядерных процессоров «Xeon» и, по сути, эту технологию можно считать эдаким компромиссом когда ставится двойной конвейер на одно ядро.
С подачи маркетологов принято нахваливать то, как хорошо одно ядро может выполнять несколько задач одновременно и как повышается производительность «в некоторых сценариях использования», однако про проблемы, присущие концепции SMT принято умалчивать.
Примечательно, что на сайте «Intel» в рекламном ролике показывается скорее двухядерность, нежели «Hyper-Threading», тот кто дочитал до этого момента, наверняка уже догадался почему 🙂
Изображение из видео:
Более точное изображение:
Какой вывод можно здесь сделать и что улучшить?
Особенность отображения загрузки логических ядер в ОС Windows вводит путаницу об информации реальной загруженности ядер с SMT. Если Вы видите, что два соседних ядера заняты
50% это может означать две вещи:
1) оба ядра выполняют два параллельных расчёта и загружены на 50% (тут всё ок).
2) оба ядра выполняют один рассчёт попеременно (как если бы два рабочих через такт передавали друг-другу гаечный ключ).
Поэтому, если Вы видите, что все ядра Вашего процессора с SMT загружены на 50% и выше нагрузка не поднимается, скорее всего это значит, что утилизация процессора составляет 100% но он занят однотипной задачей, которую не может разделить для выполнения на SMT!
Вместе с очевидными плюсами, SMT приносит фризы в чувствительные для времени выполнения задачи (воспроизведение видео/музыки или FPS в играх). Именно поэтому, многие геймеры наблюдают падение FPS при включенном SMT/Hyper-Threading.
Как я и написал ранее, приложение «Windows Performance Station» может сортировать блоки, выкладываемые на конвейер, ещё на этапе обработки задач ядром ОС. С помощью приоритетов и разделения процессов по ядрам процессора, можно выкладывать определённые блоки на конвейер в нужном количестве и класть разнотипные блоки для разных виртуальных ядер, чтобы не наступало голодание разнотипных задач. Именно для этой задачи динамического анализа в «Windows Performance Station» мы объединили нейросеть и диспетчер задач. В итоге, нейросеть анализирует задачу и раскладывает её в зависимости от полученных данных по разным правилам, благодаря чему, каждое ядро в паре SMT выполняет разные задачи.
Благодаря такому подходу, процессоры с SMT в Windows могут более эффективно работать с многозадачностью и многопоточными процессами. И именно поэтому нас весьма порадовало появление SMT в новых процессорах «AMD Ryzen».
Приложение «Windows Performance Station» бесплатное и не содержит рекламы, его можно скачать с нашего сайта по ссылке в спойлере:
Более подробно про Windows Performance Station можно прочитать в моей предыдущей статье
Большое спасибо всем, кто дочитал до конца.
990x.top
Простой компьютерный блог для души)
SMT Mode — что это в биосе?
Приветствую. Сегодня я постараюсь простыми словами рассказать про одну функцию, которая позволяет повысить производительность процессора. Она давно уже существует в процах Intel и только относительно недавно появилась у AMD.
SMT Mode — что это такое?
Режим, при котором одно физическое ядро процессора представляется в виде двух виртуальных ядер, которые обрабатывают два потока данных вместо одного.
Другими словами это технология многопоточности, при включении которой производительность процессора повышается, потому что удается загрузить процессор по полной.
Для примера — посмотрите некоторые характеристики процессоров Ryzen, где видим, на одно ядро приходится два потока:

И опция SMT Mode именно активирует работу этих потоков. Нет смысла ее отключать.
SMT Mode — включать или нет?
При использовании последнего билда Windows 10, современных игр, последних драйверов, если у вас процессор Ryzen не первого поколения, а последнего — то в большинстве случаев отключение потоков снизит производительность. Сегодня многие баги связанные с многопоточностью уже устранили.
В интернете есть информация, что SMT стоит отключать для игр, в итоге повышается FPS. С чем связано? Смотрите, 6 ядер процессора — это 6 настоящих ядер, полноценных. Быстрых. А 12 потоков — это уже не полноценные ядра, могут выполнять больше работы, но не быстрее, потому что каждый такой поток работает медленнее одного ядра. Но суммарно 12 потоков смогут за одно время выполнить больше работы, чем 6 ядер и это при условии что софт оптимизирован под многопоточность. Но многим играм и правда достаточно 6 настоящих ядер (особенно если высокая частота), чем 12 потоков. Но повторюсь — все зависит от игры и от ее оптимизации.
Если игра оптимизирована под многопоточность, то отключение потоков только снизит FPS.
Кстати, что интересно.. у процессоров AMD FX по сути тоже присутствуют потоки. Хоть компания и представила их как 8-ядерные, там по сути 4 ядра и 8 потоков. Но отключить там потоки нельзя.
Когда только вышел Ryzen, то отключение потоков дало плюс в производительности. Но это было раньше. Сейчас уже все оптимизировали, в том числе и планировщик Windows.
Но при разгоне процессора SMT Mode стоит отключать.
Название раздела BIOS содержащий функцию зависит от производителя. Например на плате ASUS Prime X370 Pro функция SMT расположена здесь:
И имеет два варианта значений — Auto/Disabled. В тоже время на плате AsRock B450 Pro4 функция расположена здесь:
OC Tweaker/CPU Configuration
Значения опции — Enabled/Disabled.
Чтобы проверить отключена ли опция или нет, советую использовать CPU-Z — смотрим сколько ядер (Cores) и сколько потоков (Threads):

Если SMT Mode отключено — количество потоков будет равно количеству ядер.
Настройка в материнке MSI (раздел Overclocking\Параметры CPU):

Что такое SMT (Hyper-Threading) — плюсы и минусы
Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».
Тем, кому интересна данная тема, добро пожаловать под кат…
Итак, для начала давайте определимся, что такое SMT.
Как говорит нам википедия, SMT (от англ. simultaneous multithreading) это одновременная многопоточность, т.е. несколько потоков выполняются одновременно, а не последовательно, как это происходит во «временной многопоточности».
Многие знают эту технологию под названием «Intel Hyper-Threading», про неё уже всё давно написано, но до сих пор я сталкиваюсь с тем что многие разработчики, и, тем более, обыватели не понимают в чём основная суть «одновременного» выполнения нескольких команд одним ядром процессора и какие проблемы это несёт.
Для начала поговорим про временную многопоточность.
До реализации технологии SMT в виде «Hyper-Threading» использовалась технология «временной многопоточности».
Тут всё просто, представим, что у нас есть один конвейер и один рабочий (Ядро ЦП), который выполняет операции над числами и записывает результат. Предположим, для этих операций ему нужна отвёртка и гаечный ключ. Операционная система (ОС) складывает нашему рабочему на конвейер по порядку одну операцию для отвёртки, а за ней одну операцию для гаечного ключа. Один рабочий в один момент времени может оперировать или только гаечным ключом или только отвёрткой. Таким образом, выкладывая разное количество разных блоков, ОС определяет приоритет выполнения тех или иных операций от разных приложений. Пропорцию одних блоков к другим мы можем указывать внутри ОС, когда указываем приоритет процесса. Именно это и делают все диспетчеры задач в т.ч. и «Windows Performance Station». Это приоритизирование распространяется далее на механизмы SMT и всю работу с конвейерами.
С появлением SMT ситуация становится чуть сложнее.
Представим конвейер и двух рабочих, у которых есть одна отвёртка и один гаечный ключ на двоих. При этом, каждый из них может оперировать либо только отвёрткой, либо только гаечным ключом. Один конвейер условно делится на две половинки вдоль. SMT позволяет сложить на такой конвейер сразу два числа, одно для работы с отвёрткой, а второе для работы с гаечным ключом, поэтому действия этих рабочих выглядят так:
— Первый рабочий получает операцию для отвёртки, а второй, стоящий напротив, в тот же момент времени, операцию для гаечного ключа, после чего оба записывают результат.
Исходя из этого, когда на конвейере находится операция (A и B) с одной стороны и (D и E) с другой стороны — всё отлично, но при распараллеливании цепочки вычислений могут получиться две проблемы:
1. С одной стороны конвейера оказалось действие (A и B) = С, а с другой (D и E) = C,
т.е. нужно записать сначала одно значение C, а потом второе значение C, но не одновременно (конфликт по управлению).
2. С одной стороны конвейера оказалось действие (A и B) = C, а с другой (A и C) = D,
т.е. нужно сначала посчитать C, а потом посчитать D, но не одновременно (конфликт по данным).
Оба конфликта вызывают задержку выполнения инструкций и решаются последовательным выполнением команд. Чтобы уменьшить такие задержки были введены элементы процессора под названием предсказатель переходов и кэш процессора.
Предсказатель переходов, как понятно из названия, осуществляет предсказание 🙂
Предсказывает он вероятность возникновения первой проблемы, когда разные преобразования должны произойти над одним числом.
В свою очередь, кэш процессора, необходим для быстрого решения второй проблемы, когда мы останавливаем решение выражения (A и C) = D и пишем в кэш результат выполнения (A и B) = C, после чего сразу вычисляем (A и C) = D.
Справедливости ради, стоит уточнить, что проблема распараллеливания конвейера появляется и у многоядерных процессоров без SMT, но у многоядерников не возникает момента простаивания процессора, когда на двоих рабочих одна отвёртка, т.к. в такой терминологии у каждого рабочего есть своя отвёртка и свой гаечный ключ.
Все эти пляски вокруг угадывания процессором того, как распараллелить текущие операции, приводят к серьёзным потерям энергии и к ощутимым фризам, когда происходит голодание разнотипных задач на ядрах с SMT.
Вообще, стоит держать в уме, что «Intel» разработала «Hyper-Threading» одновременно с созданием своих первых многоядерных процессоров «Xeon» и, по сути, эту технологию можно считать эдаким компромиссом когда ставится двойной конвейер на одно ядро.
С подачи маркетологов принято нахваливать то, как хорошо одно ядро может выполнять несколько задач одновременно и как повышается производительность «в некоторых сценариях использования», однако про проблемы, присущие концепции SMT принято умалчивать.
Примечательно, что на сайте «Intel» в рекламном ролике показывается скорее двухядерность, нежели «Hyper-Threading», тот кто дочитал до этого момента, наверняка уже догадался почему 🙂
Изображение из видео:
Более точное изображение:
Какой вывод можно здесь сделать и что улучшить?
Вместе с очевидными плюсами, SMT приносит фризы в чувствительные для времени выполнения задачи (воспроизведение видео/музыки или FPS в играх). Именно поэтому, многие геймеры наблюдают падение FPS при включенном SMT/Hyper-Threading. Так как же нам уменьшить эти минусы и не потерять плюсы SMT?
Вот тут как раз нам и поможет управление задачами в ОС.
Как я и написал ранее, мы можем сортировать блоки, выкладываемые на конвейер, ещё на этапе обработки задач ядром ОС. С помощью приоритетов и разделения процессов по ядрам процессора, можно выкладывать определённые блоки на конвейер в нужном количестве и класть разнотипные блоки для разных виртуальных ядер, чтобы не наступало голодание разнотипных задач. Именно для этой задачи динамического анализа в «Windows Performance Station» мы объединили нейросеть и диспетчер задач. В итоге, нейросеть анализирует задачу и раскладывает её в зависимости от полученных данных по разным правилам, благодаря чему, каждое ядро в паре SMT выполняет разные задачи.
Благодаря такому подходу, процессоры с SMT в Windows могут более эффективно работать с многозадачностью и многопоточными процессами. И именно поэтому нас весьма порадовало появление SMT в новых процессорах «AMD Ryzen».
Приложение «Windows Performance Station» бесплатное и не содержит рекламы, его можно скачать с нашего сайта: winperst*ru
Большое спасибо всем, кто осилил данный текст 🙂
Интересно, за что статью заминусовали.
Вопрос-вопросов
Учёный «наказывает» астролога
Это видео точно поднимет вам настроение:)
Как же нелепо и смешно выглядят «аргументы» астролога против логики.
Вальхалла
Когда получил зарплату) асмр
Бизнес не идёт
Вот вам отличный бизнес-план:
Шаг первый. Собрать по кредитам необходимую сумму для аренды помещения и закупки оборудования для кофейни.
Шаг второй. Открыть кофейню у ТЦ.
Шаг третий. Начинать работать в 10. С перерывом с 10 до 11.
Шаг четвёртый. Жаловаться на отсутствие клиентов и убыточность бизнеса.
Так как работаю в ТЦ, частенько покупаю в одной и той же точке кофе по утрам. Сейчас вышел замечательный диалог с баристой, он же собственник:
-Закрывать буду точку. Совсем мало клиентов.
— Странно. Утром с 9 у автоматов очереди. Сотрудники на работу заранее приходят и каждый второй кофе берет в автомате.
-так то утром. А я ж с 10.
-так открывайся в 9. А лучше в 8. С 8 до 10 очень многим нужен кофе.
-та это ж во сколько вставать надо? Не, я так рано не хочу.
Перешли это своему работодателю
Ответ на пост «»Выворачивали руки и прыгали на голове». Видео жестокого издевательства над пятиклассником сняли в пермской школе»
Приснится же.
Приснился мне сон, что я работаю мойщиком окон. На поездах РЖД. Снаружи. Во время движения. С напарником преклонного возраста, который на этом деле килограмм мух и двух шмелей съел. Трагедия мойщика окон на поездах РЖД состоит в том, что во время работы поезд уносит тебя неизвестно куда. И там, в неизвестно кудах, ты остаешься ночевать. Специальная служба организует тебе ночлег, горячее питание и утром будит на работу. Приходишь на станцию и начинаешь работать на очередном, случайном, составе. Он тебя уносить опять неизвестно куда и далее по схеме. Так и носит тебя по просторам, родным и не очень. И домой попасть можно чисто случайно, не факт, что в этой жизни.
Так как напарник с большим стажем, случается, что попадает в какой-нибудь населенный пункт по второму разу. И тогда его там встречают с белыми цветами как ветерана труда. Вот такие новости из личной кинодраматургии.
Youtube убирает кнопку дизлайк
Самый короткий опыт работы
Было это лет 5 назад. Устроился к нам в школу парень учителем.
Итак, понедельник, первый его рабочий день. Первый пед.совет. Парень 1,5 часа слушал план работы на неделю, потом вышел с совещания и уволился))))
Ни одного урока он так и не провёл.
Подсказка
Будущее наступило
Притча
Один купец ехал на ярмарку во Франкфурт и по дороге, на улице одной из деревенек, которые он проезжал, потерял кошель, в котором было 800 гульденов. Сумма огромная!
Шел по этой дороге местный плотник и нашел кошель. Принес домой. Никому о нем не сказал, а спрятал в ожидании, что может объявиться хозяин потери – придется ведь отдавать. Если не объявится – другое дело. В любом случае надо подождать.
В ближайшее воскресенье местный священник объявил в церкви, что потеряны 800 гульденов и что если кто-то их найдет и вернет, то ему будет выплачено 100 гульденов награды. Плотник в тот день в церковь не ходил, а потому узнал эту новость от жены. Взял кошель и пошел к священнику выяснять — правду ли тот говорил. Священник подтвердил свои слова. Тогда плотник показал священнику кошель и предложил ему найти хозяина денег, чтобы тот мог забрать свои деньги.
Священник послал за купцом. Купец прибыл. Взял кошель. Пересчитал деньги и дал плотнику 5 гульденов со словами: «А сто гульденов ты взял без спросу сам, так как в кошеле было 900 гульденов!».
Плотник возмутился, что его обвиняют в воровстве и заявил:
— Я не единого гульдена не взял, не то, что сотни. Я ведь человек верующий.
Священник подтвердил, что плотник глубоко верующий человек и соблюдает заповеди Господни, а потому он не мог взять этой сотни гульденов. Купец стоял на своем. Спор закончился тем, что священник отвел и плотника и купца в суд города Франкфурта.
Дело разбиралось несколько дней, став предметом многочисленных обсуждений у местных жителей. И поэтому в день, когда суд должен был вынести свое решение, в здании суда было полно народа. Всем было интересно, чем закончится это дело.
Судья, который главенствовал тот день в суде, обратился первым делом к купцу:
— Ты можешь присягнуть, что потерял именно 900 гульденов?
Купец положил руку на Библию, и присягнул. Судья обратился к плотнику:
— Ты можешь присягнуть, что нашел 800 гульденов?
Плотник положил руку на Библию и присягнул.
— Дело очевидное, — вынес свой вердикт судья. – Кошель, который нашел плотник не принадлежит купцу, потерявшему свои 900 гульденов. Потому кошель и 800 гульденов передается плотнику и тот может распоряжаться деньгами по своему усмотрению. Купцу же надлежит продолжить поиски своего кошеля, в котором было 900 гульденов!
Купцу пришлось отдать плотнику 800 гульденов и остаться ни с чем. А не пожадничай он, отдай в качестве вознаграждения 100 гульденов, как обещал, то остался бы с деньгами.






















