AMD CPU qs

С несерверными AMD-шными CPU как-то вообще никогда не приходилось сталкиваться (да и с серверными - приходится не очень часто), а их же больше четверти (по статистике Steam).

При этом, хочется всякие новые варезы писать с расчетом на относительно новые процессоры, SSE3+ или вроде того. И если интелы в хозяйстве есть, от Core2 и выше, то с AMD - провал. Отсюда у меня возникает серия вопросов (википедию быстро пролистал, но там реально много, я лучше уточню):

Как оно ваще

  • Верно ли я понимаю, что AMD Llano - это продолжение старой серии, которая началась с K8. Т.е. отлаживаясь-бенчмаркаясь на ней - можно результаты экcтраполировать на более старые горшки?
  • AMD Trinity - это уже бульдозер, другой сокет (?? см. ниже) и все другое.
  • 3Dnow! - един, как в K6 появился, так новых инструкций не добавлялось. Разобрался: These instructions have many names, including 3DNow!+, 3DNow!ext, 3DNow!2, 3DNow! Professional, но ничего существенного для моих нужд не добавилось, ура.
  • Насколько embedded-процессоры (вроде Fusion E-350) позорны относительно десктопных процессоров 5-6-летней давности (ну, скажем, Intel Core2 Duo 1.83)?
Практика
  1. Существует ли сокет, в который можно было бы сунуть и процессор на K10-K12 и процессор на бульдозере (AM3+?)
  2. Вопрос 1, но процессоры берем с графическим ядром (Llano/Trinity) (нет?)
  3. Вопрос 1 или 2, но бывают ли такие сокеты на Mini-ITX мамках? (нет?)
Ну то бишь чешутся руки собрать что-то на AMD-Llano в Micro-ITX корпусе размером с мак-мини или чуть больше, да еще и с возможностью апгрейда на бульдозерные горшки.

Вроде как получается, что полного счастья нету, не бывает чтобы и с GPU и один сокет и два поколения?

В целях упрощения текста, я бульдозер и копер (piledriver) не различаю, оба поддерживают AVX и SSE4.1/2, с моей точки зрения (как разработчика) - это интелы без SSSE3 (да и то не факт, битик этот есть у AMD, может быть в википедии недописали).

Comments

> 3Dnow! - един, как в K6 появился, так новых инструкций не добавлялось.

Оно deprecated уже: http://blogs.amd.com/developer/2010/08/18/3dnow-deprecated/

Я знаю что оно deprecated, но процессоры то на руках остались и их достаточно много.

Только не Liano, а Llano (не лиана, а ллана).

О блин. И даже гугл в запросах не исправляет, похоже что частая ошибка.

нагуглилось
1 AM3+ motherboards will be backward-compatible with AM3 processors
2 Trinity-based APUs are not socket-compatible with Llano

AMD Llano = K10 (так же архитектура, что и Barcelona, Magny-Cours, Phenom), но с некоторыми улучшениями. В плане поддерживаемых расширений не отличается от остальных процессоров на AMD K10.
3dnow!ext = 3dnow!2 = 3dnow!+
3dnow!Pro = 3dnow!+ + SSE
3dnow! инструкции не поддерживаются в Bulldozer/Piledriver и Bobcat (E-series and alike), за исключением 3dnow! prefetch инструкций. Последние, кстати, будут поддерживаться на Haswell. Кроме того, они служат как NOP на современных Intel CPU.

Piledriver по сравнению с Bulldozer поддерживает также F16C (half-precision float <-> single-precision float conversion), FMA3, BMI, TBM, а также имеет некоторые оптимизации по сравнению с Bulldozer.
Piledriver и Bulldozer поддерживают SSSE3.

Давай я простой вопрос задам.
Если мне нужно нечто, похожее на "старый AMD" (который без AVX), то llano мне подойдет?

У ядер Llano нет общего кэша (т.е. L3 на Llano вообще нет). За исключением этого, Llano - обычный K10.

Кстати, пользуясь случаем, прорекламирую свой проект: www.yeppp.info
Детектирование различных наборов расширений и микроархитектур included.

Ай-ай. No releases were published yet. :(

Но доку посмотрел, напомнило IPP. И как и в случае IPP - нужно сначала сделать феноменально много, чтобы оно вдруг стало полезно....

Если какой-нибудь баг не выползет в последний момент, Tech Preview 1 будет выложен сегодня вечером (по EST).

Почти весь код (в том числе ассемблерный) генерируется кодогенератором, так что можно ожидать быстрого расширения функциональности.

Вот и релиз появился...

Ой. Licensed under 2-clause BSD license - и binary only?

Самое интересное что там есть - это "генератор сорцов". Потому что если легко генерируется хороший ассемблер под все платформы - это интересно. А плюс-минус-dotp - ну тоже интересно, но очень умеренно.

Пока что только бинарники, исходники будут когда я допилю систему сборки (да, библиотека использует свою систему сборки, свой compiler runtime, и скоро будет использовать свой ассемблер).

ИМХО, одна из наиболее интересных возможностей - детектирование разных "фич" процессора. Например, можете собрать examples/CpuInfo.cpp и посмотреть на результат. Для большего эффекта можно повторить эксперимент на ARM и MIPS.

Мы люди темные - и для наших темных дел qDetectProcessorFeatures из qt вполне хватает.

А не проще взять готовый микросервер на базе АМд-шки ?

Там же процессор a-la атом?

Несколько мощнее Атома, и есть 64-разрядность и возможность ставить 8 гиг памяти.

> Ну то бишь чешутся руки собрать что-то на AMD-Llano в Micro-ITX корпусе размером с мак-мини или чуть больше

Да пожалуйста: http://www.newegg.com/Product/Product.aspx?Item=N82E16813130664

А вот AM3+ в мини-итх только это http://www.asus.com/Motherboards/AMD_AM3/M4A88TI_Deluxe/

Но вот тут от разработчиков: http://www.tested.com/forums/pc-and-mac/96145-am3-mini-itx-motherboards/
We actually did produce one but overall demand from the AM3 community was not on the level hoped. It was a fantastic little board that had great functionality. Sadly we attempted to continued this forward with the F1A75-I Deluxe as well but had similar disinterest.

http://www.asus.com/Motherboards/AMD_AM3/M4A88TI_Deluxe/

You may find it available from a etailer somewhere but the UEFI will not have full AMD FX series processor support this is due to the high TDP requirements of the platform.