正在加载视频...

视频加载失败

Starting to multithread with WebAssembly.

21,426 次观看 • 1 年前 •via X (Twitter)

9 条评论

Grant Kot 的头像
Grant Kot1 年前

very early wip demo:

Brian Jordan 的头像
Brian Jordan1 年前

Siiiick I'm curious are there things they can be sped up with multi threaded WASM that might not be candidates for WebGPU parallelization?

Grant Kot 的头像
Grant Kot1 年前

my main ideas are adaptive particle resolution to give the surface more detail, and using multiple resolutions of grids like a coarser one to help improve incompressibility. CPU has more flexibility to do stuff like that though it is possible on GPU as well. also have some visual plans to work the GPU.

Ben Stephens 的头像
Ben Stephens1 年前

cool! any tips/learnings on multithreading for webassembly?

Grant Kot 的头像
Grant Kot1 年前

to prep, i cut down on communication between threads by going with coarser simulation sections. it does get a little unbalanced when the water is pushed along the edges. with single threaded wasm i like to call the simulation step from JS where i can do a lot of custom stuff. seems to be either a lot of overhead or latency though when multithreaded so will need to investigate that further. on iOS, using shared memory will make your stuff prone to out of memory errors.

Grant Kot 的头像
Grant Kot1 年前

I'm using Emscripten to compile my C++ to Wasm. I use the taskflow library to do Pthreads based multithreading. Also of interest is the Wasm Workers API, which might give both smaller build sizes and control for optimization.

Jimminy 的头像
Jimminy1 年前

@Pancracio9001 wasm

vincent 的头像
vincent1 年前

Amazing work. I was just reading about the math behind water sims in an old NVIDIA GPU gems book

Joe 的头像
Joe1 年前

crazy how PCs have had multithreading since 2002 yet its still nurfed in many browsers

相关视频