Size: a a a

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

2020 May 09

M

MaxGraey in WebAssembly — русскоговорящее сообщество
У emscripten есть байндинги для WebGPU уже:
https://github.com/emscripten-core/emscripten/blob/42cbd6cdcd0cfa27d59826178ac65e156751ed44/src/library_webgpu.js

У Rust-а вроде тоже через gfx-rs.
Проблема только в браузерах / ноде где эта поддержка экспериментальная
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Для node.js тоже кстати прикрутили webGPU:
https://github.com/maierfelix/webgpu
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Для шейдеров там используется SPIRV что может отличаться от финальной WebGPU спецификации
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Спасибо! Я пока просто обзорно знакомлюсь.
источник

Г

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

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Только не интерпретатор, а компилятор. Получится типа OpenCL.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Георгий
я вот думаю, насколько дебильно сделать интерпретатор какого-нибудь кода в вычисления на фрагментом шейдере? ну чтобы самому не париться о текстурах, форматах, сжатиях, паках, анпаках
Да таких полно. Взять тот же gpu.js или turbo.js. И это только GPGPU для JavaScript) Если рассматривать специализированные языки / фреймворки то стоит взглянуть на Halide и taichi
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
и че gpu.js прям работает?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Я им не пользовался но судя по всему работает и поддерживается
источник

Г

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

Г

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
не нужн был GPGPU. Кстати вычисления для GPU эффективны только начиная с довольно внушительной длине выборки, до этого опримизированный, векторизированный и распаралелленный cpu намного лучше справиться, особенно на операциях типа scattering. Все из-за пропускной способности шины между ОЗУ/DMA и GPU памяти
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
[p
источник

Г

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

Г

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

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Георгий
задача типо перемножить дохренище матриц
Вот одну здоровую матрицу — это да, а если много мелких, то хрен там, CPU может быстрее управиться.
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Особенно, если в API нет pipelining для загрузки/выгрузки из/в RAM.
источник

Г

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

Г

Георгий in WebAssembly — русскоговорящее сообщество
тут CPU ну по-любому не будет быстрее. или...?
источник

Г

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