Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

booklovin
Сообщения: 13
Зарегистрирован: 19 ноя 2020, 09:08
Контактная информация:

Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение booklovin »

Где-нибудь можно найти список векторных инструкций, которые были добавлены в Эльбрус-8СВ по сравнению с Эльбрус-8С ?

Где-нибудь есть информация о различиях поколений Эльбрус-процекссоров? Вроде как Эльбрус-8С - это 4-е поколение, а Эльбрус-8СВ - это 5-е поколение. В чем отличие? Поддержкой памяти DDR3 и DDR4? Что еще?

Аватара пользователя
mike
Сообщения: 59
Зарегистрирован: 24 апр 2017, 13:58
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение mike »

Запрашивайте support@, полагаю -- в mcst.ru/elbrus_prog сходу не вижу.
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус

booklovin
Сообщения: 13
Зарегистрирован: 19 ноя 2020, 09:08
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение booklovin »

mike писал(а):
24 ноя 2020, 19:42
Запрашивайте support@, полагаю -- в mcst.ru/elbrus_prog сходу не вижу.
Я же не владелец Эльбруса, мне ничего не дадуть.

По поводу различий поколений 4 и 5, в принципе, можно понять из Википедии. Если сравнить таблицу для 8С и 8СВ, представление получить можно:

Код: Выделить всё

                                        8C (4 поколение)     8СВ (5 поколение)

Тактовая частота                        1300 МГц             1500 МГц       

Число ядер                              8                    8       

Число одновременных операций за такт    25                   50       
в каждом ядре, максимально

Пиковая производительность микросхемы,  125                  288       
Gflops (64 разряда, двойная точность)   

Пиковая производительность микросхемы,  250                  576       
Gflops (32 разряда, одинарная точность) 

Кэш-память 2-го уровня                  8 * 512 КБ           8 * 512 КБ       

Кэш-память 3-го уровня                  16 МБ                16 МБ       

Организация оперативной памяти          DDR3-1600 ECC        DDR4-2400 ECC       

Количество контроллеров памяти          4                    4       

Возможность объединения в               До 4 процессоров     До 4 процессоров       
многопроцессорную систему
с когерентной общей памятью

Каналы межпроцессорного обмена          3, Каналы дуплексные Нет информации       

Пропускная способность каждого канала   8 ГБ/сек             Нет информации       
межпроцессорного обмена

Площадь кристалла                       321 mm2              350 mm2       

Число транзисторов                      2.73 миллиарда       3.5 миллиарда       

Энергопотребление                       75—90 Вт ~100 Вт     90 Вт
Походу, с потребительской точки зрения, повысили частоту до 1500 МГц, сделали поддержку DDR4, увеличили конвейер в два раза до 50 инструкций, добавили загадочные векторные инструкции.

Наверно 8СВ - это тот минимальный процессор, на котором хоть как-то может крутиться неоптимизированный код. Заявленные гигафлопсы возможны только теоретически, если все части алгоритма будут упиханы четко в 50 инструкций, т.е. будет полностью забит конвейер. Это возможно, наверно, только при работе с какими-нибудь большими массивами/матрицами. На коде общего назначения такой производительности не будет однозначно.

Аватара пользователя
imaxai
Сообщения: 18
Зарегистрирован: 10 авг 2016, 13:38
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение imaxai »

booklovin писал(а):
25 ноя 2020, 10:06
На коде общего назначения такой производительности не будет однозначно.
так код "общего" назначения оптимизирован под х86 (АМД64), но никак не под "абстрактный проц, а еще его под х86 подгонять надо и переписывать"

xintrea
Сообщения: 7
Зарегистрирован: 26 ноя 2020, 09:06
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение xintrea »

imaxai писал(а):
25 ноя 2020, 16:34
так код "общего" назначения оптимизирован под х86 (АМД64), но никак не под "абстрактный проц, а еще его под х86 подгонять надо и переписывать"
В случае Эльбруса, код общего назначения - это исходники на C/C++ и других компилируемых языках, не? Про какие оптимизации под x86 идет речь, если код общего назначения (Linux и СПО) работает на архитектурах x86, amd64, ARM, MIPS?

Товарищ говорит про то, что обычный C/C++ код не даст на Эльбрусе тех гигафлопсов, которые заявлены, без серьезных переделок кода. А исполнение скриптовых языков под Эльбрусом - это вообще отдельный вопрос, и замеры на сайте Альтлинуха показывают, что даже на приведенной частоте отставание Эльбруса в таких задачах раза в три по сравнению с RISC/CISC суперскалярами с предсказателем переходов. И появление векторных инструкций на ускорение исполнения таких задач никак не влияет.

Аватара пользователя
mike
Сообщения: 59
Зарегистрирован: 24 апр 2017, 13:58
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение mike »

>>> увеличили конвейер в два раза до 50 инструкций
Нет, это не конвейер, а IPC -- количество элементарных инструкций за такт (на ядро).

> В случае Эльбруса, код общего назначения - это исходники на C/C++
> и других компилируемых языках, не?
Например.

> Про какие оптимизации под x86 идет речь, если код общего назначения (Linux и СПО)
> работает на архитектурах x86, amd64, ARM, MIPS?
Погрепайте исходники под рукой на предмет чего-то вроде

Код: Выделить всё

if (defined(__amd64__) || defined(__x86_64__) || defined(_M_X64))
-- наверняка откроете для себя много нового.

См. тж. http://altlinux.org/эльбрус/портирование (хотя это не именно про оптимизацию, тоже может послужить косвенным ответом).

PS: думаю, что же за логин такой знакомый... если что, mytetra 1.42.2 на e2k собирается :-) (текущая версия в альте)
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус

xintrea
Сообщения: 7
Зарегистрирован: 26 ноя 2020, 09:06
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение xintrea »

mike писал(а):
26 ноя 2020, 12:18
> В случае Эльбруса, код общего назначения - это исходники на C/C++
> и других компилируемых языках, не?
Например.
Фортран.
mike писал(а):
26 ноя 2020, 12:18
> Про какие оптимизации под x86 идет речь, если код общего назначения (Linux и СПО)
> работает на архитектурах x86, amd64, ARM, MIPS?
Погрепайте исходники под рукой на предмет чего-то вроде

Код: Выделить всё

if (defined(__amd64__) || defined(__x86_64__) || defined(_M_X64))
-- наверняка откроете для себя много нового.
Дык сами МЦСТ топят за то, что код должен быть просто написан в современных стандартах, без этих вот заточек под архитектуру. И такие вещи я видывал только в коде ядра и драйверах, в прикладном ПО такую условную компиляцию встретишь не часто.
mike писал(а):
26 ноя 2020, 12:18
PS: думаю, что же за логин такой знакомый... если что, mytetra 1.42.2 на e2k собирается :-) (текущая версия в альте)
Это хорошая новость, благодарю :) . Значит, мой подход к гарантии кроссплатформенности дает свои плоды. А то мне говорили: "ты не сможешь", "кроссплатформенность невозможна" и т. д. Правда, версия у вас старовата, сейчас актуальна 1.44.139 из ветки experimental. Последние доработки такие: Диспетчер открепляемых окон заработал в MyTetra. Я официального релиза не выпускаю, потому что должен поисправлять все что наметил, а там еще ковыряться и ковыряться. Но для новой версии рекомендован Qt 5.12.6, не знаю, доступен ли таковой под Эльбрусом.

Я подумывал зарегистрироваться на удаленное подключение к Эльбрусу, чтобы проверить работу MyTetra, однако времени мне не хватает, хотя делов то на пару дней. Но все равно это будет суррогат, а хотелось бы уже приобрести 8СВ или 16С в частное пользование.

Аватара пользователя
mike
Сообщения: 59
Зарегистрирован: 24 апр 2017, 13:58
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение mike »

> Фортран.
Ага.

> Дык сами МЦСТ топят за то, что код должен быть просто написан в современных стандартах
В библиотеках и заточенных прикладухах всё-таки не редкость.

> А то мне говорили: "ты не сможешь", "кроссплатформенность невозможна" и т. д.
Из всех утюгов, поди?

> Правда, версия у вас старовата
А какую стабильную порекомендуете?

> Но для новой версии рекомендован Qt 5.12.6, не знаю, доступен ли таковой под Эльбрусом.
В текущих бетах Эльбрус Линукс и ОС Альт для Эльбрус -- 5.12.6 и 5.12.9.

> Но все равно это будет суррогат, а хотелось бы уже приобрести 8СВ или 16С в частное пользование.
Ну как суррогат, шелл он и есть шелл -- мы так альт и начинали перетаскивать на эльбрус. :)

До 16С в рознице ещё года два, да и это сугубо серверный процессор будет -- из той линейки 12С больше похож на сердце мощной рабочей станции. А вот 8СВ уже едет, сам домой хочу купить, раз уж 101-РС не получилось (может, и к лучшему).
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус

xintrea
Сообщения: 7
Зарегистрирован: 26 ноя 2020, 09:06
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение xintrea »

> А какую стабильную порекомендуете?

Сейчас актуальна версия MyTetra 1.44.139, я пользуюсь ей. По сравнению с 1.42.xx там много плюшек было добавлено.

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

Аватара пользователя
mike
Сообщения: 59
Зарегистрирован: 24 апр 2017, 13:58
Контактная информация:

Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров

Сообщение mike »

v.1.44.139 на e2k тоже собралась -- пакет обновлять не готов (хотя можно попросить коллег), а вот засунуть имеющийся в hasher, подсунуть в полученное сборочное окружение mytetra_dev.git и собрать особых трудов не составило.
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус

Ответить

Вернуться в «Микропроцессоры серии "Эльбрус"»