Collaboration? HSA Compute
- Dominant language
- JavaScript
- Stars
- 15.5k
- Forks
- 663
- PR merge metrics
- No merged PRs in 30d
Description
Hello there, I'm the creator of Hamsters.js a 100% vanilla parallel execution library using web workers, one of my original goals for the project was to hopefully be able to leverage webGL via compute shaders but never really got around to it.
I see great strides have been made in this regard with GPU.js and I want to do the following.
1. Say great work!, its awesome to see more compute capacity brought to the web
2. Propose a collaboration initiative where we combine the best features of our libraries into a unified HSA compute system, this would essentially mean the following.
1. When executing logic the system can leverage GPU and CPU resources at the exact same time to complete a single problem, this would mean for example utilizing the GPU via webGL compute shaders to complete say 50% of the solution while in parallel utilizing all 8 or 16 CPU threads to complete the other half of the problem, this should result in an extremely massive performance increase for certain problems.
2. My library already incorporates a fully working thread pool system, using a parameter based execution system problems could be dedicated to the GPU or the CPU or both depending on what is the optimal resource allocation for the problem at hand with on the fly dynamic switching between GPU and CPU and even spread pieces of execution to the GPU while the CPU works on other parts
3. Bring true HSA capability into a single unified architecture that allows us developers to extract 100% of the resources available in a system with a single simplified API.
You can read more about HSA and the promises it holds here http://www.hsafoundation.com/ , I think if it was done correctly this could have a major impact on the future of web development (possibly negating the need for things like web assembly).
Contributor guide
Assessment
This issue has not been assessed yet.