Pull to refresh

Comments 2

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

Эти таблицы не векторищуются нигде, но специально под симд есть табличный аналог fma https://www.ssrc.us/media/pubs/c9a735170a7e1aa648b261ec6ad615e34af566db.pdf

Можно глянуть реализацию вот тут https://github.com/catid/gf256

А у вас на принимающей стороне известно какие данные испортились? Если да, то берите вот эту реализацию: лучше в открытом доступе не найдёте, а чтобв сделать быстрее придётся много математики разобрать https://github.com/catid/leopard

Спасибо за очень познавательные ссылки. Векторизация умножения существенно завязана на работу с локальной таблицей через mm shuffle epi8(), но в simd библиотеке для esp32-s3 я подобной функции не нашел, как и не нашел интрисики для esp32-s3. Но буду иметь ввиду о таком полезном способе векторизовать умножение на коэффициент в общем виде.
Да, мне известны пропавшие блоки данных и я уже сделал алгоритм их восстановления. Думаю до размеров кодека в пределах (20,16) еще можно руками поподбирать и оптимизировать кодер, а при больших уже лучше использовать стандартные готовые решения, которые вы скинули.

Sign up to leave a comment.

Articles