Size: a a a

2020 March 06

VK

Vartan Khachaturov in SPbLUG chat
У нас другая перестановка
источник

VK

Vartan Khachaturov in SPbLUG chat
Другие битики в других местах :)
источник

VO

Vyacheslav Olkhovchenkov in SPbLUG chat
разве перестановка там не аргументом?
источник

VK

Vartan Khachaturov in SPbLUG chat
нет, там инструкция делает раунд целиком
источник

p

pragus in SPbLUG chat
Aleksey Shirokikh
а в русских процах есть настрой сделать что бы было побыстрее ?
там интересно
источник

p

pragus in SPbLUG chat
1) Эти быстрые табличные реализации, по типу crc/aes, основаны на извлечении отдельных байт из слова, адресной арифметики (целочисленное умножение на 4/8/16), множества лоадов (по числу байт), и XOR-ам их результатов для получения нового слова для очередного раунда...
2) SIMD операции в e2k появлялись как попытка несильно проигрывать при двоичной трансляции MMX/SSE кодов (AVX тогда ещё не было). И если обычные целочисленные операции могут быть запущенны в одном такте сразу на 6-ти АЛУ, то SIMD операции всего на 2 и иногда на 4-х АЛУ (больше всего повезло вещественным сложениям и умножениям - на них флопсы можно показывать).
Ну не было тогда много программ с MMX/SSE кодом, - разработчики решили не перегрудать аппаратуру процессора, и в итоге случилось так что один и тот же код операции на одном АЛУ, например, делает упакованный плюсик, а на другом тот же код будет запускать Упакованные сдвиг, - в результате просто так канальность операций не удавалось поднять в новых версиях процессоров...
3) Кроме поиска в новом портируемом приложении признаков использования SIMD (grep -r "_mm"), также полезно искать макросы i386, x86_64 и  им подобные. Зачастую под ними интересный выбор стоит, например, делать невыровненный load или 8 отдельных байтовых чтений с кучей плюсиков и сдвигов.
4) Кстати, насчет невыровненных чтений/записей: ещё первые версии e2k их поддерживали, однако тогда считалось что это экзотика в нормальной программе. И аппаратуру сделали так, чтобы один или два лоада в широкой программе ещё более-менее быстро испонялись, а вот уже три или четыре лоада будут давать очень заметный штраф. Как это обходить в компиляторе, в общем случае, непонятно.. Поэтому это нужно индидуально в каждом случае решать.
5) SSE/AVX реализуются через отеосительно сложные структуры данных (вложенные union/struct). Ибо 128/256 битные эмулируемые регистры нужно как-то размещать в 64 (на самом деле 80-битных) регистрах процессора, а с этим ранние версии компилятора порой тупили. Ну начиная с E2Kv5 хоть регистры стали 128-битные, стало легче.
источник

p

pragus in SPbLUG chat
5) С хеш функцией Стрибог видится еще одна проблема в плане производительности: 512 битное сложение. На интеловских процессорах легко делается 64битными инструкциями ADC, а на ранних эльбрусах сложения с переносом не было (точнее быстрого и удобного варианта, нужно было реализовывать либо сравнением и доп. сложения под условием, либо за счет флагового сложения, но эти операции двухтактные и не на всех каналах, вырабатывают и потребляют флажки).
источник

rd

rus dacent in SPbLUG chat
Еси шо то есть чатик по Эльбрусам - https://t.me/e2k_chat =)
источник

p

pragus in SPbLUG chat
там много флуда =(
источник

rd

rus dacent in SPbLUG chat
pragus
там много флуда =(
Это правда
источник

rd

rus dacent in SPbLUG chat
Есть ещё канал Максима Горшенина https://t.me/imaxairu, там флуда нет =)
источник

AS

Aleksey Shirokikh in SPbLUG chat
pragus
5) С хеш функцией Стрибог видится еще одна проблема в плане производительности: 512 битное сложение. На интеловских процессорах легко делается 64битными инструкциями ADC, а на ранних эльбрусах сложения с переносом не было (точнее быстрого и удобного варианта, нужно было реализовывать либо сравнением и доп. сложения под условием, либо за счет флагового сложения, но эти операции двухтактные и не на всех каналах, вырабатывают и потребляют флажки).
интересно но нихера не понятно
источник

AS

Aleksey Shirokikh in SPbLUG chat
понятно что там больно
источник

AS

Aleksey Shirokikh in SPbLUG chat
почему эльбрусы это e2k ? и вообще что это такое e2k
источник

VK

Vartan Khachaturov in SPbLUG chat
потому что e2k — это Эльбрус-2000
источник

VK

Vartan Khachaturov in SPbLUG chat
название архитектуры МЦСТ
источник

AS

Aleksey Shirokikh in SPbLUG chat
аа. ну ок
источник

AS

Aleksey Shirokikh in SPbLUG chat
пусть будет
источник

VP

Vadim "Oxyd" Priluzkiy in SPbLUG chat
Фотка напоминает занятие по йоге... Я подозреваю, что я не сильно далёк от истины. 😉
источник

p

pragus in SPbLUG chat
> Веду поиск Go-разработчика в компанию Открытая мобильная платформа (дочка Ростелекома) - на развитие операционной системы (инфраструктурное облачное решение, микросервисы, наследница той самой Sailfish OS). Предстоит большой проект - Всероссийская перепись населения впервые в 2020 году будет Цифровой - там будет использоваться данная операционная система.

@gnulauqa шо, переписчики будут ходить с устройствами на sailfish?
источник