Size: a a a

WebAssembly — русскоговорящее сообщество

2020 October 29

DI

Dmitry Ilyin in WebAssembly — русскоговорящее сообщество
сложно сделать универсальный набор инструкций, который бы эффективно на всем железе работало
да и по моему мнению, 128 - это мало
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Георгий
интересно, спасибо. а такой вопросик, в васме вообще есть концепция выравнивания памяти по 16 байт?
Это должен делать язык и его рантайм, в wasm может указывать alignment хинт для load / store но обычно vm это игнорирует
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Dmitry Ilyin
сложно сделать универсальный набор инструкций, который бы эффективно на всем железе работало
да и по моему мнению, 128 - это мало
Интересно было бы про libde265 узнать подробнее, ищем бенчмарки
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Работа началась надо более длинным simd, но пока мало сделано
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
MaxGraey
Это должен делать язык и его рантайм, в wasm может указывать alignment хинт для load / store но обычно vm это игнорирует
так все-таки имеет смысл индексы в массиве памяти выравнивать или нет?
источник

DI

Dmitry Ilyin in WebAssembly — русскоговорящее сообщество
Petr Penzin
Интересно было бы про libde265 узнать подробнее, ищем бенчмарки
я пробовал его год назад, тогда не было вменяемой многопоточности, что в принципе дало бы буст

тупо бенчмарк
https://camera.torturelabs.com/hw.html

запустите на телефоне и десктопе, будет сильно разный FPS
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Георгий
так все-таки имеет смысл индексы в массиве памяти выравнивать или нет?
Смотри, если это C++ то там нужно использовать aligned_malloc если нужно массив в куче, если на стеке то там __m128, v128_t, __u32x4 и т д уже имеют аттрибут для выравнивания
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Dmitry Ilyin
я пробовал его год назад, тогда не было вменяемой многопоточности, что в принципе дало бы буст

тупо бенчмарк
https://camera.torturelabs.com/hw.html

запустите на телефоне и десктопе, будет сильно разный FPS
Ох, за год много чего поменялось) Год назад SIMD не умел даже векторные константы собирать (v128.const) там был жуткий хак
источник

DI

Dmitry Ilyin in WebAssembly — русскоговорящее сообщество
для меня было достаточно сравнить скорость декодирования и понять, что с этим можно работать
дальше с дохлыми клиентами можно играть с разрешением и битрейтом
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
CompileError: WebAssembly.instantiate(): invalid value type 'Simd128', enable with --experimental-wasm-simd
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
так эт все-таки надо что-то включать в хроме чтобы симд был?
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
хоспади
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
пора спать по всей видимости и переписывать без симда
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Dmitry Ilyin
я пробовал его год назад, тогда не было вменяемой многопоточности, что в принципе дало бы буст

тупо бенчмарк
https://camera.torturelabs.com/hw.html

запустите на телефоне и десктопе, будет сильно разный FPS
Кассно - у этой штуки есть исходники?
источник

DI

Dmitry Ilyin in WebAssembly — русскоговорящее сообщество
есть, где-то… дело давно было, фактически там слегка переделанная libde265 с добавленными SIMD (не уверен, что эта версия) и рендером на WebGL
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Было бы хорошо добавить это сюда: https://github.com/WebAssembly/benchmarks
источник

DI

Dmitry Ilyin in WebAssembly — русскоговорящее сообщество
я думаю, если позволят ресурсы, попробуем переписать уже с нормальной многопоточкой и сделать это модулем
тогда и есть смысл бенчить

там тюнить можно до безобразия очень много
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Я думаю стоит как минимум открыть issue, даже старая версия будет ценным примером, т.к. это и важный код и важный use case
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
К тому же это может помочь найти дополнительные ресурсы
источник
2020 October 30

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Что такое NativeMath в тестах assemblyscript? Смотрю в них как в доку.
источник