LINUX.ORG.RU

Опубликована система команд Эльбрус

 


1

4

http://elbrus.ru/efficient_elbrus_programming_book_2020-05

Кто хочет написать свой компилятор или доработать gcc/clang/whatever — велкам!

ЗЫ Кто хочет написать новость - тоже велкам.

Перемещено Zhbert из linux-hardware

★★★★★

Ответ на: комментарий от splinter

Если кто-то реально подорвётся делать компилятор для e2k — я могу организовать доступ к телу.

А bochs — да, неплохо бы.

Может, кто-то и bochs напишет? :-)

Aceler ★★★★★ ()
Ответ на: комментарий от Aceler

Может, кто-то и bochs напишет?

Я что-то смутно помню, что была тема про QEMU, которая пока для внутреннего пользования.

Пруфов сейчас не вспомню, вроде бы где-то слышал на стриме у Максима, но это не точно.

SkyMaverick ★★ ()
Ответ на: комментарий от minihic112

необходима смена парадигмы

не взлетит, кодеры же вообще обмазываются всякими педонами чтоб попроще было. единственная возможность такому взлететь - если vliw режим (или что там предлагается) добавят как расширенный набор инструкций вроде avx, который можно будет использовать для оптимизации

anonymous ()
Ответ на: комментарий от ism

вот только пичаль в том, что освоение бюджета к бизнесу не имеет никакого отношения вообще-то. и результат его - закономерен: примитивная убогая архитектура, которую пытаются натянуть на глобус раздув вширь.

NiTr0 ★★★★★ ()
Ответ на: комментарий от anonymous

не взлетит, кодеры же вообще обмазываются всякими педонами чтоб попроще было.

Этим нам не интересны. И не все такие, в противном случае никто бы ничего не оптимизировал и avx не юзал. Но юзают и изучают.

Единственное о чём я говорю - это то, что люди не поменяют мышление просто так. Ты им должен дать какой-то профит. И в связи с тем, что с ТЗ языковой оптимизации эльбрус не особо отличается от штеуда - это и нужно использовать.

Конечно, никто не будет читать про какую-то нонейм-архитектуру ненужную. Но если вместе с этим ты расскажешь им про нужную, проведёшь адекватное сравнение. Не тот, мусор, что написан. А нормально.

Если ты их научишь нормально пользоваться языком. Показать, что оптимизация - это не сложно. И что это работает везде. Показать то, что они будут и могут применять в своей практике.

А сейчас что? Те, кто пишут это дерьмо нихрена не понимают. От того это никому не интересно и нахрен не нужно.

Если мне будет не лень - я помогу колхозникам. Пусть посмотрят как надо.

minihic112 ()
Ответ на: комментарий от anonymous

печаль в том, что vliw режим это не про оптимизацию (разве что для чего-то крайне специфичного типа DSP числодробильни может быть какой-то профит - но там и avx вполне хватает). vliw - это про упрощение ядра, перенос оптимизиций на компилятор. что для реального ветвящегося сложного кода не особо-то подходит, даже если vliw сделать очень широким - профита не будет.

NiTr0 ★★★★★ ()
Ответ на: комментарий от NiTr0

примитивная убогая архитектура

Она не примитивная и не убогая, ну потенциально и даже в том виде, в котором она есть сейчас. И в этом проблема. Ты не понимаешь, а они не могут тебе ничего объяснить.

Но да, внерыночные отношения действительно позволяют им забить на всё. Зачем писать внерыночный материал, если подневольные его будут читать. Если он пройдёт не на общих условиях(хотя общих там нигде нет), а его протолкнут.

Зачем хотя-бы не врать и замерить нормально. Не - это не нужно. Это в интернете тебя сожрут и пойдёшь ты полы мыть. А рабы подневольные сожрут всё. Ведь их зачёткой управляешь ты.

Да и в целом очень сомнительна мотивация. Как-то всё больше уверяешься в том, что им самим это ничего ненужно. Просто были какие-то наработки, пару человек где-то сидят и что-то делают и возможно что-то понимают.

А остальным насрать. Потому что в противном случае непонятно как такое проходит. Как проходит сишка дерьма 80 года, как проходит «ну инлайн иногда помогает». Либо всем насрать и это продукт коллективного аутсорс-разума, либо всё действительно настолько плохо.

minihic112 ()
Ответ на: комментарий от NiTr0

печаль в том, что vliw режим это не про оптимизацию

В их случае - возможно, а в реальном - нет.

vliw - это про упрощение ядра

Без его упрощения ты не сможешь ничего.

перенос оптимизиций на компилятор.

Современный суперскаляр так же зависит от компилятор и так же всё перенесено на компилятор/программиста. Потому как суперскаляр упёрся в свой потолок лет 20 назад.

что для реального ветвящегося сложного кода не особо-то подходит

Подходит. К тому же, ветвящийся код не работает нигде. Да и пишут его птушники.

даже если vliw сделать очень широким - профита не будет.

Будет. Рядовое говно не утилизирует и 5% ширины x86. Только это проблема дерьма, и никто не бежит и не орёт «зачем всё это, если профита нет».

Всё это делается на будущие и для тех, кто это использует. А говно как показывало одну и ту же производительность - так и показывает.

Это всё тот же птушный вой. «ааа, зачем нам ядра - профта не будет», «ааа, зачем нам cmov/симды». Подобные гении постоянно орут эту херню.

minihic112 ()
Ответ на: комментарий от NiTr0

вот только пичаль в том, что освоение бюджета к бизнесу не имеет никакого отношения вообще-то. и результат его - закономерен: примитивная убогая архитектура, которую пытаются натянуть на глобус раздув вширь.

Так что, нафиг свои процессоры ?

ism ★★★ ()
Ответ на: комментарий от ism

Да не злословь :-))

Просто их надо засекретить и публикацию команд - отозвать. Тогда и обсуждать будет нечего. Вот тебе процессор, вот ОС для него.

Нормально же жили с рядом ЕС ЭВМ. Быстрые машины.

anonymous ()
Ответ на: комментарий от anonymous

Как это они устаревшие, если там над ними целые НИИ трудились? Не надо тут разводить негативщину!

Быстрые, значит быстрые. Так сверьху сказали!

anonymous ()

Кстати, а как на ситуацию с компилятором по NDA и закрытыми опкодами вкупе с частью инструкций (раньше вообще без них) смотрит ФАС?

anonymous ()
Ответ на: комментарий от AKonia

Я правильно понимаю, что ассемблер уже не оптимизируется дальше? Т.е. все оптимизации должны быть выполнены до генерации ассемблера? А значит все наработки в lcc по этой части будут по прежнему недоступны? А писать открытый оптимизирующий компилятор для Эльбруса означает как минимум кучу времени.

anonymous ()
Ответ на: комментарий от anonymous

Оптимизированный ассемблер не перестаёт быть ассемблером, а по вопросу доступности, при большом желании можно купить плату на Эльбрусе(90-100к самая простая, продвинутая 160к), думаю всё остальное(в т.ч. и lcc, да и не стоит забывать, что вроде с эльбрусми могут работать студенты МФТИ и ещё пары московских вузов) в комплекте. А вот по времени, действительно жесть, разработка компилятора с нуля, да ещё и под весьма редкое длинное слово задача крутая, хотя ИМХО и как увлечение и как коммерческая инициатива с огромным потенциалом - штука годная, разработайте более продвинутый компилятор для эльбруса - вас с руками купят. Да и опять же ИМХО зря разработчики взяли за основу существующие компиляторы, связность существующего кода сильно сказывается на скорости развития, хотя и даёт ускорение в задачах переноса x86 ПО на Эль.

AKonia ()
Ответ на: комментарий от anonymous

Как именно он его монополизировал? ОСей портировано больше одной, компилятор реализовать уже можно (хотя опять же горящих желанием не видать, чью конкуренцию ущемлять надо). Опкоды могут дать под NDA любому, кто заключит договор. Где ограничение конкуренции и конкуренции в чём конкретно?

Эльбрус это целиком и полностью принадлежащее МЦСТ решение. Они его могут вообще закрыть и пилить в одно лицо и у ФАС к этому не будет претензий.

К слову, как там у Apple с открытостью? C даташитами там, с опкодами теми же на собственные процы, с компилятором? Всё в порядке? Ни от кого претензий что-то не слышно.

SkyMaverick ★★ ()
Ответ на: комментарий от anonymous

Во-первых МЦСТ часть самой команды разрабатывающей Эльбрусы, в частности они в т.ч. занимаются верификацией процессоров, они же переводили линукс и основное ПО на Эльбрус, а во-вторых, если верить новостям, то разработки сторонних компиляторов и ПО ведутся. Как-то странно называть монополистами разработчиков своей же архитектуры.

AKonia ()
Ответ на: комментарий от AKonia

Я имею в виду, что если я напишу простенький бекэнд для Эльбруса, генерирующий (очевидно) не оптимальный ассемблер, то выхлоп на ассемблере будет транслирован в машинные коды 1 к 1 без какой либо оптимизации, а значит будет мягко говоря не оптимальный.

anonymous ()
Ответ на: комментарий от anonymous

Я правильно понимаю

Да правильно. Ну LLVM, например генерирует не ассемблер, а IR, который уже оптимизирует и посылает в llc. Кратко LLVM и GCC

Ну недоступны наработки, их право. Пока был неизвестен даже собственно ассемблер, то компилятор реализовать было нереально. во что компилировать-то, собственно. Теперь можно. МЦСТ оно не надо, у них есть. Но если найдутся желающие заточить gcc/llvm(малореально)/ещёкакуюфигню - то кто бы был против.

SkyMaverick ★★ ()
Последнее исправление: SkyMaverick (всего исправлений: 1)
Ответ на: комментарий от SkyMaverick

Эльбрус это целиком и полностью принадлежащее МЦСТ решение.

Нет, очевидно. И причин несколько. Во-первых использования спо(очевидно, что православного) - сразу делает «твоё» не твоим.

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

Да и с ТЗ государства эта политика - политика идиотов. Ну конечно же, если твоей задачей действительно то, что ты(условный) заявляешь. Подход уровня - наклепаем проприетарного дерьма, потом рассуём его по вузам, где он нахрен никому не нужен.

Это очередная попытка заставить телегу ехать. К чему всё это приводило - всем известно.

И какие ахренительные достижения и разработки будут у подневольных - так же.

minihic112 ()
Ответ на: комментарий от anonymous

Ну так это же для любого процессора так, оптимизация всегда забота компилятора, транслятор ассемблера не будет и не должен ничего оптимизировать, по сути разработка компилятор и состоит в том, чтобы на выходе получать наиболее оптимальное конечное представление.

AKonia ()
Ответ на: комментарий от AKonia

Существуют проекты по оптимизации на уровне компоновщика, возможно и на более поздних стадиях, но они не применяются где-то дальше академических кругов. Возможно что когда-то волна и до промышленности докатится.

Но в целом для создания компилятора вполне достаточно описания системы команд на уровне ассемблера

alexanius ()
Ответ на: комментарий от SkyMaverick

Да правильно. Ну LLVM, например генерирует не ассемблер, а IR, который уже оптимизирует и собирает llc.

Полная и нелепая чушь.

Кратко LLVM и GCC

Сравнение жопы с пальцем. К тому же картинку для llvm писал явно альтернативной одарённый. И картинка от gcc куда больше подходит к llvm.

Единственная мажорная разница - это то, что гцц компилируется уже сразу сконфигурированным под таргет, а шланг нет.

Но если рассматривать каждый таргет отдельно - у llvm всё так же.

minihic112 ()
Ответ на: комментарий от alexanius

на нижних уровнях слишком низкая гибкость оптимизации, похожая на поиск многообразия высокой размерности по свёрточному критерию, поэтому лучше оптимизировать на этапе представления логики в виде ~орграфа и даже тут многие оптимизации настолько сложны, что их заменяют вероятностными эвристиками.

AKonia ()
Ответ на: комментарий от SkyMaverick

Да и плюс высокой цены, что если ктои купит, то он будет это делать в серьёз, а то в ценник в 30к сделают найдутся мамкины геймеры у которых «Вас ильблус 60 фпс в гта 5 не даёт - значит гавно»

AKonia ()
Ответ на: комментарий от AKonia

найдутся мамкины геймеры у которых «Вас ильблус 60 фпс в гта 5 не даёт - значит гавно»

Судя по некоторым комментариям в этом треде, и на лоре такие найдутся.

anonymous ()
Ответ на: комментарий от minihic112

Она не примитивная и не убогая, ну потенциально и даже в том виде, в котором она есть сейчас.

таки примитивная и убогая. «мы не смогли в run-time оптимизатор потому тупо набили 100500 блоков, дали вам к ним прямой доступ и загружайте их сами чем хотите и как хотите - ваши проблемы»

NiTr0 ★★★★★ ()
Ответ на: комментарий от anonymous

Ну так блин твой риппер массовый продукт, эльбрус расчитан же на удовлетворение государственных потребностей, тем более, что часть инструментария находится в тестируемом состоянии, это логично что они не выходят на более широкую аудиторию, подождите лет 10, будете оценивать, не цена решает, а качество продукта в решении своей задачи, если бы цена решала, то линукс бы имел аудиторию в 99% рынка, на мелкософт никто бы даже не посмотрел. Эльбрус решает задачу импортозаимещения, а на перспективу если разработчики не подкачают, то и по производительности эльбрус будет самым производительным, у него уже оценочная производительность на уровне предтоповых x86, правда если оценить более реалистично то эту пиковую производительность нужно поделить на два, т.к. не всё так хорошо ложится в длинное слово, но поднять частоту в два раза и улучшить техпроцесс до 14нм + удвоить количество ядер, то пожалуй ваш риппер нервно курит в сторонке, вопрос только в том чтобы продолжать разработку и процессора и компиляторов.

AKonia ()