lance-format / lance-format/lance

[Python, Benchmarks] How could we ship binary wheel with different CPU targets

Open
#1,162 0 comments 0 reactions 3 assignees View on GitHub

@chebbyChefNEQ is already working on this.

Since Aug 23, 2023.

A-python benchmark
Dominant language
Rust
Stars
7.1k
Forks
852
Avg merge
3d 18h
Merged PRs (30d)
272

Description

Problem Statement

The default target-cpu of our pypi release is --target-cpu=haswell to enable AVX2 and FMA code path. However, @chebbyChefNEQ has found that running --target-cpu=native on a Zen 4 (7950X?) platform leads to more than 10X speed up over vector indexing performance, and would expect non-trivial speed up in query path as well.

Desired Behavior

If this speed gap can not be bridged by feature flag (#[cfg=...]) in rust, we need to think about how we release binaries that can take advantage of the CPU users have, and dont leave performance on the table.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.