You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Makes [avx512
fp16](https://networkbuilders.intel.com/solutionslibrary/intel-avx-512-fp16-instruction-set-for-intel-xeon-processor-based-products-technology-guide)
support a runtime check. This will allow binaries compiled w/ the
avx512fp16 feature to run hardware that doesn't support this feature
(e.g. x86 before saphire rapids).
Check does not add performance penalty:
```
albertlockett@albert-ubuntu-saphire:~/lance/rust/lance-linalg$ TARGET_TIME=55 cargo bench \
--bench dot \
-F avx512fp16
Compiling lance-linalg v0.9.9 (/home/albertlockett/lance/rust/lance-linalg)
Finished bench [optimized + debuginfo] target(s) in 55.77s
Running benches/dot.rs (/home/albertlockett/lance/rust/target/release/deps/dot-f42dee3ad61e0342)
Gnuplot not found, using plotters backend
Dot(half::binary16::f16, arrow_artiy)
time: [2.5228 s 2.5230 s 2.5233 s]
change: [-0.0915% -0.0641% -0.0381%] (p = 0.00 < 0.10)
Change within noise threshold.
Dot(half::binary16::f16, auto-vectorization)
time: [167.90 ms 168.05 ms 168.34 ms]
change: [-0.3945% -0.1097% +0.1731%] (p = 0.47 > 0.10)
No change in performance detected.
Dot(f16, SIMD) time: [167.03 ms 167.22 ms 167.50 ms]
change: [-1.4038% -0.9215% -0.4951%] (p = 0.00 < 0.10)
Change within noise threshold.
```
0 commit comments