SMT — общий метод, а Hyper-Threading — название реализации Intel. AMD называет свою двухпоточную реализацию в ядрах Zen просто SMT.
Почему это важно
SMT лучше использует простаивающие части ядра и иногда повышает общую производительность, но не удваивает число ядер. Эффект зависит от нагрузки и подтверждается измерением.
Что подтверждено
Распространённый двухпоточный SMT предоставляет два аппаратных потока на одно физическое ядро; так работают AMD Zen и Intel Hyper-Threading.
Граница применимости: У других архитектур число потоков на ядро может отличаться, а SMT может отсутствовать.
SMT создаёт отдельные логические контексты выполнения, которые используют общие ресурсы одного физического ядра.
Граница применимости: Какие именно ресурсы остаются общими, зависит от микроархитектуры.
SMT не гарантирует прирост: AMD отмечает нейтральный или отрицательный эффект для некоторых нагрузок и рекомендует проверять настройку измерениями.
Граница применимости: Результат одной нагрузки нельзя переносить на другое приложение или процессор без нового измерения.
Не путать
Что проверить
- Уточните, сколько аппаратных потоков поддерживает одно ядро.
- Проверьте настройку BIOS и топологию, видимую ОС.
- Сравните одну и ту же нагрузку с включённым и выключенным SMT.
Первоисточники
AMD EPYC and SMT Technology Brief
AMD · Technology Brief, апрель 2025 года
Описывает 2-way SMT в AMD Zen cores и два hardware thread на core.
Открыть первоисточникIntel Hyper-Threading Technology — 12th Generation Intel Core Datasheet
Intel · Datasheet Volume 1, ID 655258, 22 декабря 2021 года
Показывает два logical processor, отдельное architectural state и общие ресурсы одного core.
Открыть первоисточникAMD EPYC 9004 BIOS and Workload Tuning Guide
AMD · Publication 58011, Rev 1.6, октябрь 2025 года
Фиксирует два hardware thread при SMT и предупреждает о нейтральном или отрицательном эффекте на части workload.
Открыть первоисточникHyper-Threading Technology Architecture and Microarchitecture
Intel Technology Journal · Intel Technology Journal, Volume 6 Issue 1, 2002 год
Первичное техническое описание Hyper-Threading как реализации simultaneous multithreading.
Открыть первоисточник