summaryrefslogtreecommitdiff
path: root/numpy/array_api/tests/test_indexing_functions.py
diff options
context:
space:
mode:
authorSayed Adel <seiko@imavr.com>2023-02-20 03:11:31 +0200
committerSayed Adel <seiko@imavr.com>2023-02-20 05:41:20 +0200
commit84526dd0f869e0f573c46991a567b3b7a65a1c05 (patch)
treea96f07f109fc791b1a3b708814ea27d56bdf6c22 /numpy/array_api/tests/test_indexing_functions.py
parent2aa7fde3ace38bd19469e76a445f320d5916962d (diff)
downloadnumpy-84526dd0f869e0f573c46991a567b3b7a65a1c05.tar.gz
SIMD: Disable auto-vectorization of avx512_skx
Abandon the idea of providing binary objects for AVX512_SKX due to the massive increase in binary size over +400k (striped) with no vast change in performance except for reciprocal on some data types, tested against gcc/12.2.1 build: AVX512_SKX AVX2 ratio [e0e4acb7] [0a56560e] <removes_old_cpu_dispatcher~1> <removes_old_cpu_dispatcher> + 26.0±0.07μs 125±7μs 4.83 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'L') + 26.0±0.04μs 122±4μs 4.71 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'Q') + 25.8±0.01μs 110±0.2μs 4.24 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'q') + 25.9±0.08μs 108±0.6μs 4.18 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'l') + 26.3±0.04μs 43.7±0.04μs 1.66 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'I') + 1.63±0.03μs 2.39±0.02μs 1.47 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'l') + 1.64±0.05μs 2.39±0μs 1.46 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'Q') + 1.63±0.05μs 2.37±0.01μs 1.45 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'L') + 1.64±0.04μs 2.37±0.01μs 1.45 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'q') + 1.63±0.01μs 2.36±0.01μs 1.44 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'q') + 1.63±0.01μs 2.35±0μs 1.44 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'L') + 1.64±0.02μs 2.36±0.02μs 1.44 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'Q') + 1.64±0.01μs 2.35±0μs 1.43 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'l') + 8.69±0.07μs 12.5±0.03μs 1.43 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'l') + 8.75±0.09μs 12.4±0.09μs 1.42 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'L') + 8.65±0.09μs 12.3±0.1μs 1.42 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'Q') + 8.63±0.02μs 12.2±0.2μs 1.42 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'q') + 1.63±0μs 2.28±0.01μs 1.39 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'l') + 1.63±0μs 2.27±0μs 1.39 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'L') + 1.63±0μs 2.26±0μs 1.39 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'Q') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'l') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'Q') + 1.64±0.01μs 2.27±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'L') + 1.72±0.06μs 2.37±0.01μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'L') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'q') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'q') + 1.74±0.05μs 2.39±0μs 1.37 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'q') + 1.75±0.08μs 2.37±0.01μs 1.36 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'Q') + 1.74±0.03μs 2.35±0.01μs 1.35 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'Q') + 1.75±0.02μs 2.35±0.01μs 1.34 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'L') + 1.75±0.04μs 2.36±0μs 1.34 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'l') + 1.77±0.05μs 2.37±0.01μs 1.34 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'l') + 1.77±0.02μs 2.35±0μs 1.33 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'q') + 1.69±0.01μs 2.20±0.01μs 1.31 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'l') + 1.69±0.02μs 2.20±0.01μs 1.30 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'L') + 1.69±0.02μs 2.21±0.01μs 1.30 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'Q') + 1.70±0.02μs 2.21±0.01μs 1.30 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'q') + 1.70±0.01μs 2.18±0.01μs 1.28 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'l') + 1.69±0μs 2.15±0.01μs 1.27 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'L') + 1.70±0.01μs 2.16±0.01μs 1.27 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'Q') + 1.71±0.01μs 2.17±0.01μs 1.27 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'q') + 886±7ns 1.10±0μs 1.24 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'H') + 895±6ns 1.10±0μs 1.23 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'H') + 897±7ns 1.10±0μs 1.23 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'h') + 4.25±0.02μs 5.03±0.01μs 1.18 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'I') + 1.31±0.02μs 1.54±0μs 1.18 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'I') + 1.31±0.01μs 1.54±0μs 1.17 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'i') + 4.27±0.08μs 4.95±0μs 1.16 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'i') + 996±20ns 1.15±0μs 1.16 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'h') + 1.21±0μs 1.40±0μs 1.15 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'b') + 1.33±0.03μs 1.54±0.01μs 1.15 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'I') + 1.19±0μs 1.37±0μs 1.15 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'B') + 1.34±0.01μs 1.53±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'i') + 1.32±0.02μs 1.51±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'I') + 1.19±0μs 1.36±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'b') + 1.32±0.01μs 1.50±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'i') + 1.36±0.01μs 1.54±0.01μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'h') + 1.20±0μs 1.36±0μs 1.13 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'B') + 1.43±0μs 1.61±0.01μs 1.13 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'H') + 1.43±0μs 1.61±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'H') + 1.38±0μs 1.55±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'h') + 1.34±0.01μs 1.51±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'I') + 1.35±0.02μs 1.51±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'i') + 15.3±0.5μs 17.1±0.03μs 1.11 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'sign'>, 1, 1, 'l') + 15.3±0.4μs 17.1±0.06μs 1.11 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'sign'>, 1, 1, 'q') + 1.05±0μs 1.16±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'i') + 1.41±0.01μs 1.57±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'b') + 1.34±0.01μs 1.49±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'I') + 1.34±0μs 1.48±0.01μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'i') + 1.05±0.01μs 1.16±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'I') + 1.05±0.01μs 1.16±0μs 1.10 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'I') + 1.43±0.02μs 1.58±0.01μs 1.10 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'b') + 15.0±0.3μs 16.6±0.05μs 1.10 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'Q') + 15.1±0.2μs 16.5±0.1μs 1.10 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'absolute'>, 1, 1, 'l') + 15.0±0.3μs 16.5±0.02μs 1.10 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'l') + 1.06±0μs 1.16±0μs 1.10 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'i') + 1.50±0.01μs 1.64±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'B') + 1.51±0.01μs 1.64±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'B') + 1.60±0μs 1.74±0.01μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'L') + 15.1±0.5μs 16.4±0.03μs 1.09 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'q') + 1.34±0.01μs 1.45±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'I') + 1.60±0μs 1.74±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'Q') + 1.60±0μs 1.74±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'q') + 1.61±0μs 1.74±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'l') + 7.23±0.3μs 7.84±0.06μs 1.08 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'sign'>, 1, 1, 'i') + 15.1±0.3μs 16.4±0.05μs 1.08 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'L') + 3.28±0.04μs 3.54±0.01μs 1.08 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'h') + 15.1±0.2μs 16.2±0.02μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'invert'>, 1, 1, 'q') + 1.14±0.01μs 1.23±0.01μs 1.07 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'h') + 1.35±0.01μs 1.44±0.01μs 1.07 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'i') + 15.1±0.1μs 16.2±0.04μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'absolute'>, 1, 1, 'q') + 7.09±0.1μs 7.59±0.1μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'positive'>, 1, 1, 'i') + 2.60±0.03μs 2.78±0.04μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'h') + 3.29±0.07μs 3.50±0.07μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'conjugate'>, 1, 1, 'H') + 1.16±0μs 1.23±0.01μs 1.06 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'H') + 2.57±0.02μs 2.73±0.01μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'H') + 3.29±0.07μs 3.49±0.03μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'absolute'>, 1, 1, 'H') + 1.18±0μs 1.24±0.01μs 1.06 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'H') + 6.94±0.04μs 7.32±0.1μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'conjugate'>, 1, 1, 'I') + 1.16±0.01μs 1.23±0μs 1.05 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'h') + 3.17±0.03μs 3.33±0.06μs 1.05 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'positive'>, 1, 1, 'h') + 1.15±0μs 1.21±0.01μs 1.05 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'h') + 1.15±0.01μs 1.21±0μs 1.05 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'H') - 1.04±0.02μs 992±3ns 0.95 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'bitwise_and'>, 1, 1, 1, 'b') - 1.00±0.01μs 950±1ns 0.95 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'right_shift'>, 1, 1, 1, 'b') - 2.34±0.03μs 2.22±0.01μs 0.95 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'bitwise_xor'>, 1, 1, 1, 'l') - 2.09±0.05μs 1.98±0μs 0.95 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'B') - 7.29±0.1μs 6.90±0.01μs 0.95 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'i') - 2.10±0.06μs 1.98±0μs 0.94 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'b') - 2.34±0.03μs 2.20±0.01μs 0.94 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'right_shift'>, 1, 1, 1, 'l') - 2.24±0.02μs 2.10±0.01μs 0.94 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'subtract'>, 1, 1, 1, 'Q') - 639±2ns 600±0.9ns 0.94 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'multiply'>, 1, 1, 1, 'b') - 640±7ns 596±0.6ns 0.93 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'multiply'>, 1, 1, 1, 'B') - 2.27±0.08μs 2.10±0μs 0.93 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'subtract'>, 1, 1, 1, 'l')
Diffstat (limited to 'numpy/array_api/tests/test_indexing_functions.py')
0 files changed, 0 insertions, 0 deletions