программа занимается пакетной обработкой изображений (чтение-процессинг-запись) понятно что это хорошо распараллеливается, поэтому появилось желание добавить поддержку многопроцессорных систем, разделив работу на несколько тредов по числу процессоров. на двухпроцессорной машине (атлоны) ускрение при использовании 2 тредов оказалось очень близко к 2. попытка запуска на интеле с гипертредингом естественно, показала замедленние в случае двух тредов, причем аж в 1.5 раза
понятно, что раз уж ос видит HT-процессор как 2 проца, надо анализировать модель проца и при наличии HT работать с одним тредом. в связи с этим вопрос: какие модели интелов подерживаю гипертрединг?
и второй вопрос, поважнее: в двухпроцессорной машине с двумя hyperthreading процессорами сколько процессоров видит система? 2? 4? просто нет под рукой такой железки и поверить нет возможности.
спасибо за ответы
29.11.04 17:31: Перенесено модератором из 'Железо' — AndrewVK
Здравствуйте, akella, Вы писали:
A>понятно, что раз уж ос видит HT-процессор как 2 проца, надо анализировать модель проца и при наличии HT работать с одним тредом. в связи с этим вопрос: какие модели интелов подерживаю гипертрединг?
Pentium 4 от 2400 и выше. Поддержка HT определяется расширенными флажками получаемыми после вызова команды CPUID с непомню точно каким параметром. См. мануал.
A>и второй вопрос, поважнее: в двухпроцессорной машине с двумя hyperthreading процессорами сколько процессоров видит система? 2? 4? просто нет под рукой такой железки и поверить нет возможности.
Здравствуйте, Малич Юрий, Вы писали:
МЮ>Pentium 4 от 2400 и выше. Поддержка HT определяется расширенными флажками получаемыми после вызова команды CPUID с непомню точно каким параметром. См. мануал.
Если мне не изменяет память, то P4 от 3000 и выше. По кр. мере на моем 2400 НТ и в помине нет.
Здравствуйте, akella, Вы писали:
A>посоветуйте плз по такой ситуации:
A>понятно, что раз уж ос видит HT-процессор как 2 проца, надо анализировать модель проца и при наличии HT работать с одним тредом. в связи с этим вопрос: какие модели интелов подерживаю гипертрединг?
MOV EAX, 1
CPUID
// проверить bit #28 регистра EDX, если 1 — процессор поддерживает HT
ВВ>>Если мне не изменяет память, то P4 от 3000 и выше. По кр. мере на моем 2400 НТ и в помине нет. МЮ>Есть, те что с 800 МГц FSB. У меня сейчас за соседним столом стоит
Если и так, то создается ощущение что на таких машинах он по умолчанию отключен. На рабочем 2.8/800 нету. А перегружаться лень.