-
Notifications
You must be signed in to change notification settings - Fork 63
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
Training ConvMixer on CIFAR10 in 10mins #700
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark Results
Benchmark suite | Current: 5d37fd2 | Previous: 4546dff | Ratio |
---|---|---|---|
Dense(2 => 2)/cpu/reverse/ReverseDiff (compiled)/(2, 128) |
3670.625 ns |
3694.4375 ns |
0.99 |
Dense(2 => 2)/cpu/reverse/Zygote/(2, 128) |
7246 ns |
7302 ns |
0.99 |
Dense(2 => 2)/cpu/reverse/Tracker/(2, 128) |
20939 ns |
20969 ns |
1.00 |
Dense(2 => 2)/cpu/reverse/ReverseDiff/(2, 128) |
9908.6 ns |
9762.4 ns |
1.01 |
Dense(2 => 2)/cpu/reverse/Flux/(2, 128) |
9147.2 ns |
8938.5 ns |
1.02 |
Dense(2 => 2)/cpu/reverse/SimpleChains/(2, 128) |
4499.75 ns |
4477.125 ns |
1.01 |
Dense(2 => 2)/cpu/reverse/Enzyme/(2, 128) |
1164.531914893617 ns |
1163.123188405797 ns |
1.00 |
Dense(2 => 2)/cpu/forward/NamedTuple/(2, 128) |
1178.136 ns |
1169.9626865671642 ns |
1.01 |
Dense(2 => 2)/cpu/forward/ComponentArray/(2, 128) |
1194.203125 ns |
1186.2105263157894 ns |
1.01 |
Dense(2 => 2)/cpu/forward/Flux/(2, 128) |
1832.081081081081 ns |
1780.4745762711864 ns |
1.03 |
Dense(2 => 2)/cpu/forward/SimpleChains/(2, 128) |
180.296918767507 ns |
180.46544428772918 ns |
1.00 |
Dense(20 => 20)/cpu/reverse/ReverseDiff (compiled)/(20, 128) |
17302 ns |
17383 ns |
1.00 |
Dense(20 => 20)/cpu/reverse/Zygote/(20, 128) |
16886.5 ns |
16871 ns |
1.00 |
Dense(20 => 20)/cpu/reverse/Tracker/(20, 128) |
39234 ns |
38512.5 ns |
1.02 |
Dense(20 => 20)/cpu/reverse/ReverseDiff/(20, 128) |
29545 ns |
29065 ns |
1.02 |
Dense(20 => 20)/cpu/reverse/Flux/(20, 128) |
20188 ns |
19957 ns |
1.01 |
Dense(20 => 20)/cpu/reverse/SimpleChains/(20, 128) |
17293 ns |
17172 ns |
1.01 |
Dense(20 => 20)/cpu/reverse/Enzyme/(20, 128) |
4336.714285714285 ns |
4299.571428571428 ns |
1.01 |
Dense(20 => 20)/cpu/forward/NamedTuple/(20, 128) |
3888.625 ns |
3832.25 ns |
1.01 |
Dense(20 => 20)/cpu/forward/ComponentArray/(20, 128) |
3972.5 ns |
3942.4375 ns |
1.01 |
Dense(20 => 20)/cpu/forward/Flux/(20, 128) |
4953.571428571428 ns |
4890.571428571428 ns |
1.01 |
Dense(20 => 20)/cpu/forward/SimpleChains/(20, 128) |
1662.1 ns |
1658.1 ns |
1.00 |
Conv((3, 3), 3 => 3)/cpu/reverse/ReverseDiff (compiled)/(64, 64, 3, 128) |
47110417 ns |
37871298 ns |
1.24 |
Conv((3, 3), 3 => 3)/cpu/reverse/Zygote/(64, 64, 3, 128) |
57561360 ns |
57993797.5 ns |
0.99 |
Conv((3, 3), 3 => 3)/cpu/reverse/Tracker/(64, 64, 3, 128) |
104652919 ns |
75696479 ns |
1.38 |
Conv((3, 3), 3 => 3)/cpu/reverse/ReverseDiff/(64, 64, 3, 128) |
102055773 ns |
88439559 ns |
1.15 |
Conv((3, 3), 3 => 3)/cpu/reverse/Flux/(64, 64, 3, 128) |
78339240 ns |
72504315 ns |
1.08 |
Conv((3, 3), 3 => 3)/cpu/reverse/SimpleChains/(64, 64, 3, 128) |
11670389.5 ns |
11659862 ns |
1.00 |
Conv((3, 3), 3 => 3)/cpu/reverse/Enzyme/(64, 64, 3, 128) |
17875918 ns |
17791306.5 ns |
1.00 |
Conv((3, 3), 3 => 3)/cpu/forward/NamedTuple/(64, 64, 3, 128) |
7009895 ns |
7012551.5 ns |
1.00 |
Conv((3, 3), 3 => 3)/cpu/forward/ComponentArray/(64, 64, 3, 128) |
6963204.5 ns |
6978402 ns |
1.00 |
Conv((3, 3), 3 => 3)/cpu/forward/Flux/(64, 64, 3, 128) |
12054137 ns |
9884066 ns |
1.22 |
Conv((3, 3), 3 => 3)/cpu/forward/SimpleChains/(64, 64, 3, 128) |
6395311 ns |
6420084 ns |
1.00 |
vgg16/cpu/reverse/Zygote/(32, 32, 3, 16) |
741105630 ns |
720580510 ns |
1.03 |
vgg16/cpu/reverse/Zygote/(32, 32, 3, 64) |
2554531149 ns |
2544518699 ns |
1.00 |
vgg16/cpu/reverse/Zygote/(32, 32, 3, 2) |
132765027 ns |
131471680.5 ns |
1.01 |
vgg16/cpu/reverse/Tracker/(32, 32, 3, 16) |
983153578 ns |
827504177.5 ns |
1.19 |
vgg16/cpu/reverse/Tracker/(32, 32, 3, 64) |
3661447212 ns |
2877856462 ns |
1.27 |
vgg16/cpu/reverse/Tracker/(32, 32, 3, 2) |
234165683.5 ns |
208920985 ns |
1.12 |
vgg16/cpu/reverse/Flux/(32, 32, 3, 16) |
691264666 ns |
666912899 ns |
1.04 |
vgg16/cpu/reverse/Flux/(32, 32, 3, 64) |
2854144903 ns |
2604108753 ns |
1.10 |
vgg16/cpu/reverse/Flux/(32, 32, 3, 2) |
140344627 ns |
125539572 ns |
1.12 |
vgg16/cpu/forward/NamedTuple/(32, 32, 3, 16) |
172210841.5 ns |
173253795.5 ns |
0.99 |
vgg16/cpu/forward/NamedTuple/(32, 32, 3, 64) |
644386605.5 ns |
644090212 ns |
1.00 |
vgg16/cpu/forward/NamedTuple/(32, 32, 3, 2) |
34379724.5 ns |
34417633.5 ns |
1.00 |
vgg16/cpu/forward/ComponentArray/(32, 32, 3, 16) |
164162392.5 ns |
164488742 ns |
1.00 |
vgg16/cpu/forward/ComponentArray/(32, 32, 3, 64) |
638627730 ns |
636830354.5 ns |
1.00 |
vgg16/cpu/forward/ComponentArray/(32, 32, 3, 2) |
39279470 ns |
30021599.5 ns |
1.31 |
vgg16/cpu/forward/Flux/(32, 32, 3, 16) |
227950872 ns |
185182748.5 ns |
1.23 |
vgg16/cpu/forward/Flux/(32, 32, 3, 64) |
827029874 ns |
707737108 ns |
1.17 |
vgg16/cpu/forward/Flux/(32, 32, 3, 2) |
40113931 ns |
35345087 ns |
1.13 |
Conv((3, 3), 64 => 64)/cpu/reverse/ReverseDiff (compiled)/(64, 64, 64, 128) |
1216828028.5 ns |
1235268341.5 ns |
0.99 |
Conv((3, 3), 64 => 64)/cpu/reverse/Zygote/(64, 64, 64, 128) |
1854357962.5 ns |
1869523217 ns |
0.99 |
Conv((3, 3), 64 => 64)/cpu/reverse/Tracker/(64, 64, 64, 128) |
2407799632 ns |
2369346229 ns |
1.02 |
Conv((3, 3), 64 => 64)/cpu/reverse/ReverseDiff/(64, 64, 64, 128) |
2516120303 ns |
2415735363 ns |
1.04 |
Conv((3, 3), 64 => 64)/cpu/reverse/Flux/(64, 64, 64, 128) |
1931256026.5 ns |
1900669767.5 ns |
1.02 |
Conv((3, 3), 64 => 64)/cpu/reverse/Enzyme/(64, 64, 64, 128) |
563267837 ns |
556681689 ns |
1.01 |
Conv((3, 3), 64 => 64)/cpu/forward/NamedTuple/(64, 64, 64, 128) |
316509077 ns |
322985590 ns |
0.98 |
Conv((3, 3), 64 => 64)/cpu/forward/ComponentArray/(64, 64, 64, 128) |
316268046 ns |
321921384 ns |
0.98 |
Conv((3, 3), 64 => 64)/cpu/forward/Flux/(64, 64, 64, 128) |
363102445.5 ns |
455578108.5 ns |
0.80 |
Conv((3, 3), 1 => 1)/cpu/reverse/ReverseDiff (compiled)/(64, 64, 1, 128) |
11987287 ns |
11713373 ns |
1.02 |
Conv((3, 3), 1 => 1)/cpu/reverse/Zygote/(64, 64, 1, 128) |
17733192 ns |
17999835.5 ns |
0.99 |
Conv((3, 3), 1 => 1)/cpu/reverse/Tracker/(64, 64, 1, 128) |
19029113 ns |
19238194.5 ns |
0.99 |
Conv((3, 3), 1 => 1)/cpu/reverse/ReverseDiff/(64, 64, 1, 128) |
23810535 ns |
23824428 ns |
1.00 |
Conv((3, 3), 1 => 1)/cpu/reverse/Flux/(64, 64, 1, 128) |
17827668 ns |
18044598.5 ns |
0.99 |
Conv((3, 3), 1 => 1)/cpu/reverse/SimpleChains/(64, 64, 1, 128) |
1164075 ns |
1160586 ns |
1.00 |
Conv((3, 3), 1 => 1)/cpu/reverse/Enzyme/(64, 64, 1, 128) |
5843548 ns |
5781426 ns |
1.01 |
Conv((3, 3), 1 => 1)/cpu/forward/NamedTuple/(64, 64, 1, 128) |
2046947.5 ns |
2043370.5 ns |
1.00 |
Conv((3, 3), 1 => 1)/cpu/forward/ComponentArray/(64, 64, 1, 128) |
2028943 ns |
2035502 ns |
1.00 |
Conv((3, 3), 1 => 1)/cpu/forward/Flux/(64, 64, 1, 128) |
2066608.5 ns |
2062472 ns |
1.00 |
Conv((3, 3), 1 => 1)/cpu/forward/SimpleChains/(64, 64, 1, 128) |
202780 ns |
200231 ns |
1.01 |
Dense(200 => 200)/cpu/reverse/ReverseDiff (compiled)/(200, 128) |
293781 ns |
290792 ns |
1.01 |
Dense(200 => 200)/cpu/reverse/Zygote/(200, 128) |
267614 ns |
264871 ns |
1.01 |
Dense(200 => 200)/cpu/reverse/Tracker/(200, 128) |
370935 ns |
364032.5 ns |
1.02 |
Dense(200 => 200)/cpu/reverse/ReverseDiff/(200, 128) |
411732.5 ns |
405856 ns |
1.01 |
Dense(200 => 200)/cpu/reverse/Flux/(200, 128) |
276188.5 ns |
272737 ns |
1.01 |
Dense(200 => 200)/cpu/reverse/SimpleChains/(200, 128) |
409378 ns |
408464 ns |
1.00 |
Dense(200 => 200)/cpu/reverse/Enzyme/(200, 128) |
83487 ns |
82917 ns |
1.01 |
Dense(200 => 200)/cpu/forward/NamedTuple/(200, 128) |
81422 ns |
81223 ns |
1.00 |
Dense(200 => 200)/cpu/forward/ComponentArray/(200, 128) |
81753 ns |
81384 ns |
1.00 |
Dense(200 => 200)/cpu/forward/Flux/(200, 128) |
87263.5 ns |
86564 ns |
1.01 |
Dense(200 => 200)/cpu/forward/SimpleChains/(200, 128) |
104556 ns |
104377 ns |
1.00 |
Conv((3, 3), 16 => 16)/cpu/reverse/ReverseDiff (compiled)/(64, 64, 16, 128) |
211922956 ns |
191176516.5 ns |
1.11 |
Conv((3, 3), 16 => 16)/cpu/reverse/Zygote/(64, 64, 16, 128) |
325525847 ns |
326190816.5 ns |
1.00 |
Conv((3, 3), 16 => 16)/cpu/reverse/Tracker/(64, 64, 16, 128) |
440932006 ns |
391559049 ns |
1.13 |
Conv((3, 3), 16 => 16)/cpu/reverse/ReverseDiff/(64, 64, 16, 128) |
477427133 ns |
456654048 ns |
1.05 |
Conv((3, 3), 16 => 16)/cpu/reverse/Flux/(64, 64, 16, 128) |
418808602.5 ns |
385369615 ns |
1.09 |
Conv((3, 3), 16 => 16)/cpu/reverse/SimpleChains/(64, 64, 16, 128) |
321991996 ns |
325114206 ns |
0.99 |
Conv((3, 3), 16 => 16)/cpu/reverse/Enzyme/(64, 64, 16, 128) |
104296614 ns |
100369743.5 ns |
1.04 |
Conv((3, 3), 16 => 16)/cpu/forward/NamedTuple/(64, 64, 16, 128) |
43942389.5 ns |
43645102.5 ns |
1.01 |
Conv((3, 3), 16 => 16)/cpu/forward/ComponentArray/(64, 64, 16, 128) |
43669170 ns |
43657050 ns |
1.00 |
Conv((3, 3), 16 => 16)/cpu/forward/Flux/(64, 64, 16, 128) |
65190820 ns |
49432500 ns |
1.32 |
Conv((3, 3), 16 => 16)/cpu/forward/SimpleChains/(64, 64, 16, 128) |
27954606 ns |
28029664 ns |
1.00 |
Dense(2000 => 2000)/cpu/reverse/ReverseDiff (compiled)/(2000, 128) |
18908362 ns |
18792871 ns |
1.01 |
Dense(2000 => 2000)/cpu/reverse/Zygote/(2000, 128) |
19563492.5 ns |
19477495 ns |
1.00 |
Dense(2000 => 2000)/cpu/reverse/Tracker/(2000, 128) |
23499781.5 ns |
23235674 ns |
1.01 |
Dense(2000 => 2000)/cpu/reverse/ReverseDiff/(2000, 128) |
24208886 ns |
23963657 ns |
1.01 |
Dense(2000 => 2000)/cpu/reverse/Flux/(2000, 128) |
19654422 ns |
19696924 ns |
1.00 |
Dense(2000 => 2000)/cpu/reverse/Enzyme/(2000, 128) |
6527087.5 ns |
6504561.5 ns |
1.00 |
Dense(2000 => 2000)/cpu/forward/NamedTuple/(2000, 128) |
6552123 ns |
6491788 ns |
1.01 |
Dense(2000 => 2000)/cpu/forward/ComponentArray/(2000, 128) |
6496150 ns |
6476898 ns |
1.00 |
Dense(2000 => 2000)/cpu/forward/Flux/(2000, 128) |
6501319 ns |
6600817 ns |
0.98 |
This comment was automatically generated by workflow using github-action-benchmark.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.