Skip to content

bench(gfql): add typed Pokec Polars lanes#1725

Open
lmeyerov wants to merge 2 commits into
bench/gfql-fair-matrixfrom
bench/gfql-pokec-polars-lanes
Open

bench(gfql): add typed Pokec Polars lanes#1725
lmeyerov wants to merge 2 commits into
bench/gfql-fair-matrixfrom
bench/gfql-pokec-polars-lanes

Conversation

@lmeyerov

Copy link
Copy Markdown
Contributor

Summary

  • add explicit pandas, cuDF, Polars, Polars-GPU, legacy both, and four-engine all Pokec selections
  • convert resident graph frames once outside measured queries and keep Polars-GPU frames as ordinary Polars
  • retain measured samples, per-seed distributions, cardinality, units, planner paths, execution target, CUDA synchronization, and unsupported/error/OOM/fallback states
  • classify indexed Polars-GPU traversal honestly: NumPy index paths are CPU fallback and cost-gated index/scan tasks are mixed, never GPU-only

Why

The Pokec runner only exposed pandas/cuDF, which left two GFQL engine lanes missing from the per-task report. A naive Polars-GPU addition would also mislabel the physical adjacency index path as GPU even though that index uses host NumPy arrays. This change adds the lanes while making execution provenance and failure states publication-safe.

Validation

  • review skill: 8 waves after runtime amplification, converged with 0 unresolved BLOCKER/IMPORTANT findings
  • local static: Python 3.8 parse, py_compile, Ruff, focused mypy, git diff --check, credential scans
  • guarded DGX exact head 52a22dd93888208eed0dcd22d2cb693ee09f3a55: focused tests 11 passed, 6 subtests passed
  • guarded Pokec medium pilots and full R1: Polars indexed and genuine Polars-GPU Cypher each pass all 8 supported seeded tasks with exact prior cardinality parity; pattern_cycle remains explicitly unsupported
  • full R1 configuration: 30 fixed seeds, 1 warmup, 5 measured samples; 80 GB RMM cap and 20 GB host floor

Evidence caveat

Polars-GPU with native indexed traversal is retained as an explicit CPU/mixed fallback receipt. Genuine GPU seeded results use the separate index=off, traversal=cypher policy and must not be compared as though it used the same physical index policy.

Stacked on #1704. Do not merge out of order.

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

Successfully merging this pull request may close these issues.

1 participant