Как отключить smt в биосе
Перейти к содержимому

Как отключить smt в биосе

  • автор:

SMT Mode — что это в биосе?

Приветствую. Сегодня я постараюсь простыми словами рассказать про одну функцию, которая позволяет повысить производительность процессора. Она давно уже существует в процах Intel и только относительно недавно появилась у AMD.

SMT Mode — что это такое?

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

  1. Для эффективной работы необходима не только поддержка SMT на аппаратном уровне, но и поддержка операционкой и софтом.
  2. При выставлении Activated могут быть проблемы с платой, поэтому лучше ставить Auto, тогда SMT все равно будет работать, но проблемы с платой будут минимизированы.
  3. По факту — 2 потока на ядро, как в технологии Intel Hyper-Threading. 1 поток слабее чем 1 ядро. Но 2 потока могут дать больше производительности, чем 1 ядро. Такие потоки Windows воспринимает как реальные ядра.

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

Для примера — посмотрите некоторые характеристики процессоров 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):

Заключение

  1. SMT Mode — активация технологии потоков в процессоре AMD.
  2. Позволяет увеличить производительность, особенно если софт/игра оптимизирована под многопоточность.

Что такое SMT и как оно работает в приложениях — плюсы и минусы

Пока я радую свои графоманские пристрастия написанием детальной технической статьи про «Windows Performance Station», захотелось поделиться своими мыслями о том, что хорошего и плохого приносит SMT в процессоры «AMD» и «Intel», и как тут поможет «Windows Performance Station».

image

Тем, кому интересна данная тема, добро пожаловать под кат…

Итак, для начала давайте определимся, что такое SMT.

Как говорит нам википедия, SMT (от англ. simultaneous multithreading) это одновременная многопоточность, т.е. несколько потоков выполняются одновременно, а не последовательно, как это происходит во «временно́й многопоточности».

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

Для начала поговорим про временну́ю многопоточность. До реализации технологии SMT в виде «Hyper-Threading» использовалась технология «временно́й многопоточности».

Тут всё просто, представим, что у нас есть один конвейер и один рабочий (Ядро ЦП), который выполняет операции над числами и записывает результат. Предположим, для этих операций ему нужна отвёртка и гаечный ключ. Операционная система (ОС) складывает нашему рабочему на конвейер по порядку одну операцию для отвёртки, а за ней одну операцию для гаечного ключа. Один рабочий в один момент времени может оперировать или только гаечным ключом или только отвёрткой. Таким образом, выкладывая разное количество разных блоков, ОС определяет приоритет выполнения тех или иных операций от разных приложений. Пропорцию одних блоков к другим мы можем указывать внутри ОС, когда указываем приоритет процесса. Именно это и делают все диспетчеры задач в т.ч. и «Windows Performance Station». Это приоритизирование распространяется далее на механизмы SMT и всю работу с конвейерами.

image

С появлением SMT ситуация становится чуть сложнее.

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

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

image

Исходя из этого, когда на конвейере находится операция (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, но у многоядерников не возникает момента простаивания процессора, когда на двоих рабочих одна отвёртка, т.к. в такой терминологии у каждого рабочего есть своя отвёртка и свой гаечный ключ.

image

Все эти пляски вокруг угадывания процессором того, как распараллелить текущие операции, приводят к серьёзным потерям энергии и к ощутимым фризам, когда происходит голодание разнотипных задач на ядрах с SMT.

Вообще, стоит держать в уме, что «Intel» разработала «Hyper-Threading» одновременно с созданием своих первых многоядерных процессоров «Xeon» и, по сути, эту технологию можно считать эдаким компромиссом когда ставится двойной конвейер на одно ядро.

С подачи маркетологов принято нахваливать то, как хорошо одно ядро может выполнять несколько задач одновременно и как повышается производительность «в некоторых сценариях использования», однако про проблемы, присущие концепции SMT принято умалчивать.

Примечательно, что на сайте «Intel» в рекламном ролике показывается скорее двухядерность, нежели «Hyper-Threading», тот кто дочитал до этого момента, наверняка уже догадался почему 🙂

Изображение из видео:

image

Более точное изображение:

Какой вывод можно здесь сделать и что улучшить?

Особенность отображения загрузки логических ядер в ОС Windows вводит путаницу об информации реальной загруженности ядер с SMT. Если Вы видите, что два соседних ядера заняты ~50% это может означать две вещи:
1) оба ядра выполняют два параллельных расчёта и загружены на 50% (тут всё ок).
2) оба ядра выполняют один рассчёт попеременно (как если бы два рабочих через такт передавали друг-другу гаечный ключ).
Поэтому, если Вы видите, что все ядра Вашего процессора с SMT загружены на 50% и выше нагрузка не поднимается, скорее всего это значит, что утилизация процессора составляет 100% но он занят однотипной задачей, которую не может разделить для выполнения на SMT!

Вместе с очевидными плюсами, SMT приносит фризы в чувствительные для времени выполнения задачи (воспроизведение видео/музыки или FPS в играх). Именно поэтому, многие геймеры наблюдают падение FPS при включенном SMT/Hyper-Threading.

Как я и написал ранее, приложение «Windows Performance Station» может сортировать блоки, выкладываемые на конвейер, ещё на этапе обработки задач ядром ОС. С помощью приоритетов и разделения процессов по ядрам процессора, можно выкладывать определённые блоки на конвейер в нужном количестве и класть разнотипные блоки для разных виртуальных ядер, чтобы не наступало голодание разнотипных задач. Именно для этой задачи динамического анализа в «Windows Performance Station» мы объединили нейросеть и диспетчер задач. В итоге, нейросеть анализирует задачу и раскладывает её в зависимости от полученных данных по разным правилам, благодаря чему, каждое ядро в паре SMT выполняет разные задачи.

image

Благодаря такому подходу, процессоры с SMT в Windows могут более эффективно работать с многозадачностью и многопоточными процессами. И именно поэтому нас весьма порадовало появление SMT в новых процессорах «AMD Ryzen».

Приложение «Windows Performance Station» бесплатное и не содержит рекламы, его можно скачать с нашего сайта по ссылке в спойлере:

Скачать

Более подробно про Windows Performance Station можно прочитать в моей предыдущей статье

Windows Performance Station или как я учил комп работать эффективно

Большое спасибо всем, кто дочитал до конца.

Снижение задержки ввода путём отключения SMT или Hyper-Threading

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

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

Мы уже обсуждали способы уменьшения задержки (пользовательский ISO-образ Windows, команды CMD, схемы управления питанием и т.д.), и сегодня я протестировал ещё один метод, с помощью которого можно сократить время ожидания на несколько миллисекунд.

Что такое SMT или Hyper-Threading

SMT (AMD) и Hyper-Threading (Intel) – это технологии, которые позволяют запускать более одного потока на каждом ядре, повышая эффективность процессоров во время рабочих нагрузок. Вот почему большинство современных процессоров описываются количеством ядер и потоков (например, 5600X имеет 6 ядер и 12 потоков).

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

Это слишком упрощенная версия того, что делают эти технологии, но для целей этой статьи достаточно понять простое уравнение: SMT/Hyper-Threading ON = возможно, более высокий FPS и производительность – в то время как – SMT/Hyper-Threading OFF = лучшая задержка в играх.

По сути, мне было любопытно, насколько большой будет разница в FPS для игр и насколько измеримой будет разница в задержке, если я отключу SMT (поскольку у меня система AMD) на моём ПК.

Методология

Я тестировал латентность с включенным и выключенным SMT с помощью LatencyMon, так как это очень популярный инструмент именно для этой задачи. Я запускал тест 3 раза как для SMT, так и для выключенного, и каждый раз перезапускал систему, чтобы убедиться, что система «свежая».

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

Для тестирования игры я решил использовать Apex Legends , так как эта игра известна тем, что является «многопоточной свиньей», что позволяет мне увидеть, как будет вести себя игра, если вдруг лишние потоки исчезнут, и она сможет работать только с 1 потоком на каждое ядро.

Сам тест представлял собой повторение заданий на полигоне, поскольку это контролируемая среда. Поскольку это не был надлежащий тест, результаты не являются точными на 100%, но, учитывая результаты, которые я записал, и то, что действия повторялись последовательно, я на 95% уверен в воспроизводимости окончательных результатов.

Всё это было выполнено на ПК, на котором запущен разгон PBO2 + Curve Optimizer на 5600X и разогнан RTX 2070. Я запускал пользовательскую установку Windows под названием KernelOS (1809), поэтому моя система уже довольно сильно настроена.

Тестирование с включенным SMT

Первым, что я протестировал с SMT, был LatencyMon, где результаты после 3 измерений были между 2,75 мкс и 2,8 мкс.

Проверка задержки в играх при включенном SMT – первый результат

Проверка задержки в играх при включенном SMT – второй результат

Проверка задержки в играх при включенном SMT – второй результат

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

В Apex я проделал 3 раза тот же набор действий, что описан в методике, при измерении и записи FPS с помощью MSI Afterburner и RivaTuner. Настройки в Apex были 1920×1080, 110 FOV, со всеми остальными настройками на низком уровне для максимального FPS.

Тестирование FPS в Apex с включенным SMT

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

Тестирование с выключенным SMT

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

В LatencyMon без запущенных фоновых приложений задержка снизилась до 2,45 мкс – 2,5 мкс по сравнению с 2,75 мкс и 2,8 мкс.

Первый результат тестирования задержки с выключенным SMT

Третий результат тестирования задержки с выключенным SMT

Хотя я заметил заметное снижение задержки, было интересно, что в Apex мой FPS вообще не изменился или изменения были в пределах погрешности.

Результаты тестирования FPS в Apex при выключенном SMT

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

Разумные ограничения

Ограничения моего небольшого исследования здесь очевидны – я использовал только LatencyMon для измерения изменений задержки и использовал только одну игру (по 3 запуска каждой, чтобы получить среднее значение). Более того, поскольку в моей системе работает процессор AMD, я не тестировал аналог от Intel.

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

Общий вывод заключается в том, что для игр отключение SMT/Hyper-Threading может привести к небольшой потере FPS (в зависимости от игрового движка и оптимизации), а для рабочих задач это приведет к существенной потере производительности.

Поскольку меня интересуют игры, я бы сказал, что отключение SMT/Hyper-Threading и снижение задержки стоит того, чтобы потерять немного FPS, особенно если после выполнения некоторых тестов вы не потеряете ни одного кадра, как в случае с Apex.

Выводы

Хотя отключение SMT/Hyper-Threading может снизить производительность в рабочих задачах, если вы, как и я, являетесь конкурентоспособным геймером, и вам нужна максимально низкая задержка, отключение SMT/Hyper-Threading – это шаг в правильном направлении.

Снижение задержки очевидно, в то время как падение FPS и производительности будет зависеть от отдельных игр и оптимизаций. В то же время, как отмечают другие авторитетные источники, «в играх, в целом, не заметно разницы между SMT On и SMT Off, однако некоторые игры могут показывать различия в сценариях с ограниченным процессором», что соответствует моему выводу.

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

Как отключить hyper threading?

отключение hyper-threading
Ребята, как отключить ету опцию в биосе. В биосе ее нет, значить она скрыта. Мне нужно отключить.

Как выключить Hyper-Threading?
извиняюсь..можно ли выключить Hyper-Threading? Тип ЦП Intel Pentium 4 524, 3066 MHz (23 x 133) .

Функция Hyper-Threading
Вопрос про полезность данной функции и про потребления питания процессором с включенной.

hyper-threading и виртуализация
Выбираю между 2-мя процами i5 & i7 по большому счету разница в них в наличии у последнего.

Эксперт Hardware

23616 / 13306 / 2313
Регистрация: 23.11.2016
Сообщений: 66,701
Записей в блоге: 31

заходите в биос.
ищете то ли в адвансед. то ли в павер пункт Hyper-Threading Technology
отключаете.
http://www.probios.ru/options/. ology.html

Эксперт Hardware

6265 / 3703 / 312
Регистрация: 13.02.2014
Сообщений: 13,669

ЦитатаСообщение от kumehtar Посмотреть сообщение

ищете то ли в адвансед. то ли в павер пункт Hyper-Threading Technology
отключаете.
И где он возьмет на амд, да ещё и на фуфыксе Hyper Threading?)
5078 / 2528 / 510
Регистрация: 09.09.2017
Сообщений: 9,399

BadKarma, На AMD-платформах нет hyper threading, но может быть SMT ( Simultaneous Multithreading).
Вряд ли эту технологию поддерживают процы старше zen.

Эксперт Hardware

23616 / 13306 / 2313
Регистрация: 23.11.2016
Сообщений: 66,701
Записей в блоге: 31

Загуглил тему.
Получается я написал вариант для интел, а у ТС-а амд.
BadKarma, походу пост №2 вам не поможет, потому что я недочитался.
Я загуглил пару биосов других матерей на ам3+ и не нашел в биосе ни одного упоминания про отключение многопоточности на этом сокете. Видимо имеется в виду особенность архитектуры FX, при котором там технически — и не многопоточность, и не многоядерность, а эти спаренные 2-ядерные блоки. или как их там, и отключать по сути нечего. Просто конструкция ядра предусматривает такую целостную архитектуру.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Обсуждение Hyper-Threading
Хотелось бы услышать мнения по процам INTEL PENTIUM с поддержкой Hyper-Threading

Что есть Hyper Threading
Прочитал статью уважаемого Evg "Влияние конвейера на скорость исполнения кода" у него в блоге.

Конвейеры и Hyper Threading (SMT)
Здравствуйте! В процессоре Pentium была реализована суперскалярность: к основному конвейеру u.

Hyper Threading Intel Pentium 4
Совершенно недавно узнал, что это такое. А проблема, собственно, вот в чем: некоторые игры очень.

Технология Hyper Threading на процессоре i7
i7 950 — это 4-х ядерный процессор с hyper threading. На компе работает 3 многопоточных сервера и.

В продолжении старой темы про Hyper-Threading
Начальная тема, сподвигнувшая меня зайти по той же ссылке на википедию, и сам не помню как увидеть.

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

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