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 aggregation layer integration #329

Open
macrigiuseppe opened this issue Jan 13, 2019 · 2 comments
Open

GPU aggregation layer integration #329

macrigiuseppe opened this issue Jan 13, 2019 · 2 comments
Assignees
Labels
feature A new feature rfc roadmap item Item that's on our current roadmap

Comments

@macrigiuseppe
Copy link
Collaborator

macrigiuseppe commented Jan 13, 2019

Problem
Aggregation in grid and hexagon layer is currently executed on the CPU with javascript. It runs every time points position changed or size of the bin changes. This causes lag with large datasets

Solution
We will work with the deck.gl team to implement GPU accelerated grid layer. RFC: GPU Aggregation enhancements. GPUGridAggregator will use texture mapping to record aggregation results using multiple weights, and custom blend mode for each aggregation operation. It can use Multiple Render Target feature to perform single draw for aggregating multiple weights

Limitation
GPU Aggregation can only perform MIN, MAX, SUM and MEAN calculation. For other aggregation modes - Median and Mode we will fall back to CPU aggregation.

We also need to fall back to CPU aggregation for color domain calculation, since it is not possible to access GPU aggregation result from javascript.

We propose to use web worker to execute CPU aggregation in the background, avoid UI lagging, and notify the UI of its progress.

@macrigiuseppe macrigiuseppe added roadmap item Item that's on our current roadmap rfc feature A new feature labels Jan 13, 2019
@macrigiuseppe macrigiuseppe added this to the Milestone (Jan 11, 2019) milestone Jan 13, 2019
@briantcl briantcl modified the milestones: Milestone (Jan 14, 2019), Feb 22, 2019 Sprint Feb 22, 2019
@chrisirhc
Copy link
Collaborator

chrisirhc commented Mar 7, 2019

Synced with @heshan0131 on this today. We're waiting for a PR on deck.gl to be issued then we'll estimate the work needed on kepler.gl to implement it.

Unfortunately, aggregation capabilities in deck.gl doesn't cover all cases here, so we'll still need to fallback to CPU most of the time.

@briantcl briantcl removed this from the 02/25/2019 Sprint milestone Apr 5, 2019
@nurrochmanmuhammad
Copy link

how to perform math between two hexagon aggregation at the same position?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new feature rfc roadmap item Item that's on our current roadmap
Projects
None yet
Development

No branches or pull requests

5 participants