Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
-
- Сообщения: 13
- Зарегистрирован: 19 ноя 2020, 09:08
- Контактная информация:
Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
Где-нибудь можно найти список векторных инструкций, которые были добавлены в Эльбрус-8СВ по сравнению с Эльбрус-8С ?
Где-нибудь есть информация о различиях поколений Эльбрус-процекссоров? Вроде как Эльбрус-8С - это 4-е поколение, а Эльбрус-8СВ - это 5-е поколение. В чем отличие? Поддержкой памяти DDR3 и DDR4? Что еще?
Где-нибудь есть информация о различиях поколений Эльбрус-процекссоров? Вроде как Эльбрус-8С - это 4-е поколение, а Эльбрус-8СВ - это 5-е поколение. В чем отличие? Поддержкой памяти DDR3 и DDR4? Что еще?
- mike
- Сообщения: 59
- Зарегистрирован: 24 апр 2017, 13:58
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
Запрашивайте support@, полагаю -- в mcst.ru/elbrus_prog сходу не вижу.
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус
-
- Сообщения: 13
- Зарегистрирован: 19 ноя 2020, 09:08
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
Я же не владелец Эльбруса, мне ничего не дадуть.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 Вт
Наверно 8СВ - это тот минимальный процессор, на котором хоть как-то может крутиться неоптимизированный код. Заявленные гигафлопсы возможны только теоретически, если все части алгоритма будут упиханы четко в 50 инструкций, т.е. будет полностью забит конвейер. Это возможно, наверно, только при работе с какими-нибудь большими массивами/матрицами. На коде общего назначения такой производительности не будет однозначно.
- imaxai
- Сообщения: 18
- Зарегистрирован: 10 авг 2016, 13:38
- Контактная информация:
-
- Сообщения: 7
- Зарегистрирован: 26 ноя 2020, 09:06
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
В случае Эльбруса, код общего назначения - это исходники на C/C++ и других компилируемых языках, не? Про какие оптимизации под x86 идет речь, если код общего назначения (Linux и СПО) работает на архитектурах x86, amd64, ARM, MIPS?
Товарищ говорит про то, что обычный C/C++ код не даст на Эльбрусе тех гигафлопсов, которые заявлены, без серьезных переделок кода. А исполнение скриптовых языков под Эльбрусом - это вообще отдельный вопрос, и замеры на сайте Альтлинуха показывают, что даже на приведенной частоте отставание Эльбруса в таких задачах раза в три по сравнению с RISC/CISC суперскалярами с предсказателем переходов. И появление векторных инструкций на ускорение исполнения таких задач никак не влияет.
- mike
- Сообщения: 59
- Зарегистрирован: 24 апр 2017, 13:58
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
>>> увеличили конвейер в два раза до 50 инструкций
Нет, это не конвейер, а IPC -- количество элементарных инструкций за такт (на ядро).
> В случае Эльбруса, код общего назначения - это исходники на C/C++
> и других компилируемых языках, не?
Например.
> Про какие оптимизации под x86 идет речь, если код общего назначения (Linux и СПО)
> работает на архитектурах x86, amd64, ARM, MIPS?
Погрепайте исходники под рукой на предмет чего-то вроде
-- наверняка откроете для себя много нового.
См. тж. http://altlinux.org/эльбрус/портирование (хотя это не именно про оптимизацию, тоже может послужить косвенным ответом).
PS: думаю, что же за логин такой знакомый... если что, mytetra 1.42.2 на e2k собирается :-) (текущая версия в альте)
Нет, это не конвейер, а 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/эльбрус
-
- Сообщения: 7
- Зарегистрирован: 26 ноя 2020, 09:06
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
Фортран.
Дык сами МЦСТ топят за то, что код должен быть просто написан в современных стандартах, без этих вот заточек под архитектуру. И такие вещи я видывал только в коде ядра и драйверах, в прикладном ПО такую условную компиляцию встретишь не часто.mike писал(а): ↑26 ноя 2020, 12:18> Про какие оптимизации под x86 идет речь, если код общего назначения (Linux и СПО)
> работает на архитектурах x86, amd64, ARM, MIPS?
Погрепайте исходники под рукой на предмет чего-то вроде-- наверняка откроете для себя много нового.Код: Выделить всё
if (defined(__amd64__) || defined(__x86_64__) || defined(_M_X64))
Это хорошая новость, благодарю . Значит, мой подход к гарантии кроссплатформенности дает свои плоды. А то мне говорили: "ты не сможешь", "кроссплатформенность невозможна" и т. д. Правда, версия у вас старовата, сейчас актуальна 1.44.139 из ветки experimental. Последние доработки такие: Диспетчер открепляемых окон заработал в MyTetra. Я официального релиза не выпускаю, потому что должен поисправлять все что наметил, а там еще ковыряться и ковыряться. Но для новой версии рекомендован Qt 5.12.6, не знаю, доступен ли таковой под Эльбрусом.
Я подумывал зарегистрироваться на удаленное подключение к Эльбрусу, чтобы проверить работу MyTetra, однако времени мне не хватает, хотя делов то на пару дней. Но все равно это будет суррогат, а хотелось бы уже приобрести 8СВ или 16С в частное пользование.
- mike
- Сообщения: 59
- Зарегистрирован: 24 апр 2017, 13:58
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
> Фортран.
Ага.
> Дык сами МЦСТ топят за то, что код должен быть просто написан в современных стандартах
В библиотеках и заточенных прикладухах всё-таки не редкость.
> А то мне говорили: "ты не сможешь", "кроссплатформенность невозможна" и т. д.
Из всех утюгов, поди?
> Правда, версия у вас старовата
А какую стабильную порекомендуете?
> Но для новой версии рекомендован Qt 5.12.6, не знаю, доступен ли таковой под Эльбрусом.
В текущих бетах Эльбрус Линукс и ОС Альт для Эльбрус -- 5.12.6 и 5.12.9.
> Но все равно это будет суррогат, а хотелось бы уже приобрести 8СВ или 16С в частное пользование.
Ну как суррогат, шелл он и есть шелл -- мы так альт и начинали перетаскивать на эльбрус. :)
До 16С в рознице ещё года два, да и это сугубо серверный процессор будет -- из той линейки 12С больше похож на сердце мощной рабочей станции. А вот 8СВ уже едет, сам домой хочу купить, раз уж 101-РС не получилось (может, и к лучшему).
Ага.
> Дык сами МЦСТ топят за то, что код должен быть просто написан в современных стандартах
В библиотеках и заточенных прикладухах всё-таки не редкость.
> А то мне говорили: "ты не сможешь", "кроссплатформенность невозможна" и т. д.
Из всех утюгов, поди?
> Правда, версия у вас старовата
А какую стабильную порекомендуете?
> Но для новой версии рекомендован Qt 5.12.6, не знаю, доступен ли таковой под Эльбрусом.
В текущих бетах Эльбрус Линукс и ОС Альт для Эльбрус -- 5.12.6 и 5.12.9.
> Но все равно это будет суррогат, а хотелось бы уже приобрести 8СВ или 16С в частное пользование.
Ну как суррогат, шелл он и есть шелл -- мы так альт и начинали перетаскивать на эльбрус. :)
До 16С в рознице ещё года два, да и это сугубо серверный процессор будет -- из той линейки 12С больше похож на сердце мощной рабочей станции. А вот 8СВ уже едет, сам домой хочу купить, раз уж 101-РС не получилось (может, и к лучшему).
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус
-
- Сообщения: 7
- Зарегистрирован: 26 ноя 2020, 09:06
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
> А какую стабильную порекомендуете?
Сейчас актуальна версия MyTetra 1.44.139, я пользуюсь ей. По сравнению с 1.42.xx там много плюшек было добавлено.
Просто я как автор ее не считаю стабильной, там много чего еще допиливать.
Сейчас актуальна версия MyTetra 1.44.139, я пользуюсь ей. По сравнению с 1.42.xx там много плюшек было добавлено.
Просто я как автор ее не считаю стабильной, там много чего еще допиливать.
- mike
- Сообщения: 59
- Зарегистрирован: 24 апр 2017, 13:58
- Контактная информация:
Re: Векторные инструкции в Эльбрус-8СВ и поколения Эльбрус-процессоров
v.1.44.139 на e2k тоже собралась -- пакет обновлять не готов (хотя можно попросить коллег), а вот засунуть имеющийся в hasher, подсунуть в полученное сборочное окружение mytetra_dev.git и собрать особых трудов не составило.
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус