Зато вы утверждали следующее: "Проблема именно в самой архитектуре Эльбрус, которая принципиально менее производительна, чем RISC/CISC архитектуры с современными реализациями микроархитектур с OoO исполнением." Однако в комментариях вам продемонстрировали, что архитектура Эльбруса позволяет выполнять ваш же пример за втрое меньшее кол-во тактов, чем x86. Т.е. не оставили от вашего собственного утверждения (краеугольного для ваших статей) камня на камне. Да, надо лезть в исходники и ставить подсказки компилеру. Такова особенность архитектуры. Но это означает повышенные трудозатраты для получения быстрого кода. Что совсем не одно и то же с "принципиально менее производительной архитектурой". Архитектура, как раз, в данном примере оказалась более производительной. Поэтому, для объективности могли хотя бы вставить поскриптум, о чем уже сказали выше. А раз этого не сделано до сих пор, то ни о какой объективности речи идти не может.
Насчет подсказок для Spec Cpu2017: правила Спека вроде запрещают делать изменения в исходниках? Или у вас есть сведения о том, что в МЦСТ правили эти исходники? Они то как раз сокрушались, что из-за вышеупомянутого запрета попугаи меньше, чем могли бы быть после пары правок
Кстати, на днях было произвежено именно такое тестирование уважаемым shcher : https://habr.com/ru/post/647165/ Общий вывод: на коде без оптимизации Эльбрус 1.55ГГц проигрывает Intel Core i7-9700K 4.8 ГГц в 16 раз. Но! После лптимизации кода (причем не конкретно под Эльбрус, а снандартным для всех процессоров образом) Эльбрус уступал Интелу 34%. Что с учетом разницы в частотах, считаю, является выдающимя показателем. Получается, после оптимизация кода Интел ускорился в 4 раз, а Эльбрус в 44 раза. Одна замена типа счетчиков на знаковый 64бит дала прирост в 12 раз! Т.е. в очередной раз подтверждается критичность оптимизации кода под VLIW. Поэтому, конечно, Эльбрус плохо подходит для персональных ПК с их обилием неоптимизированного софта и браузерами со скриптовыми языками. А вот для серваков, где типичный набор софта не так велик и где он как правило компилируемый - подходит вполне! Более того, после оптимизации производительность будет сопоставима с Интелами, работающими на втрое больших частотах (при том, что Зеонов, способных держать 4.5ГГц на всех ядрах, в природе не существует, насколько знаю). Т.е. в плане тепловыделения Эльбрус будет рулить однозначно.
Автор утверждает, будто VLIW при тех же нанометрах имеют более высокое тепловыделение и больше транзисторов. И приводит в пример Intel Xeon Processor E3-1290, у которого объем кэша 8Мб в сравнении с Итаником 2017г, у которого этого кеша 32Мб
После такой ловкости рук все остальные сентенции вызывают мало доверия. Хотя в статье и есть достоверные сведения, но по своей направленности она явно ангажирована. По сути, лайт-вариант антиэльбрусовских пасквилей образца начала нулевых, авторство которых принадлежит одному деятелю родом с Незалежной, известному под ником matik Судя по всему, Yadro перехватила все контракты на лисковые хранилища под закон Яровой. При том, что в их хранилищах используются Интелы. Отсюда и обещания по скорому созданию своего варианта Risc-V, отсюда и подобные статьи
Вам пытались объяснить, что есть масса задач, для которых вполне хватает вычислительных возможностей Эльбруса-4С (уровень Core2), не говоря уже о 8С.
По этой причине применительно к тем областям, где требуется «свое, родное» (т.е. там, где нужен повышенный уровень защиты от НСД и доверенная платформа) и где производительности Эльбрусов достаточно, пиковые «попугаи» сами по себе малоинтересны.
Никто в здравом уме не ведет сейчас речь о том, что Эльбрусы могут на равных конкурировать с Интелами в условиях «свободного рынка» и «равной конкуренции» на уровне ширпотреба. Хотя бы потому, что разрыв по части кадровых и финансовых ресурсов между скромной конторой МЦСТ и мегакорпорацией Интел несопоставимо велик. С учетом этого сам факт того, что МЦСТ способен выдавать процессоры с производительностью Интелов предыдущего поколения, является поистине чудесным достижением. И позволяет стране сохранять элементы независимости в такой ключевой сфере как IT хотя бы в некоторых областях.
Хотя, конечно, всем, кто интересуется Эльбруами и радуется успехам эльбрусовцев, ознакомиться с «попугаями» 8С на реальных задачах было бы очень интересно.
Тут дело в том, что число ядер увеличилось вдвое, и с учетом этого сохранить по 2Мб на ядро не получалось физически, из-за ограничений на площадь кристалла.
Об этом написано здесь
(вообще, довольно толковый документ в плане понимания различий между 8C и 4C)
Наличие 16Мб L3, очевидно, призвано компенсировать уменьшение L2, помимо всего прочего.
Т.е. речь о «размене» вести не совсем корректно.
Не все так однозначно (с)
В этом документе сообщается, что для Эльбруса изначально имелся свой аналог LLVM под названием EIR.
К. Трушкин из МЦСТ как-то оговорился, что в процессе адаптации дров для AMD/Radeon был реализован необходимый минимум LLVM для Gallium3D
Вдруг заподозрил, что в статье сравнивается производительность процессора Интел и сервера Эльбрус 4.4, в котором на борту Эльбрусов-4С 4 штуки.
Если так, то результат сравнения не такой шоколадный, как могло показаться вначале.
Но, как отметил автор, оптимизация их кода под Эльбрус только начинается. И ожидается статья об уже достигнутом 4-кратном приросте в результате такой оптимизации
Вдруг заподозрил, что в статье сравнивается производительность процессора Интел и сервера Эльбрус 4.4, в котором на борту Эльбрусов-4С 4 штуки.
Если так, то результат сравнения не такой шоколадный, как могло показаться вначале.
Основной фишкой нового Эльбруса, помимо увеличения числа ядер, является 1.5-кратное увеличение производительности каждого ядра на «плавучке» (благодаря добавлению 2 FPU на ядро).
Судя по по результатам тестов, где прирост чуть выше разницы в ТЧ, операции с плавающей запятой на ваших задачах используются не слишком интенсивно?
>> Все-таки не хватает сравнения с x86, без него как-то не то.
Выше автор дал ссылку на сравнение Intel Core i7-6700K с Эльбрусом-4С, который там отстает в 2-3 раза.
С учетом сведений, которые приведены в сабжевой заметке, Э8С будет на уровне Intel Core i7-6700K (на их задачах)!
Если так, то это очень крутой результат.
>> Если не смотреть, на столбцы «в пересчете на мегагерц», то не сказать что прям выдающиеся результаты.
А почему бы и не сказать? :)
Эльбрус 0.8ГГц и DDR3 оказался в 2-3 раза медленней Интела 4ГГц DDR4.
Самый что ни на есть выдающийся результат. Скажу больше, прямо-таки шоколадный.
Получается, что Эльбрус-8С в тех же тестах уже будет идти вровень с Intel Core i7-6700K! А после оптимизаций под изменения в микроархитектуре и под 8 ядер даже обгонит его!
Если таковое произойдет, то это будет настоящее чудо. Хотя бы с учетом того, что МЦСТ по своим людским и финансовым возможностям и близко не сопоставим с такой мегакорпорацией, как Интел.
> Пока другие производители каждый год показывают свои нарисованные прототипы, Tesla берет и что-то делают.
Это если не обращать внимания на такую микроскопическую страну, как Китай.
По объемам продаж электрокаров он уверенно держит первое мест в мире. Причем значительная часть электромобилей (если не б0льшая) — китайского производства. А к 2020 китайцы грозятся довести объемы производства до1 млн шт ежегодно!
Так что люди просто успешно делают дело, без рекламной шумихи и искусственно нагнетаемого ажиотажа, как в случае с Маском
>Я объяснил. Эльбрус не далёк до вершин — далёк от вершин конпелятор. Тем более под х86 они так же далеки от вершин и всё надо делать руками.
Это в мемориз))
Как раз компилер в случае с VLIW — просто немерянно крут по сравнению с компилерами для Out-of-order процессоров.
>х86 выигрывает из-за того, что просто технологичней и своей архитектурой, которая более приспособлена для исполнения кода такого качества, который производят нынешние программисты, языки, их рантаймы и компиляторы.
Насчет архитектуры — набор бездоказательных утверждений. Как раз архитектура Эльбруса — гораздо гибче и гармоничней в сравнении с x86, потому как в ней отсутствуют многочисленные костыли x86, вроде SSE и AVX.
А вот насчет технологичности — в самую точку. С такой низкой ТЧ (0.8ГГц) мерятся с Интелами бесполезно. Проблема в том, что физдизайн Эльбрусов выполнен на основе standard cells, в то время как Интеловские камни — с использованием очень дорогостоящего full custom design. По этой причине, в основном, ТЧ Эльбрусов такая низкая (хотя на этот счет есть и ограничения самой архитектуры)
Ну и надо иметь в виду, что ядро Эльбруса-4С — это, по сути, E2K образца 1999г, только с б0льшими кэшами. Более-менее заметные изменения в архитектуре появились в Е8С, когда добавили 2 FPU. Хотя, по хорошему, давно бы пора ввести те же 128 векторы. Но это из серии «лучше быть богатым и здоровым»: все упирается в мизерное финансирование и недостаток людских ресурсов небольшой, по сути, конторы МЦСТ.
> Как бы то ни было, у их компилятора C/C++ есть флаги, включающие поддержку GCC-шных встроенных функций для работы с MMX, 3DNow, SSE вплоть до 4.2, XOP, AVX, FMA4, CLMUL, BMI, F16C, AES, — насколько я понимаю, некоторое из этого и так реализовано в железе (просто инструкции другие), а остальное эффективным образом конвертируется в нативные широкие команды.
Насколько понимаю, эльбрусовская архитектура отменяет необходимость в таких интеловских костылях, как SSE и AVX. Хотя компилятор поддерживает «интринсинки» в целях совместимости с исходниками для x86
Эльбрус это не только SIMD, но и гораздо более гибкий MIMD
Зато вы утверждали следующее: "Проблема именно в самой архитектуре Эльбрус, которая принципиально менее производительна, чем RISC/CISC архитектуры с современными реализациями микроархитектур с OoO исполнением."
Однако в комментариях вам продемонстрировали, что архитектура Эльбруса позволяет выполнять ваш же пример за втрое меньшее кол-во тактов, чем x86.
Т.е. не оставили от вашего собственного утверждения (краеугольного для ваших статей) камня на камне.
Да, надо лезть в исходники и ставить подсказки компилеру. Такова особенность архитектуры. Но это означает повышенные трудозатраты для получения быстрого кода. Что совсем не одно и то же с "принципиально менее производительной архитектурой".
Архитектура, как раз, в данном примере оказалась более производительной.
Поэтому, для объективности могли хотя бы вставить поскриптум, о чем уже сказали выше.
А раз этого не сделано до сих пор, то ни о какой объективности речи идти не может.
Насчет подсказок для Spec Cpu2017: правила Спека вроде запрещают делать изменения в исходниках? Или у вас есть сведения о том, что в МЦСТ правили эти исходники?
Они то как раз сокрушались, что из-за вышеупомянутого запрета попугаи меньше, чем могли бы быть после пары правок
Кстати, на днях было произвежено именно такое тестирование уважаемым shcher :
https://habr.com/ru/post/647165/
Общий вывод: на коде без оптимизации Эльбрус 1.55ГГц проигрывает Intel Core i7-9700K 4.8 ГГц в 16 раз.
Но! После лптимизации кода (причем не конкретно под Эльбрус, а снандартным для всех процессоров образом) Эльбрус уступал Интелу 34%. Что с учетом разницы в частотах, считаю, является выдающимя показателем.
Получается, после оптимизация кода Интел ускорился в 4 раз, а Эльбрус в 44 раза.
Одна замена типа счетчиков на знаковый 64бит дала прирост в 12 раз!
Т.е. в очередной раз подтверждается критичность оптимизации кода под VLIW.
Поэтому, конечно, Эльбрус плохо подходит для персональных ПК с их обилием неоптимизированного софта и браузерами со скриптовыми языками.
А вот для серваков, где типичный набор софта не так велик и где он как правило компилируемый - подходит вполне! Более того, после оптимизации производительность будет сопоставима с Интелами, работающими на втрое больших частотах (при том, что Зеонов, способных держать 4.5ГГц на всех ядрах, в природе не существует, насколько знаю). Т.е. в плане тепловыделения Эльбрус будет рулить однозначно.
Автор утверждает, будто VLIW при тех же нанометрах имеют более высокое тепловыделение и больше транзисторов.
И приводит в пример Intel Xeon Processor E3-1290, у которого объем кэша 8Мб в сравнении с Итаником 2017г, у которого этого кеша 32Мб
После такой ловкости рук все остальные сентенции вызывают мало доверия.
Хотя в статье и есть достоверные сведения, но по своей направленности она явно ангажирована. По сути, лайт-вариант антиэльбрусовских пасквилей образца начала нулевых, авторство которых принадлежит одному деятелю родом с Незалежной, известному под ником matik
Судя по всему, Yadro перехватила все контракты на лисковые хранилища под закон Яровой. При том, что в их хранилищах используются Интелы.
Отсюда и обещания по скорому созданию своего варианта Risc-V, отсюда и подобные статьи
По этой причине применительно к тем областям, где требуется «свое, родное» (т.е. там, где нужен повышенный уровень защиты от НСД и доверенная платформа) и где производительности Эльбрусов достаточно, пиковые «попугаи» сами по себе малоинтересны.
Никто в здравом уме не ведет сейчас речь о том, что Эльбрусы могут на равных конкурировать с Интелами в условиях «свободного рынка» и «равной конкуренции» на уровне ширпотреба. Хотя бы потому, что разрыв по части кадровых и финансовых ресурсов между скромной конторой МЦСТ и мегакорпорацией Интел несопоставимо велик. С учетом этого сам факт того, что МЦСТ способен выдавать процессоры с производительностью Интелов предыдущего поколения, является поистине чудесным достижением. И позволяет стране сохранять элементы независимости в такой ключевой сфере как IT хотя бы в некоторых областях.
Хотя, конечно, всем, кто интересуется Эльбруами и радуется успехам эльбрусовцев, ознакомиться с «попугаями» 8С на реальных задачах было бы очень интересно.
Об этом написано здесь
(вообще, довольно толковый документ в плане понимания различий между 8C и 4C)
Наличие 16Мб L3, очевидно, призвано компенсировать уменьшение L2, помимо всего прочего.
Т.е. речь о «размене» вести не совсем корректно.
На Интелах, насколько понимаю, для подобных целей существует библиотека IPP
Не все так однозначно (с)
В этом документе сообщается, что для Эльбруса изначально имелся свой аналог LLVM под названием EIR.
К. Трушкин из МЦСТ как-то оговорился, что в процессе адаптации дров для AMD/Radeon был реализован необходимый минимум LLVM для Gallium3D
Если так, то результат сравнения не такой шоколадный, как могло показаться вначале.
Но, как отметил автор, оптимизация их кода под Эльбрус только начинается. И ожидается статья об уже достигнутом 4-кратном приросте в результате такой оптимизации
Если так, то результат сравнения не такой шоколадный, как могло показаться вначале.
Судя по по результатам тестов, где прирост чуть выше разницы в ТЧ, операции с плавающей запятой на ваших задачах используются не слишком интенсивно?
p.s.: спасибо за статью, очень интересно!
Выше автор дал ссылку на сравнение Intel Core i7-6700K с Эльбрусом-4С, который там отстает в 2-3 раза.
С учетом сведений, которые приведены в сабжевой заметке, Э8С будет на уровне Intel Core i7-6700K (на их задачах)!
Если так, то это очень крутой результат.
VLIW — это класс архитектур, такой же, как CISC или RISC.
MIPS — это архитектура конкретного семейства процессоров класса RISC.
Эльбрусовская архитектура раньше именовалась «e2k», сейчас вроде как просто «архитектура эльбрус»
А почему бы и не сказать? :)
Эльбрус 0.8ГГц и DDR3 оказался в 2-3 раза медленней Интела 4ГГц DDR4.
Самый что ни на есть выдающийся результат. Скажу больше, прямо-таки шоколадный.
Получается, что Эльбрус-8С в тех же тестах уже будет идти вровень с Intel Core i7-6700K! А после оптимизаций под изменения в микроархитектуре и под 8 ядер даже обгонит его!
Если таковое произойдет, то это будет настоящее чудо. Хотя бы с учетом того, что МЦСТ по своим людским и финансовым возможностям и близко не сопоставим с такой мегакорпорацией, как Интел.
Это если не обращать внимания на такую микроскопическую страну, как Китай.
По объемам продаж электрокаров он уверенно держит первое мест в мире. Причем значительная часть электромобилей (если не б0льшая) — китайского производства. А к 2020 китайцы грозятся довести объемы производства до1 млн шт ежегодно!
Так что люди просто успешно делают дело, без рекламной шумихи и искусственно нагнетаемого ажиотажа, как в случае с Маском
Это в мемориз))
Как раз компилер в случае с VLIW — просто немерянно крут по сравнению с компилерами для Out-of-order процессоров.
>х86 выигрывает из-за того, что просто технологичней и своей архитектурой, которая более приспособлена для исполнения кода такого качества, который производят нынешние программисты, языки, их рантаймы и компиляторы.
Насчет архитектуры — набор бездоказательных утверждений. Как раз архитектура Эльбруса — гораздо гибче и гармоничней в сравнении с x86, потому как в ней отсутствуют многочисленные костыли x86, вроде SSE и AVX.
А вот насчет технологичности — в самую точку. С такой низкой ТЧ (0.8ГГц) мерятся с Интелами бесполезно. Проблема в том, что физдизайн Эльбрусов выполнен на основе standard cells, в то время как Интеловские камни — с использованием очень дорогостоящего full custom design. По этой причине, в основном, ТЧ Эльбрусов такая низкая (хотя на этот счет есть и ограничения самой архитектуры)
Ну и надо иметь в виду, что ядро Эльбруса-4С — это, по сути, E2K образца 1999г, только с б0льшими кэшами. Более-менее заметные изменения в архитектуре появились в Е8С, когда добавили 2 FPU. Хотя, по хорошему, давно бы пора ввести те же 128 векторы. Но это из серии «лучше быть богатым и здоровым»: все упирается в мизерное финансирование и недостаток людских ресурсов небольшой, по сути, конторы МЦСТ.
Насколько понимаю, эльбрусовская архитектура отменяет необходимость в таких интеловских костылях, как SSE и AVX. Хотя компилятор поддерживает «интринсинки» в целях совместимости с исходниками для x86
Эльбрус это не только SIMD, но и гораздо более гибкий MIMD