пара вопросов по hyperthreading
От: akella Россия  
Дата: 29.11.04 09:38
Оценка:
посоветуйте плз по такой ситуации:

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

понятно, что раз уж ос видит HT-процессор как 2 проца, надо анализировать модель проца и при наличии HT работать с одним тредом. в связи с этим вопрос: какие модели интелов подерживаю гипертрединг?

и второй вопрос, поважнее: в двухпроцессорной машине с двумя hyperthreading процессорами сколько процессоров видит система? 2? 4? просто нет под рукой такой железки и поверить нет возможности.

спасибо за ответы

29.11.04 17:31: Перенесено модератором из 'Железо' — AndrewVK
Re: пара вопросов по hyperthreading
От: Малич Юрий Германия http://malich.ru
Дата: 29.11.04 10:04
Оценка:
Здравствуйте, akella, Вы писали:

A>понятно, что раз уж ос видит HT-процессор как 2 проца, надо анализировать модель проца и при наличии HT работать с одним тредом. в связи с этим вопрос: какие модели интелов подерживаю гипертрединг?


Pentium 4 от 2400 и выше. Поддержка HT определяется расширенными флажками получаемыми после вызова команды CPUID с непомню точно каким параметром. См. мануал.

A>и второй вопрос, поважнее: в двухпроцессорной машине с двумя hyperthreading процессорами сколько процессоров видит система? 2? 4? просто нет под рукой такой железки и поверить нет возможности.


Видит как 4 процессора.
"Практика — критерий истины" (c) Маркс
Re[2]: пара вопросов по hyperthreading
От: Воронков Василий Россия  
Дата: 29.11.04 10:07
Оценка:
Здравствуйте, Малич Юрий, Вы писали:

МЮ>Pentium 4 от 2400 и выше. Поддержка HT определяется расширенными флажками получаемыми после вызова команды CPUID с непомню точно каким параметром. См. мануал.


Если мне не изменяет память, то P4 от 3000 и выше. По кр. мере на моем 2400 НТ и в помине нет.

Да, и кстати. НТ можно спокойно отключить.
Re[3]: пара вопросов по hyperthreading
От: Малич Юрий Германия http://malich.ru
Дата: 29.11.04 10:18
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Если мне не изменяет память, то P4 от 3000 и выше. По кр. мере на моем 2400 НТ и в помине нет.


Есть, те что с 800 МГц FSB. У меня сейчас за соседним столом стоит
"Практика — критерий истины" (c) Маркс
Re[3]: Просто для подтверждения
От: Малич Юрий Германия http://malich.ru
Дата: 29.11.04 10:25
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>По кр. мере на моем 2400 НТ и в помине нет.


http://www.pcshop.spb.ru/good.php3?id=AAEGABKO
"Практика — критерий истины" (c) Маркс
Re: CPUID
От: Малич Юрий Германия http://malich.ru
Дата: 29.11.04 10:31
Оценка:
Здравствуйте, akella, Вы писали:

A>посоветуйте плз по такой ситуации:


A>понятно, что раз уж ос видит HT-процессор как 2 проца, надо анализировать модель проца и при наличии HT работать с одним тредом. в связи с этим вопрос: какие модели интелов подерживаю гипертрединг?


MOV EAX, 1
CPUID
// проверить bit #28 регистра EDX, если 1 — процессор поддерживает HT
"Практика — критерий истины" (c) Маркс
Re[4]: пара вопросов по hyperthreading
От: Воронков Василий Россия  
Дата: 29.11.04 12:42
Оценка:
Здравствуйте, Малич Юрий, Вы писали:


ВВ>>Если мне не изменяет память, то P4 от 3000 и выше. По кр. мере на моем 2400 НТ и в помине нет.

МЮ>Есть, те что с 800 МГц FSB. У меня сейчас за соседним столом стоит

Если и так, то создается ощущение что на таких машинах он по умолчанию отключен. На рабочем 2.8/800 нету. А перегружаться лень.
Re[2]: CPUID
От: Rirt  
Дата: 01.12.04 10:18
Оценка:
Здравствуйте, Малич Юрий, Вы писали:


МЮ>MOV EAX, 1

МЮ>CPUID
МЮ>// проверить bit #28 регистра EDX, если 1 — процессор поддерживает HT


Этот бит 28 в CPUID выдают равным 1 и поганые Celeron'ы.
О наличии HT см. здесь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.