Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPU support across different kinds of machines #42

Open
jefffriesen opened this issue Jul 11, 2017 · 1 comment
Open

GPU support across different kinds of machines #42

jefffriesen opened this issue Jul 11, 2017 · 1 comment

Comments

@jefffriesen
Copy link

I'm doing very computationally-heavy calculations in the browser for data visualizations. Fortunately, I'm using Electron (Chrome) so the browser features are a known entity. However, people will be installing this on lots of different desktop machines. If those machines don't have the right GPU support and/or slow GPUs, the interactions will fail because CPU fallback computations will be too slow.

Does Weblas run or run quickly on a majority of desktop computers? Or is there a lot of variability? Are there guidelines or checks to see if a GPU on a machine is capable of running Weblas fast?

I'm wondering if I should be thinking of this like the old days of wondering if browsers support a certain feature. Now we've got pretty good browser feature parity (especially with build tools) but as we push computation to the GPU how do we evaluation GPU support?

Thank you for building this library.

@waylonflinn
Copy link
Owner

Thanks for the feedback and the questions.

I've done tests on a wide range of hardware. In every case I've tested so far, the GPU implementation used here outperforms an optimized javascript implementation.

Most modern consumer devices (including mobile devices) have, at the very least, some form of integrated GPU. While typically much less powerful than a dedicated unit, it usually gives a considerable speed increase.

Variability in a deployment environment is still a concern, however. I'd like to introduce a simple profiling system in the library that allows you, as a developer and user of the library, to get a single number representing the performance class of any individual user. This will help you make better decisions and help me more easily collect statistical information to answer this question in a general way.

This system, which will probably consist of a single function, is in the planning stages now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants