LINUX.ORG.RU

Rust для Эльбруса?

 ,


2

6

Можно ли запустить программу, написанную на языке rust, на компьютерах с процессорами Эльбрус?

Как я понимаю, llvm не рассчитан на такую архитектуру. Правда, есть двоичная трансляция кода. Можно ли рассчитывать хотя бы на 80% скорости по сравнению с тем, как если бы был оптимизирующий родной компилятор с языка rust для Эльбруса?

★★★★★

Последнее исправление: dave (всего исправлений: 1)

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

Ну и нафиг тогда это проприетарное поделие.

Ты про процессор?

Если да, то у интела тоже проприетарное поделие, если что. Просто более раскрученное.

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

Если да, то у интела тоже проприетарное поделие, если что. Просто более раскрученное.

Но не настолько же. Машинные коды открыты. Ничто не мешает написать свой компилятор. Мы же пользуемся gcc, а не icc.

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

С документацией у Эльбруса беда, это да. Тем не менее, на книгу по архитектуре процессора ссылку тут уже кидали, хоть она и не полная.

Кстати, а компилятор раста в си никто не пробовал писать? Чтобы можно было его выхлоп тому же lcc скормить, да и не только ему.

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

Уровень состоятельности поражает. Мы не будем делать нормальный компилятор С/С++ - будет делать говно, но зато мы будем страдать хернёй со всякими шарпами говна. Причём именно нормальный С++ может утилизировать существующую производительность и показать хоть что-то, но нет - мы пожрём говна. Давайте говношарп, который в принципе нормально работать не может. Давайте говножабу. Будет сливать в 100 раз, но зато же мы работаем. А толку? Зачем пилить нативные vm с производительностью двоичной трансляции? Какой в этом смысл?

Насколько я понял они отдали на аутсорс это говно и им вообще насрать? Похоже на то.

Тут пишут про некую разработку поддержки сисярпа и моны

Во-первых зачем тебе это говно? Во-вторых оно на нём будет сливать в 100 раз штеуду. В чём смысл - нахрена тебе такое нужно?

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

У тебя есть несколько психологических проблем. Угадаешь какие? Для любого здорового человека со стороны они видны.

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

Кстати, а компилятор раста в си никто не пробовал писать? Чтобы можно было его выхлоп тому же lcc скормить, да и не только ему.

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

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

Это речь о транспиляции раста в си или имеется в виду вообще? Если вообще то вы не правы, тот же Nim компилируется в си и показывает хорошую производительность. Более того, он может и в плюсы и в джаваскрипт.

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

Кстати, а компилятор раста в си никто не пробовал писать? Чтобы можно было его выхлоп тому же lcc скормить, да и не только ему.

Вот. Между прочим, у haskell кажись был когда-то сишный бэкенд, еще совсем недавно, пока глаза всем не затмил llvm.

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

у haskell кажись был когда-то сишный бэкенд

C– - это не C.

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

Кстати, а компилятор раста в си никто не пробовал писать?

Пишут. mrustc на github

red75prim ★★★
()

У них представление llvm транслируется в lcc, а уже он генерит то, что потом исполняется. Из-за этого конечная производительность кода будет очень сильно зависеть от того, с какими флагами запускался в этой связке lcc.

Детали: https://youtu.be/QC2OU5axEDI?t=367

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

представление llvm транслируется в lcc

o_O

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

crust называется вроде. проблем куча, пилят полтора анонимуса/

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

Это ещё комментарий, где он держался в рамках относительного приличия. Но больше, чем на два комментария его не хватает, с третьего скатывается в своё обычное хамство, которое модераторы потом вытирают. Там уже отвечать точно смысла нет.

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

Для Раста, мне кажется, стоило бы написать свой транслятор ir в lcc(вернее в его бэкэнд), а не llvm представление в lcc.
Т.к. растовский ir более абстрактный чем llvm представление.

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

Показывает хорошую производительность в чём? Если это синтетические тесты, то всем насрать, потому что в них даже жаба обгоняет C по потреблению памяти.

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

Но некоторые фичи мне нравятся, допустим: Функции могут и имеют отдельный набор регистров.

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

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

Раз уж упомянули VLIW, почему помер Itanium? У этого подхода проблемы? Я если что не шарю в нюансах

Кроме камня нужно ещё и ПО, которое умеет работать на этом камне. IA64 выпускались 20 лет назад и они были медленные (затачивались на распараллеливание, но ПО существующее не умело параллелиться) с точки зрения пользовательского ПО. Да и ПО портировано было крайне мало. Охренительные задержки кэша 3-го уровня ещё больше убивало производительность, а если принять во внимание малый объём кэша 1 и 2 уровней, то получаем забитую шину. С маркетингом проблемы были. Ну и конкуренция - существующие на тот момент процы конкурирующих архитектур были более выгодны по параметру цена/производительность.

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

Но зачем? Это ведь тупиковый путь развития.

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

Накрутить на него риск и побольше smt - вот уже что-то

есть уже, спарк называется. и в какой он сейчас жопе — тоже понятно.

лет 30 назад уже покупали доки на спарк тех времён. в результате через 25 лет получился эльбрус. можно (теоретически) ещё раз купить доки на современные спарки, но получится то же самое.

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

Показывает хорошую производительность в чём? Если это синтетические тесты, то всем насрать, потому что в них даже жаба обгоняет C по потреблению памяти.

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

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

Тебе четко объяснили что содержимое ICC компилятора для Эльбруса вообще реализует всё то, что у интела в процессоре сидит. Почему интел не публикует коды процессора? Где там открытость, а? Не смешно, не?

Ассемблерные листинги ICC выдает. Какая-то проблема отреверсить такую элементарную вещь? Просто это никому не нужно, только хомякам. Нвидия стала публиковать документацию когда это уже хоть немного стало иметь смысл, и при этом не иметь потерь или рисков.

Проснитесь, ау, Эльбрус выдает листинги, их легко сопоставить с бинарем в ELF формате. Это проще чем реверсить нвидию, а ее несмотря на сложность ковыряли кому надо.

Мы же пользуемся gcc, а не icc

Тебе не пофиг? Какую программу собрать не смог? Фаерфокс? А кто-то пытается собрать .net программы и тоже никак, вот это я понимаю. Но тут же находятся те, кто утверждают что .net и сисярп не нужен. Где логика?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Ну а почему для Intel написали компилятор rust без реверс-инженеринга, а для эльбруса — нет?

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

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

Ну а почему для Intel написали компилятор rust без реверс-инженеринга, а для эльбруса — нет?

Ну он же написал, что для Интела открыть компилятор это не то, что открыть компилятор для Эльбруса. Потому что у Интела многое реализовано в камне и не открыто, поэтому открывая свой компилятор (скажем так) Интел открывает намного меньше чем МЦСТ открывая свой.

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

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

Мне кажется что после того как их процессор и их проприетарный компилятор станут доступны, отреверсить ISA будет двольно просто, нет?

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

Затрудняюсь сказать, я тут не специалист, но думаю вряд ли это будет просто. Специалистов такого уровня довольно мало в мире, это не сайтики пилить. Чем ниже уровень, тем меньше людей в этой области, еще меньше специалистов, еще меньше документации. Там уже другие законы и правила.

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

Судя по видео в интернете, производительность не особо хороша.

+1

Подтвердаю со слов другого человека - пользователя 4C.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от yetanother

+1

Реверс в принципе нетривиальная задача.

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

Мне кажется что после того как их процессор и их проприетарный компилятор станут доступны, отреверсить ISA будет двольно просто, нет?

Их компилятор (который под x86 запускался и компилировал под Эльбрус) уже выкладывался в паблике Раздобыл кросскомпилятор под эльбрус

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

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

Хочешь прямо скажу? Ты капризничаешь. Тебе не нужен раст на Эльбрусе. Это как сожалеть что в африке нет белых медведей и пингвинов - они там и «не нужны». А вот что нужно заказчикам - на Эльбрусе давно работает. Ты вроде как не заказчик и не пользователь.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

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

te111011010
()
Ответ на: комментарий от I-Love-Microsoft

Им раст не нужен, пока, но им уже сейчас нужен go из-за docker.

П.С. на галере пилю банковский микросервесный бэкенд который развертывается на кубернетс.

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

или вас нагибают?

Пока элбрус это экзотика которую мало кто видел, но если МЦСТ хочет чтоб был спрос со стороны бизнеса, им придется все сделать для работы docker, благо rust пока ни в чем серьезном для бэка не замечен, потому ради него пока напрягаться не стоит.

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

но если МЦСТ хочет чтоб был спрос со стороны бизнеса, им придется все сделать для работы docker

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

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

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

+100

Эльбрус за 350к это бред: http://shop.irsural.ru/comp/catalog/computers/3079/product-285791.html

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

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

Достаточно конкурентно этому по цена/производительность? А вообще бизнес привык переплачивать, можешь представить сколько стоит годовая подписка на базу Oradle с супортом. Наверное местным банкам и прочим организациям будет приятно что у них исполнитель со всеми своими активами прямо под боком, меньше шансов на форс.мажора в виде отказа в обслуживании из-за очередных санкций.

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

Достаточно конкурентно этому по цена/производительность?

А из каких соображений это надо сравнивать с эльбрусами?

Ну ок, давай перейдем по ссылке:

Все исходные тексты прошивок, загрузчика и компонентов операционной системы доступны под свободной лицензией.

Что по-вашему будет с доступностью исходных текстов прошивок, загрузчика и компонентов операционной системы на Эльбрусах, учитывая что даже система команд процессора в свободном доступе отсутствует? И учитывая что патчи ядра Linux сделанные специально для Эльбрусов (там очевидно должен быть код на ассемблере для всяких низкоуровневых вещей) нигде не выкладывались в свободный доступ

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

Так это для нас она отсутствует, я бы сам купил power9 будь у меня столько лишних денег, открытый cpu с открытыми прошивками, мне это интересно как индивидуалу и совершенно не интересен проприетарный эльбрус. Но для бизнеса все по другому, им нужны гарантии что будет работать, они учтут того что аудит безопасности уже проделан «из коробки», т.е. никакой доп сертификации, и если будет лажа в оборудовании МЦСТ то «проблема не на нашей стороне». Судебное разбирательство с интел из-за очередного мелтауна думаю юридические отделы посчитают не перспективным. Просто закупят дополнительные стойки, для нивелирования просадки производительности и компенсации не получат.

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

Но для бизнеса все по другому, им нужны гарантии что будет работать, они учтут того что аудит безопасности уже проделан «из коробки»

Будто бы в Intel или AMD никакого аудита нет.

и если будет лажа в оборудовании МЦСТ то «проблема не на нашей стороне»

Если проблема в Intel или AMD то проблема тоже не на их стороне.

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

А насколько перспективным будет разбирательство с МЦСТ если там какая-то лажа будет?

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

Смысл посыла в том, что из МЦСТ можно будет выбить какие-то деньги если в их процессорах обнаружится какой-то фатальный баг, а с Intel и AMD это не проканает? Или в чем суть?

SZT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.