Как стать автором
Поиск
Написать публикацию
Обновить
10
0
Илья К @KILYAV

Человек

Отправить сообщение

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

Есть обновление, тесты AndreyDmitriev показали, что лучший на данный момент код на AVX-512 в 10 раз быстрей. Возможно мой код можно ускорить в два и даже три раза, но все равно AVX-512 будет в три пять раз быстрей.

В примере с Если процессор поддерживает SHA256RNDS2, SHA256MSG1 и SHA256MSG2, есть момент который я хотел попробовать, а именно непосредственную загрузку коэффициентов в регистры не из памяти, а непосредственно командным способом.

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

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

Надо попробовать убрать MMX и перенести все в SIMD

На wiki написано, что часть OpenSSL написан на ассемблере, так что возможно тут соревнуются два асм кода и похоже их лучше.

Исправил.

В процедуре загрузки я не учел, что "заглушку" тоже нужно перевернуть.

Попробуйте сейчас.

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

Что еще раз напоминает об опасности работы с указателями.

Большое Вам спасибо за внимание к моему коду и его проверку.

Надеюсь он Вам пригодится.

Забавно, но вот только что я узнал ответ на этот вопрос.

Изначально инструкция movd появилась вместе с ММХ до х64 и могла пересылать только 32-битные данные из GPR в MMX, а инструкция movq пересылала данные между регистрами MMX, потом регистры расширили, а мнемонику менять не стали, и по прежнему movd пересылает данные между разными регистрами, а movq между регистрами ММХ.

Я компилирую через ml64 у него есть странный баг, он не понимает инструкцию movq в данном контексте, мне даже попадалась инфа в нете, что люди обращались по этому вопросу и им ответили что и так сойдет.

Так и живем.

Если не выходить за пределы SSE то пенальти не будет назначено.

У меня нет оснований для такого утверждения, но я предполагаю что регистры MMX & XMM с аппаратной точки зрения это одни и те же регистры, где в качестве MMX регистра выступает нижняя часть MMX регистра, таким образом мой код просто "отжимает" себе больше регистров из общей "кучи". К примеру в Skylake 128 векторных регистров, разделяемых между 6-8 ядрами.

Согласен что решение через старшие регистры SIMD "безопасней".

К моему удивлению, практически никакой разницы, увеличение размеров регистров позволит упростить перемещение между ними и разместить все вычисление в SIMD, но алгоритмы Декомпрессии и Компрессии по прежнему будут вычисляться по два и одно значение за раз.

AVX & AVX-512 сделают код короче и быстрей, но не в разы.

Есть тысяча тонн рения на НОО в форме шара объемом примерно 45 кубометров и диаметром 4,5 метра. Сталкиваем его с орбиты и он падает в океан на мелководье где мы его поднимаем. (Первый простой вариант)

Есть тысяча тонн рения и примерно две тысячи тонн лития на НОО в форме шара где рений снаружи а литий внутри, объемом примерно 3790 кубометров и диаметром 19,3 метра. Сталкиваем его с орбиты и он падает в глубоководную часть океана после чего всплывает самостоятельно за счет положительной плавучести, цепляем на трос тащим в порт.

"Все" посты одна сплошная ошибка выжившего, все пишут о тех кого наняли, я вот хотел бы почитать о тех кого не наняли.

Я с удовольствием почитал бы книгу "Токсичное программирование", жаль таких не пишут.

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

Топтание на месте и даже в чем-то движение назад.

MASM лже пророк, только в ARM наше спасение.

1

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность