Proposal: data-shape-aware fast paths and AArch64 vectorization guidance #7389
GENG-CHOVYYYY
started this conversation in
Ideas
Replies: 1 comment 2 replies
|
Hi @GENG-CHOVYYYY, thanks for opening this up. This is something we've been thinking about for a while, so its great that you brought it up.
|
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
I use Daft on Kunpeng AArch64 servers for multimodal data-engineering workloads. Profiling has exposed a few narrow, data-shape-dependent hot paths in sort, join, and take. I would like to contribute guarded fast paths for those cases and get guidance on evaluating portable vectorization and AArch64 affinity tuning without introducing CPU-family-specific behavior.
Candidate work
Boolean and dense integer
argsortDense integer join probe
When integer build keys occupy a compact, bounded range, a direct-index structure can avoid a general hash lookup on the probe side. This seems related to #7076, so I would prefer maintainer advice on whether to continue the discussion there before opening another issue.
Identity and range
takeDetect identity indices and contiguous ranges, then use clone or slice semantics instead of a materializing gather. Arbitrary indices would continue through the generic gather path.
Vectorization and affinity on AArch64
For primitive loops used by comparisons, hashing, filters, and gather-like access, I would investigate the following order:
For scheduling, I am looking for a supported way to experiment with opt-in parallelism or affinity settings. I do not want to change Daft's global defaults based on one server family.
Validation
Before opening a PR, I would provide a small public fixture, a Rust microbenchmark covering both the fast-path trigger and fallback, semantic tests, and an end-to-end check. I would report AArch64 and x86 results separately. The work can be reproduced without upstreaming proprietary data.
Questions
All reactions