intel

Про i7-7700k и подобные

Читал тесты i7-7700k, особо много не думал:

  1. +300MHz стоковой частоты за те же деньги (на $10 меньше, чем у i7-6700k) - хорошо (но мало)
  2. Аппаратный H.265 и VP9 - отлично, потому что видео в этих форматах будет (постепенно) больше, а смотреть 4k-H.265 без аппаратного декодера невозможно.
    Есть ли уже плейеры с поддержкой H.265 - не вдавался, если нету, то скоро появятся.
  3. Все остальное "не изменилось, или даже хуже" (в том смысле, что рост производительности на некоторых тестах меньше роста
  4. ...

4 года прогресса

Берем одну и ту же FreeBSD11 и делаем

time make -j8 buildworld

Сначала на i3-2120:

А потом на i3-6300T (пересадив диск на другую материнку)

Тактовые частоты одинаковые (3.3Ghz), платформы (материнка, сокет, тип памяти) - понятно что разные, но это как раз нормально т.к. апгрейд процессора "на 4 поколения" всяко сопровождается сменой платформы. Диск - SSD, памяти достаточно, чтобы влезли и исходники и получившийся результат (в сумме...

Intel CPU lineup

Что-то, граждане читатели, запутался я в интеловском брендинге.

Мне вот казалось, что от хорошего к прекрасному там такой ряд: Celeron - Pentium - i3 - i5 - i7 - Xeon (ну ладно, Xeon вроде как бывают без HT, поэтому пересекаются с i5/i7).

Однако:

  • Pentium D1508 - содержит на чипе два порта 10G, это как? И AVX2, кстати. Ни в каких других пентиумах нету AVX2 (правда были еще Pentium 1403/05, с AVX, на этом список пней с AVX вроде кончается)
  • i5/i7 не поддерживают ECC, но многие (все современные?) i3 - поддерживают, равно как и все современные Pentium и Celeron

Кто может объяснить - ПАЧЭМУ ТАК?

Ну или более практический вопрос: вот хочу NAS обновить. На Skylake (потому что в простое сильно меньше жрет), ну и с ECC тогда, раз уж есть вменяемые варианты.

Вот с точки зрения ZFS (на FreeBSD) - есть повод ставить побольше ядер, турбо-бусты и прочее? Или тупо Pentium G4500T даст кисть?

Про компьютеры

Есть вот такое мнение, что "компьютеры перестали становиться быстрее". Пару лет назад я его даже развеивал на хайлоаде, но в докладе упирал на SSE/AVX/итп.

Но тут понадобилось попрофайлить кой-чего на Core2 (у котогого aligned/unaligned access резко отличаются). Достал с полки старый свой макбук, 2007-го года, Core2 Duo, ~2.2гигагерца (могу ошибаться, по памяти пишу). Надо теперь собрать Qt. Вот Qt 5.3.2 собиралося у меня почти 7 часов (400 с чем-то минут по time), на двух ядрах.

Ну ладно, думаю, у этого ноутбука была тяжелая судьба, я ему всю систему охлаждения перебирал т.к. он throttle-лся (термопаста повысохла), может опять болеет.

Отобрал у жены ноут. Celeron T3100, то же поколение Сore2, 1.9гигагерца, винды. Вот 2010-я студия собирает, 5 часов уже прошло, до QtDeclarative добрались. Значит еще не меньше часа.

Для сравнения, i7-4770 собирает тот же Qt 5.3, судя по датам создания файлов, 36 минут. В 10 раз быстрее. Да, вдвое больше ядер, ~вдвое больше частота, но еще 2.5 раза просто от большей лучшести.

Это вот я к тому, что те кто гордо не апгрейдит свои Q6600, они на самом деле заметно отстали от.

Про Intel и OpenCL

И вторая за сегодня новость про OpenCL.

Вышел интеловский SDK (SDK for OpenCL Applications 2013 Release). А там, кроме всего прочего такое вот:

Support in dual adapter mode on Windows* 8: enables OpenCL workloads to be accelerated on Intel HD Graphics when the device is not directly connected to a display and fully enabled running Intel driver.
Я осуждаю то, что это только для Win8, а сам факт - одобряю. На Ivy Bridge/Haswell можно будет посчитать что-нибудь эдакое без чудовищного оверхеда по копированию по PCIe (а, всего-лишь, с небольшим оверхедом на double buffering :)

Не корысти ради, а порядку для

В процессе отречения от старого мира, стал ненужным следующий комплект добра:

  • Материнка Asus P6T6 WS Revolution (X58 + Nforce 200, 6 длинных PCIe разблюдовку по ширине смотрите в описании матери, 6 SATA, 2 SAS)
  • Процессор i7-920
  • Кулер Thermalright, забыл фамилие
Все вместе (именно этот процессор на именно этой матери) у меня работало, если я правильно помню, на 3.2Ghz, а на 3.4 только зимой, но могу на 200Mhz ошибиться (3.0 и 3.2), дело было давно. Память всю дорогу была 1600, более быструю не пробовал (и, формально, она и не поддерживается).

Оно мне не нужно. Ну то есть и так крутил и сяк, слишком много жрет (т.е. в шкафу греется, а не в шкафу у меня места для нее нет) и слишком большая материнка, некуда пристроить. Работает: я все это собрал сегодня, сунул памяти, загрузил инсталлятор хакинтоша, он загрузился, я и успокоился (ибо комплект и раньше был рабочим, правда CPU потом потрудился в другой машине).

Если есть конкретный интерес - я, конечно, и какой-нть Prime95 полчасика погоняю, на предмет как оно оверклочится.

Отдам весь комплект в хорошие руки. По цене процессора (7500р на сегодня), мать и кулер - комплимент от заведения. С автографом - дороже.

А, да, Москва. Знакомым (втч близко знакомым виртуально) дам в комплект чаепития, незнакомым - донесу до метро (Коньково или Юго-Западная).

Комплект - весь на фото. Ну еще планка на заднюю панель корпуса. Если нужны какие провода (SATA али еще чего) - найдем. Коробка, мануалы и все такое прочее - давно утеряны, но все нужное у асуса на сайте. GP Diagnostic Card вроде бы была, поищу предметнее если будет предметный же спрос.

Q: низкопотребляющие i5-SandyBridge

А вот к примеру есть два процессора:
  • i5-2400: 3.1Ghz, турбо на одном ядре до 3.3, 95 ватт.
  • i5-2400S: 2.5Ghz, турбо на одном ядре до 3.3, 65 ватт.
А сколько будет жрать i5-2400 (без S), если ему стандартный мультипликатор снизить до 25? Впишется ли в 65 ватт?

статью на fcenter, где намерили разницу в 12 ватт вместо 30 - читал. Ну и общий консенсус, дескать у S-моделей с производительностью на ватт хуже, чем у соседей по линейке - заметил. И что ватты эти - условные ("не больше, а меньше - бывает") - тоже усвоил.

Но вопрос у меня совсем конкретный - никто не встречал замеров по тепловыделению/потреблению для андерклоченных горшков?

Опять-снова о производительности ZFS

В процессе борьбы за увеличение количества PCI-e слотов в домашнем NAS, взял я кровные 300 баксов и отнес их в лабаз, где и приобрел:

  • 2x4GB памяти DDR3-1600
  • Процессор i3-2120
  • Материнку Gigabyte GA-Z68MA-D2H-B3 (3 длинных PCIe слота, x16, x8 и x4!)
На общую сумму 8800р или что-то вроде этого.

В сравнении с тем что было (Core2Quad Q9300, 8Gb), общий перформанс вырос не слишком сильно. make -j8 buildworld шел 44 минуты, а теперь идет 37. Это на SSD-диске.

...

О новых технологиях

Было (это результат профайлера, разложенный по тредам):

Через два дня работы и ~800 строк кода стало (естественно, на тех же параметрах и входных данных):

Реально постобработка маленьких картинок ускорилась в 6 раз, больших - в 4. Почему маленькие быстрее - Х.З. Может быть кэши рулят. Это без учета распаковки, которая в профиль включена (и, увы, она для LJPEG не параллелится, если оный LJPEG не порезан на кусочки, как в DNG).

Имею сказать:

  • Intel TBB клевый.
  • Hyperthreading, как выясняется, тоже клевый. Если его запретить, в 6 раз на мелких картинках не получается, а дальше не стал присматриваться.
  • Обработка в 16-bit int чудовищно неэффективна. 16 бит легко переполняются, а значит взял значение, сконвертировал (в int или float), посчитал что-то, законвертировал обратно.

    Всю систему менять надо, конвертировать сходу в float, там и считать. Но это не сейчас.

Результаты этого упражнения вы увидите в следующей версии RawDigger, на кнопку Apply оно будет реагировать сильно быстрее. Чем больше горшков в процессоре, тем быстрее.

О семантике C++ (продолжение)

Наши читатели подсказывают нам, что в рассмотренном ранее примере может быть алиасинг.

Действительно, если у нас такое вот:

class someShit{
        char *m_sBuffer;
        size_t m_iLimit;
        size_t m_iCounter;
};
то никто не может гарантировать, что где-то...

ISPC 1.10

ISPCшные примеры, понятно что подобранные со вкусом, дают повод задуматься:

 C:\> deferred_shading.exe pp1920x1200.bin [ispc static + tasks]: [151.426] million cycles to render 1920 x 1200 image [C++ serial dynamic, 1 core]: [2883.776] million cycles to render image (19.04x speedup from ISPC) C:\>mandelbrot_tasks.exe [mandelbrot ispc+tasks]: [190.607] million cycles [mandelbrot serial]: [2133.784] millon cycles (11.19x speedup from ISPC) C:\> mandelbrot.exe [mandelbrot ispc]: [102.830] million cycles [mandelbrot serial]: [276.757] millon cycles (2.69x speedup from ISPC) 

И если...

О взаимном знании двух рук - 2

С удовлетворением спешу сообщить, что мучившая меня с апреля проблема с VTune - излечена.

Поставил C++ Studio XE 2011 SP1 (Vtune там 2011 XE Update 5) - и Hotspot Analysis (который через драйвер) - заработал. И полугода не прошло. А то так и жил на Lightweight Hotspot. И хрен с ним с Hotspot, работают Lock/Wait и Concurrency, которые раньше были удобными, а за полгода я отвык.

Это та проблема, которая could not find ClientIntC function in the tool

Инженеры Интела из двух подразделений наконец повстречались в курилке!

Про AVX и ISPC

Разработчики Intel SPMD Program Compiler, который в этом блоге уже несколько раз поминался, выпустили версию 1.0.9 в которой

=== v1.0.9 === (26 September 2011)

The binary release of v1.0.9 is the first that supports AVX code generation. Two targets are provided: "avx", which runs with a programCount of 8, and "avx-x2" which runs 16 program instances simultaneously.

Честь им за это и хвала, мои попытки (не слишком настойчивые) самостоятельно собрать ISPC с LLVM3 так...

Про AVX и OpenCL

Вчера вышел Intel OpenCL SDK 1.5 с соответствующим анонсом: Increase OpenCL application performance with the new Intel OpenCL SDK 1.5

Пытаюсь enlarge increase эту самую performance, сую в бензопилу лом туда AMD-шные примеры, которые на предыдущей версии работали очень бодренько (и временами почти догоняли AMD-шную видеокарту) и вижу замедление в 2-3 раза для половины примеров.

Начинаю читать код и не вижу там 256-битности. Ну, почти не вижу. Кое-где есть 256-битные load/store, нашел даже один...

Опять про movntps

Читал комментарии к прошлому посту про movntps, много думал. Вспоминал, что на i7-920 выигрыш от movntps был и значительный.

Пришлось потратить час-полтора на очередной набор микробенчмарок. Картинка получилась куда сложнее, чем я сначала подумал.

Код

Может быть три легко локализуемых случая:

  • fill - данные как-то производятся из ничего и льются в память;
  • copy - из одного места читаем, в другое пишем;
  • stream - читаем данные, обрабатываем, пишем на старое место.

Соответственно, код для...

О компиляторах и процессорах: AVX

Армянское радио Нас спрашивают:

Как измениться производительность intrinsic варианта на Core-i7, если поменять
_mm_dp_ps на _mm256_dp_ps
_mm_blend_ps на _mm_blend256_ps

То-есть насколько вырастить производительность если мы совсем на AVX переедем и будет обрабатывать по 8 float за проход? А то слухи разные ходят... от 0% до 200% роста.

Отвечаем:

Если игнорировать возможную нечетность размера данных, то код получается таким:

ALIGN1(32) float
...

О компиляторах и процессорах

В комментариях к моему посту о целых числах и плавающей точке мне посоветовали обратить внимание на векторные типы данных и сравнить их по производительности со скалярными типами (ну и ручным SSE-ассемблером тоже).

Я обратил и сравнил, но в процессе получилась масса побочных результатов (разные архитектуры, разные компиляторы), которые жалко выкинуть, а хочется опубликовать.

Код

Я развлекался с кодом пересчета цветов по матричному профилю, только с матричной его частью, без пересчета гаммы. Оригинал был взят...

Об автоматической векторизации

Провел на поминавшемся вчера ISPC еще один тест, на применимость ровно в том месте, куда он лучше всего приспособлен.

Есть такое ужасное место в обработке изображений (уже поминавшееся в этом блоге): преобразование из линейной гаммы в sRGB-гамму или в Lab. Там в формуле сначала линейный участок, а потом степенной. Вот как это выглядит, если делать в лоб для плавающей точки:

void linear2srgb(float *in,
...

Не все йогурты одинаково полезны

OpenCL люб нам за то, что его вкус можно ощутить и без подходящей видеокарты, уже есть реализации для CPU.

Более того, реализаций для CPU уже две на виндах: AMD-шная входит в состав ATI Catalyst (драйверов для видеокарты) и даже при отсутствии подходящей видеокарты эта часть драйверов поставится. Кроме того, Intel-овский OpenCL на днях перешел из стадии альфа в бету. На Linux, кстати, есть еще IBM-овский OpenCL для CPU, все руки не доходят его ощупать.

Берем AMD-шный пример BitonicSort...

О взаимном знании двух рук

Надо сказать, что сочетание Sandy Bridge и интеловских средств профайлинга производит тягостное впечатление.

На i7 (предыдущего поколения) был у меня VTune Amplifier XE из состава Intel C++ Composer XE (12-я версия компилятора, а версию VTune я не считал). И все работало, никаких проблем.

После замены процессора VTune сказала мне, что hardware sampling на этой архитектуре она не умеет. Ну ладно, компилятор вышел в конце 2010-го, тогда Sandy Bridge в продаже не было (у интела, впрочем, были, как мне...

Pages

Subscribe to intel