Skip to content

ASV Benchmarks Integration#209

Open
vchamarthi wants to merge 2 commits into
IntelPython:mainfrom
vchamarthi:asv-benchmarks
Open

ASV Benchmarks Integration#209
vchamarthi wants to merge 2 commits into
IntelPython:mainfrom
vchamarthi:asv-benchmarks

Conversation

@vchamarthi
Copy link
Copy Markdown

Adds an ASV benchmark suite to track mkl_umath performance over time.

Benchmarks

micro/ - Single-ufunc timing benchmarks across
dtype - {float32, float64} × size - {10K, 100K, 1M}.
Arrays are pre-allocated in setup() and reused across timing calls.

File Ufuncs
bench_trig.py sin, cos, tan, arcsin, arccos, arctan, arctan2, sinh, cosh, tanh
bench_exp_log.py exp, exp2, expm1, log, log2, log10, log1p
bench_sqrt_misc.py sqrt, cbrt, square, fabs, absolute, reciprocal

npbench/ - 14 application-level workloads adapted from the npbench benchmark suite
(kernels inlined, no external dependency). Each runs at preset - {M, L}. All use
setup_cache() so expensive array initialization runs once per commit, not once per
timing repeat.

Patch script

_patch_setup.py - Runs once per ASV worker process at package import. Applies
mkl_fft, mkl_random, and mkl_umath patches via their public APIs and hard-fails
with a descriptive RuntimeError if any patch does not take effect. Benchmarks can
never silently fall back to stock NumPy.

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