feat(experimental): document luDF with Arrow-native GPU benchmarks - #2964
Merged
Conversation
ibgreen-openai
force-pushed
the
codex/ludf-joins
branch
from
August 7, 2026 14:02
40f49cb to
2c6dddc
Compare
ibgreen-openai
force-pushed
the
codex/ludf-integration
branch
from
August 7, 2026 15:33
2bfcaec to
ff722c8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goals
@luma.gl/experimental/ludfdataframe facade over existing GPU tables, with Apache Arrow ingestion remaining in@luma.gl/arrow.Changes
uint32inner joins/lookups with explicit GPU overflow, validity, and contract diagnostics./examples/experimental/gpu-data-analysisroute without adding a workspace, dependency, lockfile entry, or standalone application.Verification
nvm use: passed, selecting Nodev22.22.1from.nvmrc.yarn install: not completed because the registry returned HTTP 403 for required@vis.gl/dev-tools@2.0.0-alpha.4. Verification reused already-installed workspace dependencies from the existing checkout; the exact upstream alpha.4 Biome configuration was installed only under ignorednode_modules. This change adds no packages or lockfile changes.yarn lintandyarn lint fix: passed, checking all 1,568 files with the exact official alpha.4 Biome configuration.yarn build: passed for every workspace package after final formatting and integration changes.yarn test-node: passed, with 672 passing Node tests and one existing skipped test across 127 files.CI=1 yarn test/yarn test: passed, with 672 passing Node tests (one existing skipped) and 1,598 passing real Chromium/WebGPU tests (25 existing skipped) across 297 browser files.yarn website:build: passed, validating all 462 raw documentation pages.(cd website && yarn build): passed independently, validating all 462 raw documentation pages.yarn examples:typecheck: passed across all 46 configured example workspaces.yarn workspace luma.gl-examples-experimental-gpu-data-analysis build: passed, including standalone TypeScript compilation and the real production Vite bundle for the updated Arrow/luDF example.yarn bundle-size: passed, with all seven production bundle fixtures below their enforced ceilings.Prerequisites and review order
This integration branch contains the following independently reviewable pull requests as actual Git ancestors:
All twelve prerequisite PRs had successful GitHub checks and zero unresolved non-outdated review threads when this description was prepared.
Risks and limitations
float32,sint32, anduint32scalars; dense grouping and hash joins requireuint32category/key storage. It does not provide native GPUfloat64/int64, arbitrary GPU strings, full SQL/cuDF parity, many-to-many/outer/multi-key joins, or implicit global cross-batch sorting/top-K.0xffffffffkeys, or incomplete index construction set GPU-residentcontractViolationand suppress matches. Per-batch publication capacity and overflow remain explicit application responsibilities.float32precision, and grouped atomic sum comparisons use a documented floating-point tolerance.