summaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorRaghuveer Devulapalli <raghuveer.devulapalli@intel.com>2020-05-31 11:42:20 -0700
committerGitHub <noreply@github.com>2020-05-31 21:42:20 +0300
commit1b212bda1c2833467177eb0d62c6de6c224c6a80 (patch)
tree0a72d72e737a0873cd9797ace1ce2aff4a3d3cec /benchmarks
parent55ecf648d68f3fb9691fbe0f9c1d5e6168cc5cec (diff)
downloadnumpy-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.py17
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',