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: add stack support #297

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

feat: add stack support #297

wants to merge 1 commit into from

Conversation

avik-pal
Copy link
Collaborator

@avik-pal avik-pal commented Nov 20, 2024

needs testing

Copy link
Contributor

Benchmark Results

main dc07f74... main/dc07f74c34bdb0...
comptime/NN/ViT base (optimize = :after_enzyme) 10.7 s 10.6 s 1.01
comptime/NN/ViT base (optimize = :all) 11 s 10.9 s 1.01
comptime/NN/ViT base (optimize = :before_enzyme) 10.8 s 10.4 s 1.04
comptime/NN/ViT base (optimize = :only_enzyme) 11 s 11 s 0.996
comptime/NN/ViT tiny (optimize = :after_enzyme) 8.37 s 8.17 s 1.02
comptime/NN/ViT tiny (optimize = :all) 8.59 s 8.53 s 1.01
comptime/NN/ViT tiny (optimize = :before_enzyme) 8.48 s 8.56 s 0.991
comptime/NN/ViT tiny (optimize = :only_enzyme) 8.64 s 8.59 s 1.01
comptime/NN/vgg11 bn=false (optimize = :after_enzyme) 1.28 ± 0.036 s 1.33 ± 0.025 s 0.966
comptime/NN/vgg11 bn=false (optimize = :all) 1.14 ± 0.019 s 1.43 ± 0.038 s 0.794
comptime/NN/vgg11 bn=false (optimize = :before_enzyme) 1.1 ± 0.04 s 1.28 ± 0.01 s 0.856
comptime/NN/vgg11 bn=false (optimize = :only_enzyme) 1.14 ± 0.03 s 1.13 ± 0.016 s 1.01
comptime/NN/vgg11 bn=true (optimize = :after_enzyme) 2.14 ± 0.0078 s 2.09 ± 0.084 s 1.03
comptime/NN/vgg11 bn=true (optimize = :all) 2.18 ± 0.024 s 2.16 ± 0.025 s 1.01
comptime/NN/vgg11 bn=true (optimize = :before_enzyme) 2.26 ± 0.032 s 2.18 ± 0.085 s 1.04
comptime/NN/vgg11 bn=true (optimize = :only_enzyme) 2.2 ± 0.08 s 2.11 ± 0.049 s 1.04
comptime/NN/vgg13 bn=false (optimize = :after_enzyme) 1.59 ± 0.12 s 1.62 ± 0.087 s 0.981
comptime/NN/vgg13 bn=false (optimize = :all) 1.75 ± 0.09 s 1.77 ± 0.1 s 0.989
comptime/NN/vgg13 bn=false (optimize = :before_enzyme) 1.74 ± 0.029 s 1.63 ± 0.12 s 1.07
comptime/NN/vgg13 bn=false (optimize = :only_enzyme) 1.75 ± 0.046 s 1.59 ± 0.12 s 1.1
comptime/NN/vgg13 bn=true (optimize = :after_enzyme) 2.92 s 2.81 s 1.04
comptime/NN/vgg13 bn=true (optimize = :all) 2.75 s 2.78 s 0.989
comptime/NN/vgg13 bn=true (optimize = :before_enzyme) 2.98 s 2.81 s 1.06
comptime/NN/vgg13 bn=true (optimize = :only_enzyme) 3.1 s 2.88 s 1.08
comptime/NN/vgg16 bn=false (optimize = :after_enzyme) 2.21 ± 0.0031 s 1.93 ± 0.029 s 1.15
comptime/NN/vgg16 bn=false (optimize = :all) 2.11 ± 0.11 s 2.25 ± 0.011 s 0.938
comptime/NN/vgg16 bn=false (optimize = :before_enzyme) 2.13 ± 0.0098 s 1.91 ± 0.015 s 1.12
comptime/NN/vgg16 bn=false (optimize = :only_enzyme) 2.27 ± 0.0086 s 2.21 ± 0.051 s 1.03
comptime/NN/vgg16 bn=true (optimize = :after_enzyme) 3.59 s 3.39 s 1.06
comptime/NN/vgg16 bn=true (optimize = :all) 3.54 s 3.39 s 1.04
comptime/NN/vgg16 bn=true (optimize = :before_enzyme) 3.57 s 3.44 s 1.04
comptime/NN/vgg16 bn=true (optimize = :only_enzyme) 3.44 s 3.44 s 1
comptime/NN/vgg19 bn=false (optimize = :after_enzyme) 2.31 ± 0.0073 s 2.07 ± 0.017 s 1.12
comptime/NN/vgg19 bn=false (optimize = :all) 2.5 s 2.58 s 0.971
comptime/NN/vgg19 bn=false (optimize = :before_enzyme) 2.58 s 2.25 ± 0.037 s 1.15
comptime/NN/vgg19 bn=false (optimize = :only_enzyme) 2.54 s 2.05 ± 0.016 s 1.24
comptime/NN/vgg19 bn=true (optimize = :after_enzyme) 4.09 s 3.94 s 1.04
comptime/NN/vgg19 bn=true (optimize = :all) 4.31 s 3.96 s 1.09
comptime/NN/vgg19 bn=true (optimize = :before_enzyme) 4.55 s 4.15 s 1.1
comptime/NN/vgg19 bn=true (optimize = :only_enzyme) 4.19 s 4.16 s 1.01
comptime/basics/2D sum (optimize = :after_enzyme) 30.9 ± 2.4 ms 0.0326 ± 0.0028 s 0.948
comptime/basics/2D sum (optimize = :all) 0.0349 ± 0.0029 s 0.0371 ± 0.0024 s 0.94
comptime/basics/2D sum (optimize = :before_enzyme) 0.0341 ± 0.0028 s 0.0334 ± 0.002 s 1.02
comptime/basics/2D sum (optimize = :only_enzyme) 27.8 ± 2 ms 29.5 ± 2.4 ms 0.943
comptime/basics/cos.(x) (optimize = :after_enzyme) 0.0393 ± 0.0021 s 0.0395 ± 0.0021 s 0.997
comptime/basics/cos.(x) (optimize = :all) 0.0378 ± 0.0017 s 0.0402 ± 0.002 s 0.939
comptime/basics/cos.(x) (optimize = :before_enzyme) 0.0376 ± 0.002 s 0.0395 ± 0.002 s 0.951
comptime/basics/cos.(x) (optimize = :only_enzyme) 0.0362 ± 0.0017 s 0.0367 ± 0.0019 s 0.987
comptime/basics/∇cos (optimize = :all) 0.061 ± 0.0037 s 0.0653 ± 0.0048 s 0.934
runtime/NN/ViT base (optimize = :after_enzyme) 6.44 s 6.65 s 0.968
runtime/NN/ViT base (optimize = :all) 6.62 s 6.58 s 1.01
runtime/NN/ViT base (optimize = :before_enzyme) 6.6 s 6.49 s 1.02
runtime/NN/ViT base (optimize = :only_enzyme) 7.85 s 7.94 s 0.989
runtime/NN/ViT tiny (optimize = :after_enzyme) 1.77 s 1.73 s 1.02
runtime/NN/ViT tiny (optimize = :all) 1.76 s 1.77 s 0.99
runtime/NN/ViT tiny (optimize = :before_enzyme) 1.81 s 1.78 s 1.02
runtime/NN/ViT tiny (optimize = :only_enzyme) 2.9 s 2.98 s 0.974
runtime/NN/vgg11 bn=false (optimize = :after_enzyme) 2.14 s 2.2 s 0.975
runtime/NN/vgg11 bn=false (optimize = :all) 2.16 s 2.2 s 0.985
runtime/NN/vgg11 bn=false (optimize = :before_enzyme) 2.16 s 2.15 s 1
runtime/NN/vgg11 bn=false (optimize = :only_enzyme) 2.02 s 1.94 s 1.04
runtime/NN/vgg11 bn=true (optimize = :after_enzyme) 2.31 s 2.29 s 1.01
runtime/NN/vgg11 bn=true (optimize = :all) 2.31 s 2.32 s 0.995
runtime/NN/vgg11 bn=true (optimize = :before_enzyme) 2.38 s 2.27 s 1.05
runtime/NN/vgg11 bn=true (optimize = :only_enzyme) 2.4 s 2.39 s 1
runtime/NN/vgg13 bn=false (optimize = :after_enzyme) 3.11 s 3.09 s 1.01
runtime/NN/vgg13 bn=false (optimize = :all) 2.77 s 2.94 s 0.941
runtime/NN/vgg13 bn=false (optimize = :before_enzyme) 3.06 s 3.05 s 1
runtime/NN/vgg13 bn=false (optimize = :only_enzyme) 2.9 s 2.84 s 1.02
runtime/NN/vgg13 bn=true (optimize = :after_enzyme) 3.19 s 3.26 s 0.979
runtime/NN/vgg13 bn=true (optimize = :all) 3.24 s 3.28 s 0.99
runtime/NN/vgg13 bn=true (optimize = :before_enzyme) 3.37 s 3.27 s 1.03
runtime/NN/vgg13 bn=true (optimize = :only_enzyme) 3.47 s 3.4 s 1.02
runtime/NN/vgg16 bn=false (optimize = :after_enzyme) 3.83 s 3.77 s 1.02
runtime/NN/vgg16 bn=false (optimize = :all) 3.68 s 3.61 s 1.02
runtime/NN/vgg16 bn=false (optimize = :before_enzyme) 3.88 s 3.78 s 1.03
runtime/NN/vgg16 bn=false (optimize = :only_enzyme) 3.61 s 3.6 s 1
runtime/NN/vgg16 bn=true (optimize = :after_enzyme) 4.28 s 4.15 s 1.03
runtime/NN/vgg16 bn=true (optimize = :all) 4.19 s 4.15 s 1.01
runtime/NN/vgg16 bn=true (optimize = :before_enzyme) 4.23 s 4.2 s 1.01
runtime/NN/vgg16 bn=true (optimize = :only_enzyme) 4.48 s 4.58 s 0.978
runtime/NN/vgg19 bn=false (optimize = :after_enzyme) 4.7 s 4.58 s 1.03
runtime/NN/vgg19 bn=false (optimize = :all) 4.56 s 4.57 s 0.999
runtime/NN/vgg19 bn=false (optimize = :before_enzyme) 4.6 s 4.59 s 1
runtime/NN/vgg19 bn=false (optimize = :only_enzyme) 4.54 s 4.47 s 1.02
runtime/NN/vgg19 bn=true (optimize = :after_enzyme) 5.11 s 5.2 s 0.981
runtime/NN/vgg19 bn=true (optimize = :all) 5.15 s 5.13 s 1
runtime/NN/vgg19 bn=true (optimize = :before_enzyme) 5.09 s 4.98 s 1.02
runtime/NN/vgg19 bn=true (optimize = :only_enzyme) 5.65 s 5.7 s 0.992
time_to_load 2.14 ± 0.06 s 2.27 ± 0.064 s 0.944

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

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.

1 participant