The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Для ядра Linux предложена реализация функции memchr, работающая до 4 раз быстрее, opennews (??), 12-Июл-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


4. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (-), 12-Июл-22, 09:39 
Там разве не sse и avx(512) с "до 64 байтами" за раз?
Ответить | Правка | Наверх | Cообщить модератору

28. "Для ядра Linux предложена реализация функции memchr, работаю..."  +1 +/
Сообщение от Онаним (?), 12-Июл-22, 12:50 
avx(512) в здравом уме в ядре использовать никто не будет, потому что на интелах оно имеет риск проложить производительность всей числодробилки, а не только одного ядра.

"Linus Torvalds: I hope Intel's AVX-512 'dies a painful death'"

Ядро поддерживает софт, работающий с AVX512, но это на жуткого любителя.

Ответить | Правка | Наверх | Cообщить модератору

33. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (-), 12-Июл-22, 12:59 
> avx(512) в здравом уме в ядре использовать никто не будет

Это монолит, нет смысла апеллировать к здравому смыслу.

Ответить | Правка | Наверх | Cообщить модератору

69. "Для ядра Linux предложена реализация функции memchr, работаю..."  +1 +/
Сообщение от Онаним (?), 12-Июл-22, 19:11 
Ну, бОльшая часть ядра до последнего времени таки здравому смыслу соответствовала.

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

Ответить | Правка | Наверх | Cообщить модератору

90. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (-), 13-Июл-22, 03:28 
Что за урина? Это uring чтоли так назвали? Оно может и брейнфак, но ОЧЕНЬ БЫСТРЫЙ брейнфак. И когда вы хотите всякие там 100Gig сеточки, сторажи типа оптана и проч - окей, но этот брейнфак быстрее обычных способов в разы! Поэтому с ним и канителятся.
Ответить | Правка | Наверх | Cообщить модератору

73. "Для ядра Linux предложена реализация функции memchr, работаю..."  –1 +/
Сообщение от иисус господь евреев (?), 12-Июл-22, 19:34 
спасибо за инфу! смысул этих инструкций и новых процев околонулевой. пожалуй , пока останусь ка на коре2дуо.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

135. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (135), 13-Июл-22, 16:32 
https://colfaxresearch.com/skl-avx512/
Ответить | Правка | Наверх | Cообщить модератору

136. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (135), 13-Июл-22, 16:33 
Английского не знаю. Судя по тексту "Я" сайт перевёл хорошо если не отлично.
Ответить | Правка | Наверх | Cообщить модератору

147. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от ммнюмнюмус (?), 14-Июл-22, 15:17 
А что правда не так с avx-512? Я то наоборот стараюсь использовать векторизацию, вот только железа, поддерживающего что-то выше SSE так и не опробовал (у меня максимум SSE-4.3). Так что тут я слегка профан, и был бы рад пофиксить ещё немного пробелов в знаниях.

Что в нём не так - неоптимальная реализация работы с 512-битными векторами или бессмыссленность такого подхода из за неизбежных узких мест? Насколько я заметил, самая частая ошибка при векторизации - это разложить по вектору элементы некоей сложной обработки вместо того, а не сами группы (на уровне которых линейность таки прослеживается).

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

148. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от n00by (ok), 14-Июл-22, 17:18 
Когда контекст исполнения (поток) переключается, регистры процессора надо сохранять. Операция не мгновенная, требует место в ОЗУ и может марать кеш. Было 16 штук 32-х байтных регистров (256 бит), стало вдвое больше и в количестве, и по размеру. Помножьте 2К на 1000 потоков. Интел выиграла в каком-то тесте, а система в целом просела, да ещё и ядро надо допилить.
Ответить | Правка | Наверх | Cообщить модератору

156. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Онаним (?), 15-Июл-22, 22:11 
Не так в нём то, что оно превращает в кипятильник весь камень, и частоты падают на всём кипятильнике, а не на конкретном ядре.
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

157. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Онаним (?), 15-Июл-22, 22:11 
(и это не так из эксплуатационного)
Ещё с ним не так то, что разные процы поддерживают разные несовместимые субсеты оного...
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

30. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Онаним (?), 12-Июл-22, 12:51 
А так да, скорее всего оптимизации касаются как раз SSE(2) и AVX(2) - но честно скажу, не смотрел.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

31. "Для ядра Linux предложена реализация функции memchr, работаю..."  +1 +/
Сообщение от Онаним (?), 12-Июл-22, 12:52 
В принципе и даже на стандартных регистрах можно через поиск нуля после вычитания, но изврат тот ещё.
Ответить | Правка | Наверх | Cообщить модератору

32. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Онаним (?), 12-Июл-22, 12:54 
В принципе даже просто выровненный забор и 4-8 сравнений на стандартных регистрах должны дать хороший прирост, если там до этого оно побайтово делалось.
Ответить | Правка | Наверх | Cообщить модератору

70. "Для ядра Linux предложена реализация функции memchr, работаю..."  +1 +/
Сообщение от с22 (?), 12-Июл-22, 19:30 
В ядре не используются команды фпу, ссе и авх
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

72. "Для ядра Linux предложена реализация функции memchr, работаю..."  +1 +/
Сообщение от Аноним (-), 12-Июл-22, 19:32 
glibc используется?
Ответить | Правка | Наверх | Cообщить модератору

74. "Для ядра Linux предложена реализация функции memchr, работаю..."  +1 +/
Сообщение от Аноним (-), 12-Июл-22, 19:43 
Первый найденный случайный файл

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

Найди отсутствие AVX

Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

93. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от n00by (ok), 13-Июл-22, 09:33 
> Первый найденный случайный файл
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
> Найди отсутствие AVX

Нашёл баш-программиста ядра. Смотрим не Makefile, а первый найденный случайный код. Что бы это значило и зачем? ;)

    kernel_fpu_begin();

    crypto_aegis128_aesni_init(&state, ctx->key.bytes, req->iv);
    crypto_aegis128_aesni_process_ad(&state, req->src, req->assoclen);
    crypto_aegis128_aesni_process_crypt(&state, &walk, ops);
    crypto_aegis128_aesni_final(&state, tag_xor, req->assoclen, cryptlen);

    kernel_fpu_end();

Ответить | Правка | Наверх | Cообщить модератору

102. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от pavlinux (ok), 13-Июл-22, 10:39 
> Что бы это значило и зачем? ;)

напечатай из ядра sin(M_PI/19)

Ответить | Правка | Наверх | Cообщить модератору

104. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (-), 13-Июл-22, 11:08 
> напечатай из ядра

"В ядре не используются команды" печати.

Ответить | Правка | Наверх | Cообщить модератору

120. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от pavlinux (ok), 13-Июл-22, 12:53 
открой для себя printk

https://www.opennet.ru/man.shtml?topic=printk

" DESCRIPTION

Print a formatted message to the ..."

Ответить | Правка | Наверх | Cообщить модератору

122. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от Аноним (122), 13-Июл-22, 12:59 
Вот, чёрт.
Ответить | Правка | Наверх | Cообщить модератору

125. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от n00by (ok), 13-Июл-22, 13:45 
>> Что бы это значило и зачем? ;)
> напечатай из ядра sin(M_PI/19)

Ну вывести 0.16459459028 как бы не проблема. Вопрос был к утверждавшим, что FPU можно и нужно.

The kernel's printf does not support %n. Floating point formats (%e, %f,
%g, %a) are also not recognized, for obvious reasons. Use of any
unsupported specifier or length qualifier results in a WARN and early
return from vsnprintf().

Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

82. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от 67332 (?), 12-Июл-22, 21:43 
Еще как используются, всякие там хеш-функции и прочие подобные вещи в нескольких вариантах есть.
Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

94. "Для ядра Linux предложена реализация функции memchr, работаю..."  +/
Сообщение от n00by (ok), 13-Июл-22, 09:40 
Посмотрите, _как_ оно во "всяких там" используется. Человек прав в принципе, но сформулировал некорректно. Не принято использовать. Криптопреобразования работают с данным достаточно больших объёмов и в специфичных случаях, потому имеет смысл озадачиться с сохранением контекста.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру