Skip to content

feat: extra simd kernel branches #115

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

MilesCranmer
Copy link
Member

This creates SIMD kernels for op(op2(x, y), z) and op(x, op2(y, z)) for the cases where x, y, and z are all leaf nodes.

Copy link
Contributor

Benchmark Results

master 6df75c0... master/6df75c02d0efe1...
eval/ComplexF32/evaluation 7.24 ± 0.54 ms 7.32 ± 0.47 ms 0.99
eval/ComplexF64/evaluation 10.7 ± 0.8 ms 10.7 ± 0.81 ms 0.997
eval/Float32/derivative 11.7 ± 1 ms 11.7 ± 0.9 ms 1
eval/Float32/derivative_turbo 11.7 ± 1.1 ms 11.7 ± 0.97 ms 1
eval/Float32/evaluation 2.7 ± 0.24 ms 2.74 ± 0.26 ms 0.988
eval/Float32/evaluation_bumper 0.613 ± 0.018 ms 0.607 ± 0.016 ms 1.01
eval/Float32/evaluation_turbo 0.544 ± 0.037 ms 0.553 ± 0.037 ms 0.984
eval/Float32/evaluation_turbo_bumper 0.615 ± 0.019 ms 0.608 ± 0.018 ms 1.01
eval/Float64/derivative 15.4 ± 0.75 ms 14.9 ± 0.66 ms 1.03
eval/Float64/derivative_turbo 15.8 ± 0.88 ms 14.9 ± 0.58 ms 1.06
eval/Float64/evaluation 3.23 ± 0.31 ms 3.17 ± 0.29 ms 1.02
eval/Float64/evaluation_bumper 1.27 ± 0.046 ms 1.26 ± 0.042 ms 1.01
eval/Float64/evaluation_turbo 1.05 ± 0.077 ms 1.03 ± 0.069 ms 1.02
eval/Float64/evaluation_turbo_bumper 1.27 ± 0.049 ms 1.26 ± 0.046 ms 1.01
utils/combine_operators/break_sharing 0.0384 ± 0.00063 ms 0.0389 ± 0.00091 ms 0.988
utils/convert/break_sharing 27.4 ± 3.2 μs 27.5 ± 2.7 μs 0.997
utils/convert/preserve_sharing 0.0972 ± 0.0047 ms 0.0989 ± 0.0051 ms 0.982
utils/copy/break_sharing 27.5 ± 3 μs 27.7 ± 2.6 μs 0.995
utils/copy/preserve_sharing 0.0977 ± 0.0046 ms 0.099 ± 0.0048 ms 0.987
utils/count_constant_nodes/break_sharing 8.8 ± 0.28 μs 8.7 ± 0.31 μs 1.01
utils/count_constant_nodes/preserve_sharing 0.0851 ± 0.0039 ms 0.0854 ± 0.0044 ms 0.997
utils/count_depth/break_sharing 9.96 ± 0.56 μs 9.1 ± 0.26 μs 1.09
utils/count_nodes/break_sharing 8.44 ± 0.24 μs 8.77 ± 0.21 μs 0.962
utils/count_nodes/preserve_sharing 0.0842 ± 0.0037 ms 0.0859 ± 0.0045 ms 0.981
utils/get_set_constants!/break_sharing 0.0336 ± 0.0027 ms 0.0335 ± 0.0029 ms 1
utils/get_set_constants!/preserve_sharing 0.175 ± 0.006 ms 0.177 ± 0.0064 ms 0.987
utils/get_set_constants_parametric 0.0443 ± 0.0026 ms 0.045 ± 0.0028 ms 0.984
utils/has_constants/break_sharing 4.08 ± 0.18 μs 3.89 ± 0.13 μs 1.05
utils/has_operators/break_sharing 2.02 ± 0.076 μs 1.86 ± 0.052 μs 1.09
utils/hash/break_sharing 22.6 ± 0.67 μs 23.1 ± 0.62 μs 0.977
utils/hash/preserve_sharing 0.0967 ± 0.0038 ms 0.0981 ± 0.0046 ms 0.985
utils/index_constant_nodes/break_sharing 24.9 ± 1.1 μs 24.7 ± 1.3 μs 1.01
utils/index_constant_nodes/preserve_sharing 0.0971 ± 0.0043 ms 0.101 ± 0.0055 ms 0.958
utils/is_constant/break_sharing 4.35 ± 0.16 μs 4.13 ± 0.11 μs 1.05
utils/simplify_tree/break_sharing 0.17 ± 0.0044 ms 0.17 ± 0.0058 ms 0.997
utils/simplify_tree/preserve_sharing 0.225 ± 0.007 ms 0.222 ± 0.008 ms 1.01
utils/string_tree/break_sharing 0.467 ± 0.025 ms 0.464 ± 0.018 ms 1.01
utils/string_tree/preserve_sharing 0.583 ± 0.028 ms 0.57 ± 0.025 ms 1.02
time_to_load 0.241 ± 0.008 s 0.231 ± 0.0027 s 1.05

@coveralls
Copy link

Pull Request Test Coverage Report for Build 12407763507

Details

  • 395 of 409 (96.58%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.1%) to 95.671%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/Evaluate.jl 198 212 93.4%
Totals Coverage Status
Change from base Build 12322890369: 0.1%
Covered Lines: 2939
Relevant Lines: 3072

💛 - Coveralls

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants