diff options
author | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2020-05-31 11:42:20 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-31 21:42:20 +0300 |
commit | 1b212bda1c2833467177eb0d62c6de6c224c6a80 (patch) | |
tree | 0a72d72e737a0873cd9797ace1ce2aff4a3d3cec /benchmarks | |
parent | 55ecf648d68f3fb9691fbe0f9c1d5e6168cc5cec (diff) | |
download | numpy-1b212bda1c2833467177eb0d62c6de6c224c6a80.tar.gz |
ENH: Use AVX-512 for np.frexp and np.ldexp (#16371)
* TST: Adding tests to validate strided np.ldexp and np.frexp
* ENH: Use AVX-512 for float and double np.ldexp
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/benchmarks/bench_avx.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/benchmarks/benchmarks/bench_avx.py b/benchmarks/benchmarks/bench_avx.py index 4f915f82a..ff105811d 100644 --- a/benchmarks/benchmarks/bench_avx.py +++ b/benchmarks/benchmarks/bench_avx.py @@ -14,6 +14,7 @@ avx_ufuncs = ['sin', 'floor', 'ceil' , 'trunc', + 'frexp', 'isnan', 'isfinite', 'isinf', @@ -60,6 +61,22 @@ class AVX_BFunc(Benchmark): def time_ufunc(self, ufuncname, dtype, stride): self.f(self.arr1[::stride], self.arr2[::stride]) +class AVX_ldexp(Benchmark): + + params = [dtype, stride] + param_names = ['dtype', 'stride'] + timeout = 10 + + def setup(self, dtype, stride): + np.seterr(all='ignore') + self.f = getattr(np, 'ldexp') + N = 10000 + self.arr1 = np.array(np.random.rand(stride*N), dtype=dtype) + self.arr2 = np.array(np.random.rand(stride*N), dtype='i') + + def time_ufunc(self, dtype, stride): + self.f(self.arr1[::stride], self.arr2[::stride]) + cmplx_bfuncs = ['add', 'subtract', 'multiply', |