-
Notifications
You must be signed in to change notification settings - Fork 23
Add MLD_CONFIG_MULTILEVEL_WITH_SHARED and NO_SHARED #532
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
Conversation
Considering splitting in 2 parts. So far this PR lays down a good foundation for the new config. Hanno suggested first populating |
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.
I don't see MLD_CONFIG_MULTILEVEL_WITH_SHARED
/ MLD_CONFIG_MULTILEVEL_NO_SHARED
having any effect yet.
For example ntt.c
should be guarded - poly.c
should also be guarded, but that is more work.
I'm fine with merging this in smaller steps, but ntt.c definitely need to be guarded and a follow-up issue created for guarding poly.c
.
b9bb021
to
455881b
Compare
Okay, added use in |
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.
Thanks @jakemas! Getting there.
polyvec.c should not be guarded by MLD_CONFIG_MULTILEVEL_NO_SHARED
- we actually need to build that one 3 times.
The comment in config.h still does not make sense.
Please create a follow-up issue to clean up poly_kl.c - that leads to a lot of duplicate code right now.
a425d02
to
a776051
Compare
c5501c6
to
5106771
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.
It remains to be seen if this PR actually works, but the changes look good to me. Let's get this merged and move forward in small steps.
I created a follow-up issue #536.
This PR removes NAMESPACETOP and implements the NAMESPACE_KL for multilevel functionality. Also added are the config MLD_CONFIG_MULTILEVEL_WITH_SHARED and the no shared option MLD_CONFIG_MULTILEVEL_NO_SHARED. These multilevel guards have been added to ntt.c/polyvec.c/debug.c. The functions within poly.c have been split into shared and parameter- dependent in poly_kl.c. Signed-off-by: Jake Massimo <[email protected]>
5106771
to
54d1c4a
Compare
Good with me! Splitting up will be much easier to develop + review. Anything outstanding on this PR? |
MLD_NAMESPACETOP
#527TODO/FOLLOWUP: