Checkmate50 / wgpu

2 stars 2 forks source link

Variable group size #8

Open Pat-Lafon opened 4 years ago

Pat-Lafon commented 4 years ago

Currently we hard code local_size_x = 1. This is rather suboptimal and it would be nice to be able to derive a different value or allow the programmer to set a different value. However, deriving this value might require extensive metaprogramming on the shader side and possibly some code insertion.

Checkmate50 commented 4 years ago

Could you clarify what local_size_x means? I'm not sure what this issue is meant to allow otherwise. It sounds to me like this should only be solved if there is a concrete example with local_size_x != 1.

Pat-Lafon commented 4 years ago

This issue is about somehow allowing the programmer to change the work group size. A use case for this would be the boids example #10. When more particles are added it probably wouldn't make sense to compute particles in isolation. My understanding is that increasing the work group size would allow for a large number of particles to be computed upon faster. This doesn't look like something that could be derived/inferred. Maybe I allow something like #define local_size_x 64. At the moment we only compute in a singular x dimension but you could also see allowing those definitions for local_size_y and local_size_z