Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: extra simd kernel branches #115

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

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.

2 participants