-
Notifications
You must be signed in to change notification settings - Fork 12
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
Build libraries for individual and all security levels #524
Conversation
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.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
29184 cycles |
29184 cycles |
1 |
ML-KEM-512 encaps |
35554 cycles |
35554 cycles |
1 |
ML-KEM-512 decaps |
46123 cycles |
46096 cycles |
1.00 |
ML-KEM-768 keypair |
49237 cycles |
49232 cycles |
1.00 |
ML-KEM-768 encaps |
55405 cycles |
55387 cycles |
1.00 |
ML-KEM-768 decaps |
70214 cycles |
70238 cycles |
1.00 |
ML-KEM-1024 keypair |
72176 cycles |
72217 cycles |
1.00 |
ML-KEM-1024 encaps |
81051 cycles |
81134 cycles |
1.00 |
ML-KEM-1024 decaps |
100874 cycles |
100872 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Intel Xeon 4th gen (c7i)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
13526 cycles |
13511 cycles |
1.00 |
ML-KEM-512 encaps |
17260 cycles |
17254 cycles |
1.00 |
ML-KEM-512 decaps |
22740 cycles |
22752 cycles |
1.00 |
ML-KEM-768 keypair |
22518 cycles |
22492 cycles |
1.00 |
ML-KEM-768 encaps |
24507 cycles |
24454 cycles |
1.00 |
ML-KEM-768 decaps |
32519 cycles |
32432 cycles |
1.00 |
ML-KEM-1024 keypair |
31465 cycles |
31390 cycles |
1.00 |
ML-KEM-1024 encaps |
34999 cycles |
34968 cycles |
1.00 |
ML-KEM-1024 decaps |
45916 cycles |
45865 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Intel Xeon 3rd gen (c6i)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
20344 cycles |
20333 cycles |
1.00 |
ML-KEM-512 encaps |
27008 cycles |
27300 cycles |
0.99 |
ML-KEM-512 decaps |
35812 cycles |
35807 cycles |
1.00 |
ML-KEM-768 keypair |
34906 cycles |
34880 cycles |
1.00 |
ML-KEM-768 encaps |
38243 cycles |
38168 cycles |
1.00 |
ML-KEM-768 decaps |
50937 cycles |
50887 cycles |
1.00 |
ML-KEM-1024 keypair |
47957 cycles |
48000 cycles |
1.00 |
ML-KEM-1024 encaps |
54140 cycles |
54192 cycles |
1.00 |
ML-KEM-1024 decaps |
71546 cycles |
71702 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
AMD EPYC 3rd gen (c6a)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
18127 cycles |
18134 cycles |
1.00 |
ML-KEM-512 encaps |
23189 cycles |
23194 cycles |
1.00 |
ML-KEM-512 decaps |
30493 cycles |
30514 cycles |
1.00 |
ML-KEM-768 keypair |
31062 cycles |
31094 cycles |
1.00 |
ML-KEM-768 encaps |
34185 cycles |
34184 cycles |
1.00 |
ML-KEM-768 decaps |
44748 cycles |
44761 cycles |
1.00 |
ML-KEM-1024 keypair |
44589 cycles |
44796 cycles |
1.00 |
ML-KEM-1024 encaps |
49932 cycles |
50098 cycles |
1.00 |
ML-KEM-1024 decaps |
64348 cycles |
64335 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Intel Xeon 4th gen (c7i) (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
34861 cycles |
34868 cycles |
1.00 |
ML-KEM-512 encaps |
45074 cycles |
45024 cycles |
1.00 |
ML-KEM-512 decaps |
58997 cycles |
58932 cycles |
1.00 |
ML-KEM-768 keypair |
59098 cycles |
59125 cycles |
1.00 |
ML-KEM-768 encaps |
71767 cycles |
71350 cycles |
1.01 |
ML-KEM-768 decaps |
89198 cycles |
88994 cycles |
1.00 |
ML-KEM-1024 keypair |
87389 cycles |
87405 cycles |
1.00 |
ML-KEM-1024 encaps |
104574 cycles |
104569 cycles |
1.00 |
ML-KEM-1024 decaps |
127547 cycles |
127540 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Graviton4
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
18190 cycles |
18201 cycles |
1.00 |
ML-KEM-512 encaps |
22244 cycles |
22233 cycles |
1.00 |
ML-KEM-512 decaps |
28972 cycles |
28995 cycles |
1.00 |
ML-KEM-768 keypair |
30669 cycles |
30677 cycles |
1.00 |
ML-KEM-768 encaps |
33729 cycles |
33738 cycles |
1.00 |
ML-KEM-768 decaps |
43297 cycles |
43315 cycles |
1.00 |
ML-KEM-1024 keypair |
44373 cycles |
44370 cycles |
1.00 |
ML-KEM-1024 encaps |
49782 cycles |
49789 cycles |
1.00 |
ML-KEM-1024 decaps |
62850 cycles |
62850 cycles |
1 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
AMD EPYC 4th gen (c7a)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
15074 cycles |
15084 cycles |
1.00 |
ML-KEM-512 encaps |
19679 cycles |
19666 cycles |
1.00 |
ML-KEM-512 decaps |
26549 cycles |
26330 cycles |
1.01 |
ML-KEM-768 keypair |
25765 cycles |
25626 cycles |
1.01 |
ML-KEM-768 encaps |
28186 cycles |
28271 cycles |
1.00 |
ML-KEM-768 decaps |
37863 cycles |
37873 cycles |
1.00 |
ML-KEM-1024 keypair |
35578 cycles |
35570 cycles |
1.00 |
ML-KEM-1024 encaps |
40977 cycles |
40986 cycles |
1.00 |
ML-KEM-1024 decaps |
54514 cycles |
54592 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Graviton3
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
18996 cycles |
18992 cycles |
1.00 |
ML-KEM-512 encaps |
23581 cycles |
23576 cycles |
1.00 |
ML-KEM-512 decaps |
30765 cycles |
30756 cycles |
1.00 |
ML-KEM-768 keypair |
32256 cycles |
32245 cycles |
1.00 |
ML-KEM-768 encaps |
35706 cycles |
35711 cycles |
1.00 |
ML-KEM-768 decaps |
45872 cycles |
45884 cycles |
1.00 |
ML-KEM-1024 keypair |
46853 cycles |
46850 cycles |
1.00 |
ML-KEM-1024 encaps |
52635 cycles |
52632 cycles |
1.00 |
ML-KEM-1024 decaps |
66473 cycles |
66485 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Graviton2
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
29203 cycles |
29352 cycles |
0.99 |
ML-KEM-512 encaps |
35577 cycles |
35772 cycles |
0.99 |
ML-KEM-512 decaps |
46141 cycles |
46393 cycles |
0.99 |
ML-KEM-768 keypair |
49238 cycles |
49233 cycles |
1.00 |
ML-KEM-768 encaps |
55413 cycles |
55402 cycles |
1.00 |
ML-KEM-768 decaps |
70229 cycles |
70216 cycles |
1.00 |
ML-KEM-1024 keypair |
72250 cycles |
72350 cycles |
1.00 |
ML-KEM-1024 encaps |
81122 cycles |
81160 cycles |
1.00 |
ML-KEM-1024 decaps |
101022 cycles |
100832 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Intel Xeon 3rd gen (c6i) (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
56616 cycles |
56586 cycles |
1.00 |
ML-KEM-512 encaps |
69468 cycles |
69440 cycles |
1.00 |
ML-KEM-512 decaps |
91345 cycles |
91359 cycles |
1.00 |
ML-KEM-768 keypair |
91940 cycles |
91866 cycles |
1.00 |
ML-KEM-768 encaps |
108111 cycles |
107989 cycles |
1.00 |
ML-KEM-768 decaps |
136575 cycles |
136669 cycles |
1.00 |
ML-KEM-1024 keypair |
134840 cycles |
134725 cycles |
1.00 |
ML-KEM-1024 encaps |
155432 cycles |
155157 cycles |
1.00 |
ML-KEM-1024 decaps |
191852 cycles |
191471 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
AMD EPYC 3rd gen (c6a) (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
52408 cycles |
52176 cycles |
1.00 |
ML-KEM-512 encaps |
65401 cycles |
65786 cycles |
0.99 |
ML-KEM-512 decaps |
88488 cycles |
88405 cycles |
1.00 |
ML-KEM-768 keypair |
84259 cycles |
84765 cycles |
0.99 |
ML-KEM-768 encaps |
102008 cycles |
101493 cycles |
1.01 |
ML-KEM-768 decaps |
131226 cycles |
132083 cycles |
0.99 |
ML-KEM-1024 keypair |
124564 cycles |
124036 cycles |
1.00 |
ML-KEM-1024 encaps |
145250 cycles |
145752 cycles |
1.00 |
ML-KEM-1024 decaps |
182514 cycles |
183688 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Graviton4 (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
41979 cycles |
41988 cycles |
1.00 |
ML-KEM-512 encaps |
50113 cycles |
50166 cycles |
1.00 |
ML-KEM-512 decaps |
66026 cycles |
66055 cycles |
1.00 |
ML-KEM-768 keypair |
69067 cycles |
69059 cycles |
1.00 |
ML-KEM-768 encaps |
79766 cycles |
79763 cycles |
1.00 |
ML-KEM-768 decaps |
101025 cycles |
101021 cycles |
1.00 |
ML-KEM-1024 keypair |
102209 cycles |
102455 cycles |
1.00 |
ML-KEM-1024 encaps |
117199 cycles |
117442 cycles |
1.00 |
ML-KEM-1024 decaps |
143461 cycles |
143405 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
AMD EPYC 4th gen (c7a) (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
45982 cycles |
45752 cycles |
1.01 |
ML-KEM-512 encaps |
56889 cycles |
56882 cycles |
1.00 |
ML-KEM-512 decaps |
76217 cycles |
76277 cycles |
1.00 |
ML-KEM-768 keypair |
74494 cycles |
74571 cycles |
1.00 |
ML-KEM-768 encaps |
88530 cycles |
88687 cycles |
1.00 |
ML-KEM-768 decaps |
114394 cycles |
114485 cycles |
1.00 |
ML-KEM-1024 keypair |
109654 cycles |
109508 cycles |
1.00 |
ML-KEM-1024 encaps |
127311 cycles |
127364 cycles |
1.00 |
ML-KEM-1024 decaps |
160022 cycles |
160097 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Graviton3 (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
45376 cycles |
45381 cycles |
1.00 |
ML-KEM-512 encaps |
54212 cycles |
54214 cycles |
1.00 |
ML-KEM-512 decaps |
71145 cycles |
71149 cycles |
1.00 |
ML-KEM-768 keypair |
74865 cycles |
74824 cycles |
1.00 |
ML-KEM-768 encaps |
86074 cycles |
86057 cycles |
1.00 |
ML-KEM-768 decaps |
108658 cycles |
108810 cycles |
1.00 |
ML-KEM-1024 keypair |
111107 cycles |
111124 cycles |
1.00 |
ML-KEM-1024 encaps |
125927 cycles |
125931 cycles |
1.00 |
ML-KEM-1024 decaps |
154583 cycles |
154622 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Graviton2 (no-opt)
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
71362 cycles |
71216 cycles |
1.00 |
ML-KEM-512 encaps |
84974 cycles |
85028 cycles |
1.00 |
ML-KEM-512 decaps |
112740 cycles |
112726 cycles |
1.00 |
ML-KEM-768 keypair |
117847 cycles |
117136 cycles |
1.01 |
ML-KEM-768 encaps |
135517 cycles |
135113 cycles |
1.00 |
ML-KEM-768 decaps |
172076 cycles |
171807 cycles |
1.00 |
ML-KEM-1024 keypair |
174820 cycles |
174626 cycles |
1.00 |
ML-KEM-1024 encaps |
196987 cycles |
196727 cycles |
1.00 |
ML-KEM-1024 decaps |
243123 cycles |
242770 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Bananapi bpi-f3 benchmarks
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
334997 cycles |
335070 cycles |
1.00 |
ML-KEM-512 encaps |
445553 cycles |
445597 cycles |
1.00 |
ML-KEM-512 decaps |
593755 cycles |
593832 cycles |
1.00 |
ML-KEM-768 keypair |
556017 cycles |
556188 cycles |
1.00 |
ML-KEM-768 encaps |
697790 cycles |
698049 cycles |
1.00 |
ML-KEM-768 decaps |
889388 cycles |
890329 cycles |
1.00 |
ML-KEM-1024 keypair |
821606 cycles |
821283 cycles |
1.00 |
ML-KEM-1024 encaps |
999043 cycles |
997945 cycles |
1.00 |
ML-KEM-1024 decaps |
1229707 cycles |
1230396 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Arm Cortex-A72 (Raspberry Pi 4) benchmarks
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
51412 cycles |
52689 cycles |
0.98 |
ML-KEM-512 encaps |
57960 cycles |
58752 cycles |
0.99 |
ML-KEM-512 decaps |
73681 cycles |
75138 cycles |
0.98 |
ML-KEM-768 keypair |
87829 cycles |
87133 cycles |
1.01 |
ML-KEM-768 encaps |
96111 cycles |
95975 cycles |
1.00 |
ML-KEM-768 decaps |
118849 cycles |
119479 cycles |
0.99 |
ML-KEM-1024 keypair |
131465 cycles |
131910 cycles |
1.00 |
ML-KEM-1024 encaps |
143935 cycles |
144449 cycles |
1.00 |
ML-KEM-1024 decaps |
175619 cycles |
175735 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
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.
Arm Cortex-A55 (Snapdragon 888) benchmarks
Benchmark suite | Current: f73cb30 | Previous: 7938203 | Ratio |
---|---|---|---|
ML-KEM-512 keypair |
57900 cycles |
57899 cycles |
1.00 |
ML-KEM-512 encaps |
65180 cycles |
65166 cycles |
1.00 |
ML-KEM-512 decaps |
83693 cycles |
83732 cycles |
1.00 |
ML-KEM-768 keypair |
98032 cycles |
98151 cycles |
1.00 |
ML-KEM-768 encaps |
108952 cycles |
109287 cycles |
1.00 |
ML-KEM-768 decaps |
135350 cycles |
135972 cycles |
1.00 |
ML-KEM-1024 keypair |
148756 cycles |
148983 cycles |
1.00 |
ML-KEM-1024 encaps |
164929 cycles |
164799 cycles |
1.00 |
ML-KEM-1024 decaps |
200141 cycles |
200051 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
This reverts commit e953c77. Signed-off-by: Hanno Becker <[email protected]>
The FIPS-202 code in mlkem-native is not meant as a standalone library; instead, it only provides the minimal functionality needed to implement ML-KEM. As such, it should not be generated as a separate library, but directly linked into the libmlkem{XXX}.a. This commit adjusts the build accordingly. Signed-off-by: Hanno Becker <[email protected]>
Signed-off-by: Hanno Becker <[email protected]>
f73cb30
to
7e9bb94
Compare
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.
LGTM.
This PR changes the build so that we generate four libraries:
libmlkem.a
libmlkem{512,768,1024}.a
All of those libraries include the FIPS functionality, which is no longer built as a separate
.a
file.