Какие инструкции процессора потребляют больше всего энергии?

Предыстория такова: на следующей неделе наш офис будет один день без отопления из-за технического обслуживания. Температура на улице ожидается от 7 до 12 градусов по Цельсию, поэтому может стать прохладно. Портативных электрических обогревателей слишком мало, чтобы обслуживать всех.

Тем не менее, в моем офисе площадью около 6-8 м2 есть большая рабочая станция (3 года) (HP xw8600 с четырехъядерным процессором Xeon 3,0 ГГц), которая должна выдавать пару сотен ватт тепла. Запуск Furmark позволит максимально использовать GPU, но я не уверен, как лучше всего использовать CPU. .

В прошлый раз, когда я был в холодном офисе, я либо чаще компилировал, либо просто запускал 4-8 DOSBox с Norton Commander, но я думаю, что можно добиться большего успеха, используя SSE1-2-3-4, MMX и т. д., т.е. больше работы за цикл.

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

Если бы у меня был доступ к измерителю мощности, я мог бы сравнить себя, но я полагаю, что это было бы забавным испытанием для SO-толпы. :)


person Macke    schedule 03.10.2012    source источник
comment
Вы обогреваете офис бенчмарком? Немного в стиле МакГайвера, тебе не кажется? ;о)   -  person Kai Mattern    schedule 03.10.2012
comment
Экран Cathodique может немного помочь.   -  person Luc M    schedule 03.10.2012
comment
@KaiMattern: МакГайвер был моим прозвищем в школе. Иди разберись. :)   -  person Macke    schedule 03.10.2012
comment
какие инструкции ЦП - для современных суперскалярных процессоров ООО вы должны использовать смесь различных инструкций, которые будут загружать все внутренние порты выполнения. Использование только SSE4 или AVX загрузит только 2-3 порта из 6-8.   -  person osgx    schedule 11.12.2012
comment
Было бы проще ответить и более наглядно предложить использовать старый процессор с более ограниченным набором инструкций? Является ли мощность фактором, определяющим количество перевернутых транзисторов и длину всех замкнутых цепей?   -  person Steve Clay    schedule 23.07.2014


Ответы (3)


Для вашей конкретной цели, если вы действительно хотите использовать свою систему в качестве генератора тепла, вам нужно сначала убедиться, что система охлаждения работает действительно хорошо (выбрасывая тепло из коробки). Современные процессоры предназначены для самостоятельного дросселирования при достижении критической температуры, что происходит, когда используется правильный радиатор и процессор находится на уровне TDP (Тепловой расчет Мощность — это максимальная мощность процессора при использовании обычных программ). Если у вас есть лучший радиатор и хорошая вентиляция (коробочный вентилятор?), вы, вероятно, сможете превзойти TDP, если ваш блок питания справится с этим. Если вы выключите вентилятор, вы сразу же достигнете теплового предела.

Чтобы быть более точным, отдельные инструкции, которые сжигают больше всего, обычно являются инструкциями загрузки, которые отсутствуют в кэшах и отправляются в память. Чтобы гарантировать промахи, вам нужно выделить кусок памяти, который больше, чем кэш ЦП последнего уровня, и прыгать по этой памяти. Схема переключения в случае максимальной мощности немного сложна, потому что вы пытаетесь одновременно получить максимальное количество промахов на каждом уровне иерархии кэша. Если у вас есть 3 уровня кеша, за определенный период времени у вас может быть больше промахов в L1, чем в L2, чем в L3, чем в страницу DRAM. (И конкретный дизайн вашего процессора будет иметь общее ограничение на промахи.) Между промахами инструкция не имеет большого значения, но я предполагаю, что одно из умножений SSE4 (PMULUDQ), вероятно, является лучшим, поскольку на много современных процессоров, они работают довольно быстро и обычно выполняют много работы (по сравнению с добавлением).

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

person Nathan Binkert    schedule 11.12.2012
comment
Вероятно, достаточно быть в TDP. Не нужно буквально сжигать процессор. Тем не менее, я хотел бы увидеть некоторое подтверждение вашего утверждения о мощности сжигания кэш-памяти. Я ожидаю, что ЦП будет простаивать и ждать памяти в течение 15-200 циклов. Комментарий @osgx w.r.t. SIMD выше больше соответствует моей интуиции.... - person Macke; 12.12.2012
comment
Вы правы в том, что если бы все, что вы делали, это промахи в кеше, это не потребляло бы достаточно энергии, но, как я предлагаю выше, вы хотите написать код, который постоянно промахивается в кеше и использует процессор как можно больше между инструкциями. Кроме того, превышение TDP не означает, что вы сожжете процессор. TDP - это всего лишь характеристика системы охлаждения. Если у вас есть лучшая система охлаждения, она может выдержать больше. - person Nathan Binkert; 12.12.2012
comment
Ok. Все это имеет смысл. Спасибо! - person Macke; 13.12.2012
comment
Не могли бы вы предложить пример фрагмента кода, как вам удается добиться промахов кеша и такой схемы выполнения, как вы описали? - person xakepp35; 14.07.2018

Для графики GeForce моя программа CudaMFLOPS (бесплатная) очень удобна для получения высоких температур на видеокарте. При наличии соответствующей карты реквизиты находятся в:

http://www.roylongbottom.org.uk/cuda1.htm#anchor8

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

person Roy Longbottom    schedule 11.07.2014

Для процессора используйте Prime95. Он легкий и хорошо загружает все ядра. Вы действительно не собираетесь получать много тепла от 3-ГГц Xeon. Чипы этого возраста обычно хороши для частот более 4 ГГц со средним охлаждением и около 5 ГГц с высокопроизводительными водяными контурами. С 6-ядерным чипом @> 4 ГГц с добавленным дополнительным напряжением вы можете достичь 200 Вт TDP, но с этой системой вам повезет, если процессор достигнет 100 Вт.

Что касается графического процессора, Heaven Benchmark хорош для быстрого прогрева. Опять же, если у вас нет видеокарты высокого класса, пара сотен ватт тепла маловероятна. Другой альтернативой GPU AMD (может быть, и nvidia?) является использование программного обеспечения для майнинга крипто-валюты, возможно, получение USB-накопителя с установленным и готовым к работе дистрибутивом Linux для майнинга. Вы также можете использовать Prime95 на той же установке, поскольку программное обеспечение для майнинга использует очень мало процессорного времени.

На самом деле я согревал пару комнат зимой за счет тепла от компьютера, лишь изредка нуждаясь в дополнительном отоплении. Это было сделано с помощью установки для майнинга криптовалюты, в которой было 4 графических процессора, работающих при температуре ~ 80 градусов по Цельсию, 24/7, с коробчатым вентилятором для циркуляции воздуха по комнате. У этой установки был блок питания на 1300 Вт. Могу я предложить вместо того, чтобы пытаться использовать компьютер, чтобы согреться, носить больше одежды?

person David    schedule 11.07.2014