Я всего лишь на одну вещь внимание обращу. Вы пишете:
Что мы видим? Одна итерация основного цикла занимает 13 тактов. В нём 9 семантически полезных инструкций (остальные – это специфика Эльбруса, не влияющая на реальное IPC). Т.е. IPC составляет 0.69 инструкций в такт. Эффективность использования широкой команды в данном случае очевидна – она крайне низкая. Никаких разрывов зависимостей не произошло, DAM не применился, но зато произошёл абсолютно бессмысленный инлайн функции Sort в функцию main.
Вот здесь Вам наглядно показали что на самом деле для Эльбруса IPC составляет 7 инструкций на такт, или 1.84 такта на итерацию. Это при сравнении с приведённым Вами интеловским IPC 2.67 и примерно 3 такта на итерацию.
Для того чтобы статья была более честной и объективной, считаю что необходимо сделать дополнение к данной статье с указанием этих цифр. Ведь мы же говорим о перспективности и микроархитектурной скорости, а тут сразу виден потенциал платформы.
Спасибо за большой и интересный комментарий. Давайте разбираться.
За примерами ходить далеко не надо, есть известный в узких кругах anybench, где для достижения нормальной скорости dhrystone, coremark и mpmflops были всем эльбрусочатом (который вы ниже упоминаете) слегка переписаны на ассемблере (и то не везде помогло).
Я этот момент пропустил, т.к. редко туда заглядываю, но я бы удивился если бы такое переписывание сделало лучше кроме нескольких отдельных случаев. Одной из особенностей процессоров с широким командным словом является тесное взаимодействие с оптимизирующим компилятором, который может перемешивать инструкции на очень большом удалении друг от друга, а также применять различные цикловые оптимизации (сделать конвейеризацию с аппаратной поддержкой руками - задача нетривиальная).
Я кстати напомню, что по статьям того же EntityFX'а (https://habr.com/ru/company/icl_services/blog/558564/), Эльбрус-8СВ показывает в тестах, близких к реальным задачам производительность близкую к байкалу (да, я про 7zip, blender, stockfish, octane, sunspider и kraken - как пусть и синтетика, но хорошо отражает то что пользователь получит при использовании, особенно то что относится к вебу) при примерно 4-х кратной разнице энергопотребления в пользу Байкала.
Странно, но мне казалось что тесты, близкие к реальным задачам я привёл в этой статье. И что-то она там не особо близкая. Ну т.е. да, отставание чуть больше двух раз на плавучке, но тем не менее серьёзное. Кстати, тест 7zip - далеко не то что увидит пользователь. Дело в том что в режиме бенчмарка данный тест запускает совершенно другой код, нежели при боевом исполнении. И этот код не меняется от версии к версии чтобы поддерживать возможность сравнения со старыми замерами. По тестам jit'ов я ничего не могу сказать, т.к. не специализируюсь на этой теме.
Я напомню - оба процессора производятся по 28нм техпроцессу и работают на одинаковой тактовой частоте. Давайте, если Вы уж идете по фактам, то Вы не будете выборочно игнорировать публично доступную информацию, хорошо?
Я ещё раз повторю что для сравнения производительности в первую очередь нужно смотреть на результаты SPEC CPU. Есть отдельные тесты под специализированные задачи (тот же hpl или linpack), но что-то у Байкалов с ними тоже не задалось.
В компиляторах бывают ошибки. И поверьте, в gcc их не меньше. А если посмотреть внимательней, то многие проблемы относятся к 23 ветке компилятора, которая уже даже не поддерживается.
Да, совместимость lcc лучше чем никакая, конечно же, но оставляет желать лучшего (по сравнению с тем же clang)
Позвольте уточнить на основе чего сделано данное утверждение.
Вы точно уверены, что это допустимый вывод в таких обстоятельствах?
А Вы уеверны в корректности такого сравнения? Если изучить доклады по портированию debian на risc-v, то разработчики очень благодарят людей, поддерживающих систему сборки пакетов и возможность портирования на другие платформы. Так что "честных" сравнений по человекочасам мы точно не узнаем.
И Вы ссылаетесь на статью, достоверность которой немного под вопросов (тем более статья берет информацию из маркетинговых материалов производителя). Не кажется ли, что это не совсем корректно?
Ваши сомнения имеют под собой какое-либо основание кроме того что они Вам не нравятся? Нет, не кажется.
Сравнение же шло с младшим процессором Intel образца 2017 года.
Проведите своё сравнение на том железе и той методикой, которой посчитаете нужной. Потом обсудим (на самом деле мне это будет не очень интересно обсуждать).
Можно про это поподробнее? Было бы неплохо привести график как на одном процессоре растет скорость какого-нибудь условного блендера в масштабе 10 лет, чтобы доказать, что время тут играет существенную роль, а не все основные оптимизации случаются в первых релизах с новыми наборами инструкций.
А давайте я не буду проводить оригинальное исследование ради ответа на комментарий.
Приведите пожалуйста табличку с тем же уровнем детализации как это делается для Байкал-М, тогда поговорим. До тех пор придется верить Вам на слово, а с учетом того что вы не брезгуете подменять понятия в статье и вырывать цитаты из контекста, доверия вашим словам лично у меня низкое, так как создается ощущение что все это основано на личной неприязни к Armmaster'у (в том числе исходя из вашего же общения на ЛОРе)
Если исходить из предположения что я выдумал средние цифры по спекам, то что мешает мне выдумать их детализацию? Если что, то я не припомню чтобы с указанным товарищем я общался на ЛОРе, ну и у меня нет к нему личной неприязни или каких-либо эмоций. Только ответ на его статью.
По поводу детализации - это, безусловно интересно с точки зрения исследования платформы, но это тянет на отдельную статью, и если у меня дойдут до неё руки, то это будет не скоро.
Кстати, ни один профессионал не будет ссылаться на куммулятивное значение SPECов, потому что они не дают достаточной детализации, для понимания сильных и слабых сторон архитектуры.
Возможно из моей статьи это было не очень понятно, но я нигде не ставил цель исследовать сильные и слабые стороны платформы. А для понимания примерной картины, производительности приведённых цифр хватает, благо ни мы ни байкал не использовали "читерские" оптимизации результатов spec.
Для Байкала есть официальные результаты бенчмарков, где есть разбивка по тестам, не подскажите где взять такую для Эльбруса?
На данный момент нигде.
А еще не затруднит ли вас прогнать те же тесты в SPEC 2017 с отчетом по потребляемой мощности?
Затруднит.
Детальный отчет по саб-тестам и учет потребляемой мощности расскажут многое о энергоэффективности архитектур.
Да, скажут. Но мне такое исследование не интересно.
Кстати одно из редких мест, где на людей, которые честно говорят о проблемах Эльбруса идет открытая травля.
Не беспокойтесь, у Вас есть отличный форум где таких честных любят ;)
Я, физическое лицо, хочу вбелую (без подставных юр лиц) купить E8C-ATX (на сайте МЦСТ стоит 165 тыр), без дополнительного хлама и прочего, с гарантией что могу это без проблем вывезти за пределы России. При этом я хочу ...
Прекрасно понимаю ваше желание, не понимаю почему Вы считаете что МЦСТ должно предоставить Вам хоть что-либо из перечисленного.
Из известных блоггеров с железом - насколько я знаю никто не рассказывал на каких условиях была получена железка.
Я не знаю про каких известных блогеров Вы говорите, но у Бачило, например, был и рут, и всё остальное.
Вообще, почему-то EntityFX получил доступ ко всем интересовавшим его машинам и провёл все интересовавшие его замеры. Если уж Вы с МЦСТ не можете договориться о чём-то, то сходите в Яндекс-музей, они уж точно никак от МЦСТ не зависят.
Вот интересно получается. Мы говорим про российские процессоры общего назначения, и здесь я утверждаю что кроме Эльбрусов и Байкалов в эту нишу никто не стремится. Ну, либо прошу предоставить мне результаты замеров SPEC CPU чтобы я мог их добавить. В ответ Вы говорите что нет, стремятся, и приводите ссылку на новость про 1890ВМ108. Т.е. утверждаете что данные процессоры претендуют на ту же нишу, что и Байкалы с Эльбрусами. Я пытаюсь очень тактично узнать так какую же реальную производительность они показывают, но получаю только ссылку на синтетический тест. При это мы оба отлично понимаем что ниша у этих процессоров другая и не пересекается с процессорами общего назначения. Ладно, думаю, проехали.
Но в соседних сообщениях Вы точно также продолжаете транслировать свои вымыслы про чемодан без ручки. Ну мне и захотелось на приведённом Вами же примере уточнить а у кого эта "ручка" есть. И тут сразу выясняем что внезапно он и не общего назначения, и вообще давайте возьмём ускоритель для ИИ и сравним.
Т.е. Вы сами ввели в обсуждение не относящийся к теме процессор, не предоставили результатов для сравнения, и ещё обижаетесь что я начал прикидывать его производительность.
Давайте сделаем так. Когда Вы снова начинаете транслировать бред про чемоданы и про тупик, я буду приходить и спрашивать у Вас а кто же может сделать лучше, и на чём ваше мнение основано. И уж потрудитесь хоть какие-нибудь объективные данные привести, а не ссылку на Coremark.
Раз уж Вы не в состоянии вести нормальный технический диалог, а Ваш предел - оголтелое брызганье слюной в сторону Эльбруса, то давайте посмотрим что же у нас там с комдивами. Нам известен результат SPEC CPU2006 для процессора 1890ВМ8Я с частотой 1000 МГц, он составляет 3,43 INT, 2,34 FP. Это в разы меньше чем у Эльбрус-4С с частотой 800 МГц. Есть подозрение что у указанного Вами процессора 1890ВМ108 с частотой 800 МГц этот результат не очень далеко уйдёт. И далее у вас планируется выпустить СНК 16 x КОМДИВ64 (1890ВМ118, если я правильно понимаю) с частотой (возьмём оптимистичный прогноз) 1.5 ГГц. т.о. получаем что на этих же тестах при оптимистичных прогнозах он вытянет в попугаях на ядро около 7 INT и около 5 FP при благоприятных условиях. И мы всё ещё медленней Эльборус-4С от 2013 года! Так у кого там тупиковая архитектура и чемодан без ручки?
За ссылку спасибо, но я всё ещё придерживаюсь мнения что начинать сравнение нужно именно со spec cpu как наиболее репрезентативного и приближенного к реальности набора тестов. Я отлично понимаю с какими сложностями может столкнуться сотрудник при попытке получить разрешение на публикацию этих результатов, но я их в итоге преодолел. Когда у Вас тоже появится такая возможность - пишите, будет очень интересно сравнить производительность наших машин.
Давайте я ещё раз повторю свою мысль. Я с удовольствием добавлю в сравнение 1890ВМ108 если Вы предоставите результаты SPEC CPU2006 или 2017. Отсутствие этих результатов - единственная причина почему я не упомянул данную машину.
Безусловно, все эти проблемы есть, он них нужно и даже полезно говорить, и тыкать нас почаще. Я надеюсь что у меня ещё будет возможность обсудить всё это публично. Но Armmaster зашёл с другой стороны и в подозрительно "удачное" время, поэтому мой ответ получился такой, какой получился.
С наличием ядра (а в энторнетах есть слитые исходники) можно делать всё тоже самое и для Эльбруса. Просто по понятным причинам так пока никто не делал.
Что, из .so-шки уже метод нельзя дернуть? Полиморфизм в рантайме - тоже табу? Ну так как бы и зачем он нужен такой процессор, которому простой косвенный вызов поломает вообще все?
Вас никто ни в чём не ограничивает. Просто что здесь, что на интеле это будет замедление системы. В обычных приложениях Вы этого не почувствуете, а в высокопроизводительных никому и в голову не придёт так делать.
Я разбираюсь в компьютерах, но читать эту вырвиглазную VLIW-простыню с крутящимися регистрами, которая именуется ассемблерным кодом, нет абсолютно никакого желания. Наверное, надо быть совсем слепым, чтобы не видеть фактов, что переход на данную архитектуру - сущий ад.
Я ассемблер и систему команд учил по Эльбрусу, и для меня x86 код - это какой-то сущий ад из неявных записей в регистры и постоянных пересылок, пересылок, пересылок.
С RISC-V все хорошо тем, что это открытая архитектура, значит не будет проблем с лицензиями, это раз, и опять же, много кто считает ее перспективной - это 2.
вся причина возни с этим импортозамещением — проблемы с внешней политикой, из-за которых готовимся если не к полноценной войне, то, как минимум, к экономической блокаде. чему тут радоваться?
Странно, вот европейцы, например, вкладывают огромные средства в разработки RISC-V чтобы технология именно европейской была. Поди тоже к войне и экономической блокаде готовятся. Да и Китай своё делать пытается. Непонятно почему дружественные санкции и заперт Хуваю использовать ARM не вселили в него веру во всеобщий мир, дружбу, жвачку.
Максим, добрый день.
Я всего лишь на одну вещь внимание обращу. Вы пишете:
Вот здесь Вам наглядно показали что на самом деле для Эльбруса IPC составляет 7 инструкций на такт, или 1.84 такта на итерацию. Это при сравнении с приведённым Вами интеловским IPC 2.67 и примерно 3 такта на итерацию.
Для того чтобы статья была более честной и объективной, считаю что необходимо сделать дополнение к данной статье с указанием этих цифр. Ведь мы же говорим о перспективности и микроархитектурной скорости, а тут сразу виден потенциал платформы.
С уважением, Маркин Алексей.
Спасибо за большой и интересный комментарий. Давайте разбираться.
Я этот момент пропустил, т.к. редко туда заглядываю, но я бы удивился если бы такое переписывание сделало лучше кроме нескольких отдельных случаев. Одной из особенностей процессоров с широким командным словом является тесное взаимодействие с оптимизирующим компилятором, который может перемешивать инструкции на очень большом удалении друг от друга, а также применять различные цикловые оптимизации (сделать конвейеризацию с аппаратной поддержкой руками - задача нетривиальная).
Странно, но мне казалось что тесты, близкие к реальным задачам я привёл в этой статье. И что-то она там не особо близкая. Ну т.е. да, отставание чуть больше двух раз на плавучке, но тем не менее серьёзное. Кстати, тест 7zip - далеко не то что увидит пользователь. Дело в том что в режиме бенчмарка данный тест запускает совершенно другой код, нежели при боевом исполнении. И этот код не меняется от версии к версии чтобы поддерживать возможность сравнения со старыми замерами. По тестам jit'ов я ничего не могу сказать, т.к. не специализируюсь на этой теме.
Я ещё раз повторю что для сравнения производительности в первую очередь нужно смотреть на результаты SPEC CPU. Есть отдельные тесты под специализированные задачи (тот же hpl или linpack), но что-то у Байкалов с ними тоже не задалось.
В компиляторах бывают ошибки. И поверьте, в gcc их не меньше. А если посмотреть внимательней, то многие проблемы относятся к 23 ветке компилятора, которая уже даже не поддерживается.
Позвольте уточнить на основе чего сделано данное утверждение.
А Вы уеверны в корректности такого сравнения? Если изучить доклады по портированию debian на risc-v, то разработчики очень благодарят людей, поддерживающих систему сборки пакетов и возможность портирования на другие платформы. Так что "честных" сравнений по человекочасам мы точно не узнаем.
Ваши сомнения имеют под собой какое-либо основание кроме того что они Вам не нравятся? Нет, не кажется.
Проведите своё сравнение на том железе и той методикой, которой посчитаете нужной. Потом обсудим (на самом деле мне это будет не очень интересно обсуждать).
А давайте я не буду проводить оригинальное исследование ради ответа на комментарий.
Если исходить из предположения что я выдумал средние цифры по спекам, то что мешает мне выдумать их детализацию? Если что, то я не припомню чтобы с указанным товарищем я общался на ЛОРе, ну и у меня нет к нему личной неприязни или каких-либо эмоций. Только ответ на его статью.
По поводу детализации - это, безусловно интересно с точки зрения исследования платформы, но это тянет на отдельную статью, и если у меня дойдут до неё руки, то это будет не скоро.
Возможно из моей статьи это было не очень понятно, но я нигде не ставил цель исследовать сильные и слабые стороны платформы. А для понимания примерной картины, производительности приведённых цифр хватает, благо ни мы ни байкал не использовали "читерские" оптимизации результатов spec.
На данный момент нигде.
Затруднит.
Да, скажут. Но мне такое исследование не интересно.
Не беспокойтесь, у Вас есть отличный форум где таких честных любят ;)
Прекрасно понимаю ваше желание, не понимаю почему Вы считаете что МЦСТ должно предоставить Вам хоть что-либо из перечисленного.
Я не знаю про каких известных блогеров Вы говорите, но у Бачило, например, был и рут, и всё остальное.
Вообще, почему-то EntityFX получил доступ ко всем интересовавшим его машинам и провёл все интересовавшие его замеры. Если уж Вы с МЦСТ не можете договориться о чём-то, то сходите в Яндекс-музей, они уж точно никак от МЦСТ не зависят.
Если Вам кто-то их предоставит, то да можете. Ну или достать кросс-компилятор сделать их самостоятельно.
Вот интересно получается. Мы говорим про российские процессоры общего назначения, и здесь я утверждаю что кроме Эльбрусов и Байкалов в эту нишу никто не стремится. Ну, либо прошу предоставить мне результаты замеров SPEC CPU чтобы я мог их добавить. В ответ Вы говорите что нет, стремятся, и приводите ссылку на новость про 1890ВМ108. Т.е. утверждаете что данные процессоры претендуют на ту же нишу, что и Байкалы с Эльбрусами. Я пытаюсь очень тактично узнать так какую же реальную производительность они показывают, но получаю только ссылку на синтетический тест. При это мы оба отлично понимаем что ниша у этих процессоров другая и не пересекается с процессорами общего назначения. Ладно, думаю, проехали.
Но в соседних сообщениях Вы точно также продолжаете транслировать свои вымыслы про чемодан без ручки. Ну мне и захотелось на приведённом Вами же примере уточнить а у кого эта "ручка" есть. И тут сразу выясняем что внезапно он и не общего назначения, и вообще давайте возьмём ускоритель для ИИ и сравним.
Т.е. Вы сами ввели в обсуждение не относящийся к теме процессор, не предоставили результатов для сравнения, и ещё обижаетесь что я начал прикидывать его производительность.
Давайте сделаем так. Когда Вы снова начинаете транслировать бред про чемоданы и про тупик, я буду приходить и спрашивать у Вас а кто же может сделать лучше, и на чём ваше мнение основано. И уж потрудитесь хоть какие-нибудь объективные данные привести, а не ссылку на Coremark.
Раз уж Вы не в состоянии вести нормальный технический диалог, а Ваш предел - оголтелое брызганье слюной в сторону Эльбруса, то давайте посмотрим что же у нас там с комдивами. Нам известен результат SPEC CPU2006 для процессора 1890ВМ8Я с частотой 1000 МГц, он составляет 3,43 INT, 2,34 FP. Это в разы меньше чем у Эльбрус-4С с частотой 800 МГц. Есть подозрение что у указанного Вами процессора 1890ВМ108 с частотой 800 МГц этот результат не очень далеко уйдёт. И далее у вас планируется выпустить СНК 16 x КОМДИВ64 (1890ВМ118, если я правильно понимаю) с частотой (возьмём оптимистичный прогноз) 1.5 ГГц. т.о. получаем что на этих же тестах при оптимистичных прогнозах он вытянет в попугаях на ядро около 7 INT и около 5 FP при благоприятных условиях. И мы всё ещё медленней Эльборус-4С от 2013 года! Так у кого там тупиковая архитектура и чемодан без ручки?
За ссылку спасибо, но я всё ещё придерживаюсь мнения что начинать сравнение нужно именно со spec cpu как наиболее репрезентативного и приближенного к реальности набора тестов. Я отлично понимаю с какими сложностями может столкнуться сотрудник при попытке получить разрешение на публикацию этих результатов, но я их в итоге преодолел. Когда у Вас тоже появится такая возможность - пишите, будет очень интересно сравнить производительность наших машин.
Было бы очень интересно послушать методику проведения тестов.
Давайте я ещё раз повторю свою мысль. Я с удовольствием добавлю в сравнение 1890ВМ108 если Вы предоставите результаты SPEC CPU2006 или 2017. Отсутствие этих результатов - единственная причина почему я не упомянул данную машину.
Я сомневался случайно ли так вышло, что статья опубликована как раз под обсуждение изменений в ПП № 719 от 17 июля 2015 г.
Если Вы предоставите тесты (исходники, способ запуска), я проверю
Да, именно он.
Подтверждаю. Только я пришёл года за 4 до этого
Спасибо! Кажется пока что это лучший комментарий к статье!
Безусловно, все эти проблемы есть, он них нужно и даже полезно говорить, и тыкать нас почаще. Я надеюсь что у меня ещё будет возможность обсудить всё это публично. Но Armmaster зашёл с другой стороны и в подозрительно "удачное" время, поэтому мой ответ получился такой, какой получился.
С наличием ядра (а в энторнетах есть слитые исходники) можно делать всё тоже самое и для Эльбруса. Просто по понятным причинам так пока никто не делал.
Вас никто ни в чём не ограничивает. Просто что здесь, что на интеле это будет замедление системы. В обычных приложениях Вы этого не почувствуете, а в высокопроизводительных никому и в голову не придёт так делать.
Я ассемблер и систему команд учил по Эльбрусу, и для меня x86 код - это какой-то сущий ад из неявных записей в регистры и постоянных пересылок, пересылок, пересылок.
А можно осенью на пересдачу?
Сам бы с удовольствием такое почитал!
Помимо всего вышеперечисленного, мне не очень понятно зачем кидать ссылку на gcc, но это так, мелочь.
А я где-то говорил про преимущества архитектуры?
Странно, вот европейцы, например, вкладывают огромные средства в разработки RISC-V чтобы технология именно европейской была. Поди тоже к войне и экономической блокаде готовятся. Да и Китай своё делать пытается. Непонятно почему дружественные санкции и заперт Хуваю использовать ARM не вселили в него веру во всеобщий мир, дружбу, жвачку.