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

Add a GPU calculation backend #47

Open
hav-gerdint opened this issue Sep 24, 2022 · 0 comments
Open

Add a GPU calculation backend #47

hav-gerdint opened this issue Sep 24, 2022 · 0 comments
Labels
enhancement New feature or request performance Increasing perceived performance

Comments

@hav-gerdint
Copy link
Contributor

Cumulative impact calculations are highly suitable for parallell processing since calculations in a pixel is independent of adjacent pixels (which is why the current implementation is a PointOp in the JAI API).

The best calculation backend will thus be GPU-based since the massive amounts of cores could be expected to be utilized very well. Estimated performance increase is several orders of magnitude, and probably become largely IO-bound. Ideally all raster data would fit in GPU memory, which should enable extremely fast calculations.

OpenCL or some API that would abstract away different GPU vendors differences would be best, but straight CUDA would also be very good (and perhaps fastest), and most server-based GPUs tend to come from Nvidia at the time of writing.

A CUDA-based backend was developed has been developed in another Symphony implementation which has shown very good performance characteristics.

@hav-gerdint hav-gerdint added enhancement New feature or request performance Increasing perceived performance labels Sep 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance Increasing perceived performance
Projects
None yet
Development

No branches or pull requests

1 participant