The current Polars GPU default requests pl.GPUEngine(executor="in-memory", raise_on_fail=True). On the cached RAPIDS 25.02.02 / Polars 1.21.0 lane, actual lazy collection rejects that executor with ComputeError wrapping ValueError: Unknown executor in-memory. polars_gpu_available() correctly reports false. cuDF/CUDA and eager helper checks still run; RAPIDS 26.02.01 passes the full focused traversal scope.
This predates #2166: graphistry/compute/gfql/lazy/__init__.py is byte-identical at cached baseline 915a51eb335715d22fa508b7f307449b5785645a, landed base d6b930bc2f6a2d93af7a5bf0183bff25fc9fcf78, and the release fix. A baseline actual GPU probe also returns false. The 18 original failed traversal cases and logs remain retained; the regression tests now guard on the real configured-engine capability probe.
Follow-up: establish/document the supported cudf-polars version/executor combinations, then decide whether the older lane should use a compatible GPU executor. Preserve raise_on_fail=True and add an actual tiny lazy collection plus representative traversal test per supported combination. Keep this separate from the #2161 temporal correctness fix.
The current Polars GPU default requests
pl.GPUEngine(executor="in-memory", raise_on_fail=True). On the cached RAPIDS 25.02.02 / Polars 1.21.0 lane, actual lazy collection rejects that executor withComputeErrorwrappingValueError: Unknown executor in-memory.polars_gpu_available()correctly reports false. cuDF/CUDA and eager helper checks still run; RAPIDS 26.02.01 passes the full focused traversal scope.This predates #2166:
graphistry/compute/gfql/lazy/__init__.pyis byte-identical at cached baseline915a51eb335715d22fa508b7f307449b5785645a, landed based6b930bc2f6a2d93af7a5bf0183bff25fc9fcf78, and the release fix. A baseline actual GPU probe also returns false. The 18 original failed traversal cases and logs remain retained; the regression tests now guard on the real configured-engine capability probe.Follow-up: establish/document the supported cudf-polars version/executor combinations, then decide whether the older lane should use a compatible GPU executor. Preserve
raise_on_fail=Trueand add an actual tiny lazy collection plus representative traversal test per supported combination. Keep this separate from the #2161 temporal correctness fix.