Consolidate MLK_USE_NATIVE_XXX macros#1541
Conversation
In the arithmetic backend, we signal support for certain functions using macros of the form MLK_USE_NATIVE_XXX (e.g., MLK_USE_NATIVE_NTT), while in the FIPS202 backend, we use MLK_USE_XXX_NATIVE (e.g., MLK_USE_FIPS202_X1_NATIVE). This commit consolidates it to MLK_USE_NATIVE_XXX. - Resolves #1523 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
CBMC Results (ML-KEM-512)Full Results (151 proofs)
|
CBMC Results (ML-KEM-768)Full Results (151 proofs)
|
oqs-bot
left a comment
There was a problem hiding this comment.
Mac Mini (M1, 2020) benchmarks
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
12327 cycles |
12327 cycles |
1 |
ML-KEM-512 encaps |
15033 cycles |
15029 cycles |
1.00 |
ML-KEM-512 decaps |
19609 cycles |
19607 cycles |
1.00 |
ML-KEM-768 keypair |
21092 cycles |
21092 cycles |
1 |
ML-KEM-768 encaps |
23862 cycles |
23863 cycles |
1.00 |
ML-KEM-768 decaps |
30443 cycles |
30443 cycles |
1 |
ML-KEM-1024 keypair |
30375 cycles |
30376 cycles |
1.00 |
ML-KEM-1024 encaps |
34642 cycles |
34642 cycles |
1 |
ML-KEM-1024 decaps |
44267 cycles |
44279 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
ppc64le (POWER10) benchmarks
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
59312 cycles |
61729 cycles |
0.96 |
ML-KEM-512 encaps |
71978 cycles |
76321 cycles |
0.94 |
ML-KEM-512 decaps |
91662 cycles |
96900 cycles |
0.95 |
ML-KEM-768 keypair |
98528 cycles |
101843 cycles |
0.97 |
ML-KEM-768 encaps |
114864 cycles |
118989 cycles |
0.97 |
ML-KEM-768 decaps |
140397 cycles |
145386 cycles |
0.97 |
ML-KEM-1024 keypair |
148781 cycles |
153347 cycles |
0.97 |
ML-KEM-1024 encaps |
167693 cycles |
172326 cycles |
0.97 |
ML-KEM-1024 decaps |
198974 cycles |
204380 cycles |
0.97 |
This comment was automatically generated by workflow using github-action-benchmark.
CBMC Results (ML-KEM-1024)Full Results (151 proofs)
|
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
9682 cycles |
9677 cycles |
1.00 |
ML-KEM-512 encaps |
11475 cycles |
11476 cycles |
1.00 |
ML-KEM-512 decaps |
15374 cycles |
15377 cycles |
1.00 |
ML-KEM-768 keypair |
16409 cycles |
16401 cycles |
1.00 |
ML-KEM-768 encaps |
17833 cycles |
17841 cycles |
1.00 |
ML-KEM-768 decaps |
23483 cycles |
23478 cycles |
1.00 |
ML-KEM-1024 keypair |
22308 cycles |
22387 cycles |
1.00 |
ML-KEM-1024 encaps |
24608 cycles |
24660 cycles |
1.00 |
ML-KEM-1024 decaps |
32264 cycles |
32524 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
16707 cycles |
16688 cycles |
1.00 |
ML-KEM-512 encaps |
18360 cycles |
18355 cycles |
1.00 |
ML-KEM-512 decaps |
23724 cycles |
23724 cycles |
1 |
ML-KEM-768 keypair |
28440 cycles |
28460 cycles |
1.00 |
ML-KEM-768 encaps |
29786 cycles |
29796 cycles |
1.00 |
ML-KEM-768 decaps |
37653 cycles |
37637 cycles |
1.00 |
ML-KEM-1024 keypair |
41178 cycles |
41221 cycles |
1.00 |
ML-KEM-1024 encaps |
43517 cycles |
43491 cycles |
1.00 |
ML-KEM-1024 decaps |
53826 cycles |
53972 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i) (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28489 cycles |
28478 cycles |
1.00 |
ML-KEM-512 encaps |
35837 cycles |
35791 cycles |
1.00 |
ML-KEM-512 decaps |
45395 cycles |
45426 cycles |
1.00 |
ML-KEM-768 keypair |
45944 cycles |
45975 cycles |
1.00 |
ML-KEM-768 encaps |
56221 cycles |
56333 cycles |
1.00 |
ML-KEM-768 decaps |
69406 cycles |
69448 cycles |
1.00 |
ML-KEM-1024 keypair |
71696 cycles |
71673 cycles |
1.00 |
ML-KEM-1024 encaps |
84467 cycles |
84546 cycles |
1.00 |
ML-KEM-1024 decaps |
101594 cycles |
101646 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
12031 cycles |
12068 cycles |
1.00 |
ML-KEM-512 encaps |
13173 cycles |
13187 cycles |
1.00 |
ML-KEM-512 decaps |
18051 cycles |
18046 cycles |
1.00 |
ML-KEM-768 keypair |
20536 cycles |
20539 cycles |
1.00 |
ML-KEM-768 encaps |
21536 cycles |
21522 cycles |
1.00 |
ML-KEM-768 decaps |
28659 cycles |
28651 cycles |
1.00 |
ML-KEM-1024 keypair |
27817 cycles |
27844 cycles |
1.00 |
ML-KEM-1024 encaps |
30108 cycles |
30078 cycles |
1.00 |
ML-KEM-1024 decaps |
39365 cycles |
39348 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
16376 cycles |
16370 cycles |
1.00 |
ML-KEM-512 encaps |
18694 cycles |
18691 cycles |
1.00 |
ML-KEM-512 decaps |
25288 cycles |
25287 cycles |
1.00 |
ML-KEM-768 keypair |
28869 cycles |
28721 cycles |
1.01 |
ML-KEM-768 encaps |
29812 cycles |
29774 cycles |
1.00 |
ML-KEM-768 decaps |
39302 cycles |
39296 cycles |
1.00 |
ML-KEM-1024 keypair |
37698 cycles |
37693 cycles |
1.00 |
ML-KEM-1024 encaps |
40683 cycles |
40687 cycles |
1.00 |
ML-KEM-1024 decaps |
54430 cycles |
54408 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton4
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
17688 cycles |
17705 cycles |
1.00 |
ML-KEM-512 encaps |
20696 cycles |
20703 cycles |
1.00 |
ML-KEM-512 decaps |
27115 cycles |
27134 cycles |
1.00 |
ML-KEM-768 keypair |
30011 cycles |
30007 cycles |
1.00 |
ML-KEM-768 encaps |
32868 cycles |
32800 cycles |
1.00 |
ML-KEM-768 decaps |
42068 cycles |
42060 cycles |
1.00 |
ML-KEM-1024 keypair |
43909 cycles |
43921 cycles |
1.00 |
ML-KEM-1024 encaps |
48937 cycles |
48929 cycles |
1.00 |
ML-KEM-1024 decaps |
61484 cycles |
61492 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Arm Cortex-A72 (Raspberry Pi 4) benchmarks
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
50861 cycles |
50678 cycles |
1.00 |
ML-KEM-512 encaps |
58671 cycles |
58487 cycles |
1.00 |
ML-KEM-512 decaps |
75019 cycles |
75583 cycles |
0.99 |
ML-KEM-768 keypair |
86459 cycles |
85899 cycles |
1.01 |
ML-KEM-768 encaps |
94396 cycles |
94206 cycles |
1.00 |
ML-KEM-768 decaps |
117789 cycles |
117678 cycles |
1.00 |
ML-KEM-1024 keypair |
130502 cycles |
130831 cycles |
1.00 |
ML-KEM-1024 encaps |
142312 cycles |
142700 cycles |
1.00 |
ML-KEM-1024 decaps |
173742 cycles |
174993 cycles |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a) (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
40486 cycles |
40460 cycles |
1.00 |
ML-KEM-512 encaps |
48363 cycles |
48311 cycles |
1.00 |
ML-KEM-512 decaps |
62480 cycles |
62448 cycles |
1.00 |
ML-KEM-768 keypair |
63606 cycles |
63563 cycles |
1.00 |
ML-KEM-768 encaps |
74772 cycles |
74706 cycles |
1.00 |
ML-KEM-768 decaps |
93207 cycles |
93714 cycles |
0.99 |
ML-KEM-1024 keypair |
94991 cycles |
94935 cycles |
1.00 |
ML-KEM-1024 encaps |
109140 cycles |
108977 cycles |
1.00 |
ML-KEM-1024 decaps |
131959 cycles |
131836 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton3
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
18743 cycles |
18765 cycles |
1.00 |
ML-KEM-512 encaps |
22035 cycles |
22041 cycles |
1.00 |
ML-KEM-512 decaps |
29009 cycles |
29039 cycles |
1.00 |
ML-KEM-768 keypair |
31809 cycles |
31803 cycles |
1.00 |
ML-KEM-768 encaps |
35008 cycles |
34950 cycles |
1.00 |
ML-KEM-768 decaps |
45037 cycles |
45049 cycles |
1.00 |
ML-KEM-1024 keypair |
46364 cycles |
46362 cycles |
1.00 |
ML-KEM-1024 encaps |
51753 cycles |
51757 cycles |
1.00 |
ML-KEM-1024 decaps |
65256 cycles |
65267 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a) (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
36517 cycles |
36504 cycles |
1.00 |
ML-KEM-512 encaps |
43004 cycles |
42998 cycles |
1.00 |
ML-KEM-512 decaps |
55683 cycles |
55652 cycles |
1.00 |
ML-KEM-768 keypair |
58467 cycles |
58471 cycles |
1.00 |
ML-KEM-768 encaps |
67423 cycles |
67393 cycles |
1.00 |
ML-KEM-768 decaps |
84621 cycles |
84354 cycles |
1.00 |
ML-KEM-1024 keypair |
88662 cycles |
88681 cycles |
1.00 |
ML-KEM-1024 encaps |
98888 cycles |
98925 cycles |
1.00 |
ML-KEM-1024 decaps |
120514 cycles |
120537 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton4 (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
35483 cycles |
35502 cycles |
1.00 |
ML-KEM-512 encaps |
40240 cycles |
40238 cycles |
1.00 |
ML-KEM-512 decaps |
51247 cycles |
51243 cycles |
1.00 |
ML-KEM-768 keypair |
56776 cycles |
56809 cycles |
1.00 |
ML-KEM-768 encaps |
64650 cycles |
64725 cycles |
1.00 |
ML-KEM-768 decaps |
78974 cycles |
79037 cycles |
1.00 |
ML-KEM-1024 keypair |
88039 cycles |
88033 cycles |
1.00 |
ML-KEM-1024 encaps |
97181 cycles |
97180 cycles |
1.00 |
ML-KEM-1024 decaps |
116111 cycles |
116099 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i) (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
45830 cycles |
45812 cycles |
1.00 |
ML-KEM-512 encaps |
54795 cycles |
54782 cycles |
1.00 |
ML-KEM-512 decaps |
70332 cycles |
70305 cycles |
1.00 |
ML-KEM-768 keypair |
73824 cycles |
73801 cycles |
1.00 |
ML-KEM-768 encaps |
85316 cycles |
85255 cycles |
1.00 |
ML-KEM-768 decaps |
106283 cycles |
106271 cycles |
1.00 |
ML-KEM-1024 keypair |
111828 cycles |
111786 cycles |
1.00 |
ML-KEM-1024 encaps |
125970 cycles |
125915 cycles |
1.00 |
ML-KEM-1024 decaps |
151780 cycles |
151735 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton3 (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
39042 cycles |
39062 cycles |
1.00 |
ML-KEM-512 encaps |
44640 cycles |
44635 cycles |
1.00 |
ML-KEM-512 decaps |
56732 cycles |
56712 cycles |
1.00 |
ML-KEM-768 keypair |
62384 cycles |
62436 cycles |
1.00 |
ML-KEM-768 encaps |
70928 cycles |
70943 cycles |
1.00 |
ML-KEM-768 decaps |
86863 cycles |
86875 cycles |
1.00 |
ML-KEM-1024 keypair |
96270 cycles |
96269 cycles |
1.00 |
ML-KEM-1024 encaps |
106340 cycles |
106328 cycles |
1.00 |
ML-KEM-1024 decaps |
126782 cycles |
126795 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton2
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28338 cycles |
28317 cycles |
1.00 |
ML-KEM-512 encaps |
34250 cycles |
34300 cycles |
1.00 |
ML-KEM-512 decaps |
44487 cycles |
44538 cycles |
1.00 |
ML-KEM-768 keypair |
47887 cycles |
47847 cycles |
1.00 |
ML-KEM-768 encaps |
54223 cycles |
54179 cycles |
1.00 |
ML-KEM-768 decaps |
68735 cycles |
68665 cycles |
1.00 |
ML-KEM-1024 keypair |
70548 cycles |
70577 cycles |
1.00 |
ML-KEM-1024 encaps |
79147 cycles |
79180 cycles |
1.00 |
ML-KEM-1024 decaps |
98840 cycles |
98900 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
SpacemiT K1 8 (Banana Pi F3) benchmarks
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
155138 cycles |
155127 cycles |
1.00 |
ML-KEM-512 encaps |
163335 cycles |
163266 cycles |
1.00 |
ML-KEM-512 decaps |
206594 cycles |
206482 cycles |
1.00 |
ML-KEM-768 keypair |
249470 cycles |
249530 cycles |
1.00 |
ML-KEM-768 encaps |
270250 cycles |
270293 cycles |
1.00 |
ML-KEM-768 decaps |
332037 cycles |
332121 cycles |
1.00 |
ML-KEM-1024 keypair |
395154 cycles |
395107 cycles |
1.00 |
ML-KEM-1024 encaps |
422159 cycles |
423803 cycles |
1.00 |
ML-KEM-1024 decaps |
506961 cycles |
505540 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton2 (no-opt)
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
59163 cycles |
59178 cycles |
1.00 |
ML-KEM-512 encaps |
68636 cycles |
68656 cycles |
1.00 |
ML-KEM-512 decaps |
87423 cycles |
87403 cycles |
1.00 |
ML-KEM-768 keypair |
95844 cycles |
95411 cycles |
1.00 |
ML-KEM-768 encaps |
109434 cycles |
109348 cycles |
1.00 |
ML-KEM-768 decaps |
134307 cycles |
134230 cycles |
1.00 |
ML-KEM-1024 keypair |
148525 cycles |
147922 cycles |
1.00 |
ML-KEM-1024 encaps |
164450 cycles |
163963 cycles |
1.00 |
ML-KEM-1024 decaps |
195730 cycles |
195119 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28331 cycles |
28402 cycles |
1.00 |
ML-KEM-512 encaps |
34303 cycles |
34330 cycles |
1.00 |
ML-KEM-512 decaps |
44529 cycles |
44594 cycles |
1.00 |
ML-KEM-768 keypair |
47860 cycles |
47799 cycles |
1.00 |
ML-KEM-768 encaps |
54127 cycles |
54109 cycles |
1.00 |
ML-KEM-768 decaps |
68679 cycles |
68614 cycles |
1.00 |
ML-KEM-1024 keypair |
70562 cycles |
70522 cycles |
1.00 |
ML-KEM-1024 encaps |
79122 cycles |
79092 cycles |
1.00 |
ML-KEM-1024 decaps |
98818 cycles |
98772 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Arm Cortex-A55 (Snapdragon 888) benchmarks
Details
| Benchmark suite | Current: caa0cd1 | Previous: 4f13e12 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
59482 cycles |
59513 cycles |
1.00 |
ML-KEM-512 encaps |
67276 cycles |
67237 cycles |
1.00 |
ML-KEM-512 decaps |
85785 cycles |
85783 cycles |
1.00 |
ML-KEM-768 keypair |
96998 cycles |
96990 cycles |
1.00 |
ML-KEM-768 encaps |
110458 cycles |
110613 cycles |
1.00 |
ML-KEM-768 decaps |
137300 cycles |
137269 cycles |
1.00 |
ML-KEM-1024 keypair |
154015 cycles |
154033 cycles |
1.00 |
ML-KEM-1024 encaps |
170601 cycles |
170579 cycles |
1.00 |
ML-KEM-1024 decaps |
206582 cycles |
206470 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
hanno-becker
left a comment
There was a problem hiding this comment.
I support this, but it is an API break, so we need a fall-back path, ideally with a warning being emitted when the now-deprecated defines are used.
|
Closing this as I don't care enough about it. |
In the arithmetic backend, we signal support for certain functions using macros of the form MLK_USE_NATIVE_XXX (e.g., MLK_USE_NATIVE_NTT), while in the FIPS202 backend, we use MLK_USE_XXX_NATIVE (e.g., MLK_USE_FIPS202_X1_NATIVE). This commit consolidates it to MLK_USE_NATIVE_XXX.
MLK_USE_XXXflags indicating function support #1523