LINUX.ORG.RU

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

 


1

4

http://elbrus.ru/efficient_elbrus_programming_book_2020-05

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

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

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

★★★★★

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

Нет, у меня их нет.
На сколько я знаю, есть какие-то ограничения по NDA. На сколько это соответствует российскому законодательству — вопрос к юристам.

А вы это проверяли? Раз у вас есть официально устройство с Эльбрусом, можете им написать и попросить исходники? Можете узнать точно, нужны или не нужны какие-то доп. соглашения, в духе «раз мы вам даем исходный код, вы не должны его куда-либо выкладывать»? Если такое точно имеет место быть, не могли бы Вы написать по этому поводу жалобу в FSF? Ведь если это так, это будет явное нарушение условий лицензий GPL/LGPL. Если российское законодательство так устроено, что разрешает нарушать копилефт лицензии, об этом тоже стоит поговорить.

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

Вот придал ты огласке, написал в GPLviolations, и тебе тамошние модераторы ответили: thank you, SZT, well done.

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

Публичные дискуссии на какой площадке? По первому каналу? Nobody cares.

Т.е. лучше вообще ничего не делать?

Кто будет судиться-то? Это чья-то собственность?

Там есть копирайт FSF. Так что таки да, интеллектуальная собственность.

И кто будет адвокатов оплачивать?

Ну вот не знаю, может будет какой-то Free Software Conservancy судиться и оплачивать адвокатов, или кто-то еще. Может там Шаттлворт денег подкинет на адвокатов, или Red Hat, они в разработку GDB, ядра и бинутилсов вкладывают деньги. Я в этих вопросах не компетентен. Хотелось бы, чтобы до этого дело не дошло, и чтоб МЦСТ просто начали соблюдать условия лицензний.

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

Владимир-ом подписываются и иные анонимусы. При этом часто постят всякую чушь …

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

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

А вы это проверяли?

Что? Наличие исходников? Да.

Раз у вас есть официально устройство с Эльбрусом

Уже нет, сдали обратно.

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

Ты сам понимаешь, на сколько прекрасна эта фраза?

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

Леонид Юрьев из Positive Technologies. Очень хороший разработчик

Это тот, который определяет «рельность» времени и на основе этого целостность БД?

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

Ну хак-то работает по итогам.

Сборище «хакеров», для которых «работает» - это стечение обстоятельств. Для «хакеров» этого достаточно.

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

Есть кусок кода - он множится до уровня блока/варпа, который исполняются атомарно. Это тот самый влив. Что там изменилось - я писал выше.

У них каждый compute unit до Веги состоит из четырех 16-wide SIMD. Весь СИМД исполняет одну и ту же инструкцию по общей маске исполнения, а в VLIW нужна возможность для каждого из 16 устройств задать свою инструкцию. Это не ВЛИВ, а такое SSE на стреоидах.

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

Видишь-ли в чём проблема, результаты работы Юрьева я вижу в том числе и в проде и могу сказать, что это очень хорошо сделаные проекты, которые работают. А вот результатов работы ЛОРовских анонимных недохакеров я как-то стабильно не наблюдаю (не говоря уж про ту пургу, которую всякие цари несут).

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

Видишь-ли в чём проблема

Не все могут показать тебе свою работу. И ты не можешь посмотреть все работы. Поэтому экстраполиовать свой локальный опыт на всех анонимных царей не очень правильно. «Экстраполиовать свой локальный опыт» - это именно царское поведение.

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

Так вот и я о чём, что его скилл я могу наглядно видеть и, с моей точки зрения, его скилл очень высок. А, следовательно, к его мнению, в данном вопросе следует прислушаться.

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

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

Да он уже по-моему всё на свете написал, только этого никто не видел. Шизофрения она такая.

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

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

Что? Наличие исходников? Да.

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

Уже нет, сдали обратно.

Жаль.

Ты сам понимаешь, на сколько прекрасна эта фраза?

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

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

У них каждый compute unit до Веги состоит из четырех 16-wide SIMD. Весь СИМД исполняет одну и ту же инструкцию по общей маске исполнения, а в VLIW нужна возможность для каждого из 16 устройств задать свою инструкцию.

Ты молодец, что пришёл срывать покровы. Только обо всём этом я писал ещё до тебя. К тому же, куда ты потерял скалярную, управляющую часть?

Это не ВЛИВ, а такое SSE на стреоидах.

И про это я писал. Это и есть vliw сведённый к подобному виду для упрощения. Семантически это влив. Сверху там один и тот же кусок кода, который множится. И когда у тебя на все «устройства»(хотя это птушный базворд для домохозяек) приходит одна и та же инструкция - её можно свести к одной. Это никоим образом не означает, подобная оптимизированная схема перестала быть вливом.

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

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

Таким образом каждый из 4 может выполнять свою логику. Привет полноценный влив.

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

Эльбрус рвёт x86 как тузик Грету, на задачах, требующих большого количества простых вычислений и допускающих параллелизм. Например, задачах распознавания образов, потокового шифрования по ГОСТ, потокового сжатия и дедупликации. ПАК по распознаванию рукописных заявлений для МФЦ или комплекс для СХД на базе процессоров e2k создавали, исходя из этих особенностей.

А кто-нибудь пробовал сравнивать Эльбрус с GPU на этих задачах?

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

Ну вот можно встроить мощный GPU-сопроцессор прямо в CPU (как когда-то давно делали с FPU), чтобы там использовалась обычная оперативная память (а не некая внешняя, на видеокарте), и через него уже решать те задачи, под которые GPU хорошо подходит. У гугла вот специальные тензорные процессоры есть, конкретно заточенные для всяких нейросетей. Криптография вообще может быть аппаратно реализована.

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

GPU - это условно кучка ущербных FPU с никакущей (от слова какашка) точностью.

И что? Вышеупомянутая задача по распознаванию рукописных заявлений для МФЦ на этом вполне решаются.

И если уж докапываться, целочисленная арифметика в GPU вполне может быть: https://stackoverflow.com/a/4365616

In my case, I'm only using NVIDIA devices. For this kind of hardware: the official documentation announces equivalent performance for both 32-bit integers and 32-bit single precision floats with the new architecture (Fermi). Previous architecture (Tesla) used to offer equivalent performance for 32-bit integers and floats but only when considering adds and logical operations.

But once again, this may not be true depending on the device and instructions you use.

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

А кто-нибудь пробовал сравнивать Эльбрус с GPU на этих задачах?

GPU круче, сразу могу сказать, даже никакие тесты не нужны.

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

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

И что?

Повторяю: сравнение выродится в измерение скорости памяти. Если они буду сидеть на одной и той же подсистеме памяти, то, думаю, ответ ты сам знаешь.

32-bit integers and 32-bit single precision floats

А скорость с такими числами упала в несколько раз. Причем упала намного больше, чем увеличилась точность. Интересно в чем проблема? Не успевает прокачивать более толстые числа через узкую шину? И/или не успевает в более точную арифметику?

задача по распознаванию рукописных заявлений

Если применяются неронные сети, то нейронные сети можно строить на двоичных нейронах, а не в 8-16-32 раза более толстых числах (с плавающей точкой). Прикинь, как быстро можно считать такие двоичные нейронные сети, даже на обычных процессорах на обычной памяти.

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

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

Так вопрос не в исходниках. NDA подписывается при покупке компьютера Эльбрус. Если ты подписал NDA, то тебе дадут и компьютер, и дистрибутив Эльбрус ОС, и весь комплект исходников, поскольку дистрибутив Эльбрус ОС раздаётся для разработчиков, а разработчикам, вообще-то, нужны исходники.

Дистрибутив Альт для Эльбруса раздаётся бесплатно при условии, что у тебя есть компьютер Эльбрус (т.е. ты уже подписал NDA). Если ты возьмёшь дистрибутив Альт, то вместе с дистрибутивом Альт тебе тоже дадут исходники, в том числе исходники ядра, glibc и чего там ещё.

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

Т.е. и сам комьютер, и бинарники, и исходники ты получаешь в любом случае только после подписания NDA.

Российскому законодательству требование подписать NDA перед покупкой не противоречит. За рубеж МЦСТ свои компьютеры не поставляет.

Нормально устроена.

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

Пример: если ты в договоре напишешь, что при покупке компьютера с Эльбрус я должен буду каждый день есть на завтрак младенцев с аджикой, то это вовсе не «уголовный кодекс разрешает нарушать твой договор».

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

FSF могут попытаться, пусть. Впрочем, найти на ЛОР-е юристов это сложно, и я тут ничем помочь не могу. Знавал я одного линуксоида-юриста, но он давно кончил на мак.

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

Никаких проблем у гпу с высокой точностью нет, никаких птушных шин нет.

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

Тоже самое касается и памяти.

Повторяю: сравнение выродится в измерение скорости памяти. Если они буду сидеть на одной и той же подсистеме памяти, то, думаю, ответ ты сам знаешь.

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

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

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

Т.е. и сам комьютер, и бинарники, и исходники ты получаешь в любом случае только после подписания NDA.

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

https://www.gnu.org/licenses/gpl-faq.en.html#TradeSecretRelease

https://www.gnu.org/licenses/gpl-faq.en.html#DoesTheGPLAllowNDA

If someone asks you to sign an NDA for receiving GPL-covered software copyrighted by the FSF, please inform us immediately by writing to license-violation@fsf.org.

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

С точки зрения FSF — безусловно. Вопрос в том, не является ли это требование ничтожным в соответствии с российским законодательством.

Я тут нашёл тему аж от 2001-го года: ASPLinux все-таки нарушает GPL.

Вроде тогда никто так до суда и не дошёл.

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

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

Всё, и ты уже не вор. Ведь именно так это должно, работать, да.

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

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

Эйфории вокруг GPL много …
ИМХО открывать исходники всего проекта из-за малой толики GPL кода неправильно /да и не всегда возможно/.

А далее - «Огородами, огородами и к Котовскому».
Потому-то Microsoft и приобрела github /и это только начало «свободы»/.

Владимир

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

ИМХО открывать исходники всего проекта из-за малой толики GPL кода неправильно /да и не всегда возможно/.

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

Особенно если заявляются всякие лозунги вида «поднимем что-то там». Компаниям нужна собственность для максимизации за собою профита от своих инвестиций. Т.е. твои разработки/инвестиции должны способствовать именно твоему конкурентному преимуществу.

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

В конечном итоге никаких рациональных объяснений подобной политике нет, и быть не может. И мало того - она вредит изначально поставленным задачам. Ведь как я уже говорил выше - задача не стоит вырастить «интел». Нужна область и школа.

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

Есть кое как сваянное дерьмо либо колхозниками на аутсорсе, либо самими. Всё это кое как скручено из готовых кусков и никакими необходимыми свойствами не обладает.

Что бывает, когда ты ничего не прячешь - видно выше. Дал код, дал процессор. И всё, очень просто пойти, воспроизвести результаты. Которые не воспроизводятся и заявлено «наше быстрее», а реально интел в 50+ раз быстрее. Точно так же сразу можно заметить все манипуляции.

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

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

С точки зрения FSF — безусловно. Вопрос в том, не является ли это требование ничтожным в соответствии с российским законодательством.

А какова официальная позиция МЦСТ по этому поводу? Ну вот если просто в лоб задать вопрос на каком-нибудь публичном мероприятии или пресс-конференции, они ответят «Да, мы лицензию GPL нарушаем, потому что законы РФ нам это позволяют делать.» или что-то другое? Этот вопрос вообще поднимался хоть раз на официальном уровне?

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

«Да, мы знаем, мы сами хотим, но нам заказчики не разрешают, когда-нибудь сорцы будут, вот»

Ну, примерно такой ответ я слышал на стримах Горшенина. Не ручаюсь за то, что передал слово в слово, лень искать запись.

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

Это уже не ко мне вопросы.

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

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

Официальной позиции по этому вопросу нет и быть не может :-)

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

Подписывание NDA это не только заморочки с GPL и недоверие сообщества, это ещё и бизнесу мешает. Например, нельзя поставлять Эльбрус за рубеж, нельзя послать его, скажем, на МКС, нельзя ожидать большого количества сторонних решения.

Ещё одна причина, по которой пилят llvm.

Aceler ★★★★★ ()

Кажется, первый байт инструкции определяет её общую длину. Инструкции бывают длиной от 8 до 64 байт. Длина инструкции всегда кратна 8. В первом байте биты 6-4 содержат число от 0 до 7. Это число дополнительных 8-байтных блоков. Так, если там будет 0b011, значит общая длина инструкции — 8 + 3 * 8, то есть 32 байта.

i-rinat ★★★★★ ()

Похоже, первые два байта определяют, сколько nop’ов запрашивает инструкция. Причём как-то странно. Один бит из первого байта и два бита из второго.

Хотя если предположить, что два байта читаются как 16-битное число в little-endian, то биты подряд. Биты 9-7. Число оттуда — число nop’ов.

i-rinat ★★★★★ ()