Jak zjistit podporu Hyper-threadingu?

jadd

Jak zjistit podporu Hyper-threadingu?
« kdy: 09. 03. 2010, 17:44:29 »
V /proc/cpuinfo mám uvedenou podporu "ht" ale Intel u mého procesoru tvrdí že jej nepodporuje. To samé je na Wikipedii.

Tohle je zkopírovaná část z oficiální dokumentace, jak zjistit podporu.

The physical processor package is capable of
supporting more than one logical processor.
This field does not indicate that Hyper-Threading
Technology or Core Multi-Processing (CMP) has
been enabled for this specific processor. To
determine if Hyper-Threading Technology or CMP is
supported, compare value returned in EBX[23:16]
after executing CPUID with EAX=1. If the
resulting value is > 1, then the processor supports
Multi-Threading.
IF (CPUID(1).EBX[23:16] > 1)
{
Multi-Threading = TRUE
}
ELSE
{
Multi-Threading = FALSE
}

Jenom nevím jak to použít. Zkusil jsem těch osm řádků zkopírovat do souboru a spustit ale Bash mě vrátil

sh ./cpuid
./cpuid: řádek 1: chyba syntaxe poblíž neočekávaného tokenu „CPUID“
./cpuid: řádek 1: `IF (CPUID(1).EBX[23:16] > 1)'

Jak to spustit? Musí se to prohnat přes nějaký kompilátor?
« Poslední změna: 10. 03. 2010, 23:06:40 od Petr Krčmář »


Re: Jak zjistit podporu HypeTreadingu v Intel Procesoru?
« Odpověď #1 kdy: 10. 03. 2010, 12:52:13 »
HT se chová tak, že virtuálně zdvojnásobuje počet jader v procesoru. Pokud je v /etc/cpuinfo vidět dvojnásobej jader než kolik jich procesor fyzicky má, pak je tam HT.  V opačném případě HT procesor neumí nebo je vypnut v BIOSu. Sluší se dodat, že reálně přináší HT nárůst výkonu maximálně do 10 % a to ještě u aplikací, které dokáží běžet vícevláknově. Žádný dramatický nárůst se nekoná.

Kit

Re: Jak zjistit podporu HypeTreadingu?
« Odpověď #2 kdy: 10. 03. 2010, 18:22:11 »
Nesouhlasím. V případě renderování v programu POV-Ray s využitím HT jsem zaznamenal nárůst až o 50%.

.

Re: Jak zjistit podporu HypeTreadingu?
« Odpověď #3 kdy: 11. 03. 2010, 06:05:47 »
Nesouhlasím. V případě renderování v programu POV-Ray s využitím HT jsem zaznamenal nárůst až o 50%.
A teď hádej čím to je. Vzhledem k množství nesmyslů, kterými nás zaplavuješ, ti doporučuji studovat a nekomentovat.

nojme

Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #4 kdy: 11. 03. 2010, 06:44:38 »
Ten "skript" spustis stejne dobre asi jako vcerejsi seznam veci k nakupu.


aaa

Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #5 kdy: 11. 03. 2010, 13:45:48 »
len na vysvetlenie, "skript" je pseudo-kod - https://secure.wikimedia.org/wikipedia/en/wiki/Pseudo-code
Najlepsi sposob ako ho "spustit" je napisat program v assembleri ktory tu hodnotu v EBX[23:16] vypise ;-)

Xjmeno363

Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #6 kdy: 11. 03. 2010, 18:07:25 »
informace o tom, že ...maximálně do 10 % je samozřejmě zcela stejně nesmyslná jako hláška o 50%.
U HT bude přírůstek výkonu tím vyšší, čím méně budou u procesů kolidovat požadavky na sdílené prostředky v CPU a budou využívány zdvojené(z trojené..) části pipeline.
tedy přírůstek výkonu je silně aplikačně závislý a u CPU, které má několikanásobný počet např. násobiček může dosáhnout u optimalizovaných aplikací i více než 50% zrychlení.
U neoptimalizovaných aplikací však může bohužel docházet i ke zpomalení - plánovač si myslí, že má k dispozici dvě jádra a vytváří dva procesy - přitom ty následně kolidují na sdílených prostředcích.

Nicméně příchod skutečných vícejádrových CPU se již nedal zastavit.
A teď nás teprve čeká bonbónek
http://techresearch.intel.com/articles/Tera-Scale/1421.htm

guest

Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #7 kdy: 12. 03. 2010, 16:03:25 »
Už to zkoumat nebudu ale z čeho to /proc/cpuinfo vzalo když podpora není.

Podle toho jak to chápu, procesor "ht" podporuje ale je vypnut a nejde to uživatelsky měnit (Tedy jde to ale ne jednoduše a mě se to nepodaří a nebo to ani pro mobilní procesor není žadoucí ?)

Je ale zajímavý že corei7 to má zase zapnutý, tak to asi zbytečné není ? 

trubicoid

Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #8 kdy: 12. 03. 2010, 20:02:36 »
no pokud mas ht v cpuinfo, tak procesor ht podporuje; jaky cpu vlastne mas?

jeste je casto potreba ht povolit v biosu, ale nektery biosy proste tu volbu nemaji

pak je jeste moznost zapnout ht pomoci parametru prikazove radky kernelu a to bud <code>ht=on</code> a/nebo <code>acpi=ht</code>

jeste je potreba mit zkompilovany v jadre podporu pro HT CONFIG_X86_HT=y a pak se jeste podivej na <code>dmesg | grep -i hyper</code> jestli nerika neco jako <code>CPU: Hyper-threading is disabled</code>

guest

Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #9 kdy: 13. 03. 2010, 23:01:51 »

Core2duo P8600

který z nich přesně nevím, to mi v /proc nezobrazí.

V jádře to mám povolený, v BIOSu položku nemám a v dmesg po zapsaní "ht=on" do grubu0,97 nic nepíše.

Logik

  • *****
  • 1 061
    • Zobrazit profil
    • E-mail
Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #10 kdy: 13. 03. 2010, 23:12:57 »
No jedna věc je jistá: C2Duo opravdu HT nemá, a to ani vypnutej, protože C2Duo rodina to prostě neuměla.

PCnity

  • *****
  • 706
    • Zobrazit profil
    • E-mail
Re: Jak zjistit podporu Hyper-threadingu?
« Odpověď #11 kdy: 19. 03. 2010, 18:56:25 »
« Poslední změna: 19. 03. 2010, 18:58:25 od PCnity »

Contemporary digital spaces for mature visitors feature a variety of interactive opportunities.
These communities are designed for communication and exploring personal interests.
Users can connect with others who share goals.
Most of these resources focus on safe interaction and positive communication.
https://southernhistory.us/2025/10/07/mature-porn-exploring-the-appeal-and-unique-features/
The design is usually intuitive, making it easy to navigate.
Such platforms help people to express themselves in a free online environment.
Security remains an key part of the user experience, with many sites implementing protection.
Overall, these platforms are created to support mature interaction in a responsible digital space.