-
Notifications
You must be signed in to change notification settings - Fork 25
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 |
mkannwischer
left a comment
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 |
mkannwischer
left a comment
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
mkannwischer
left a comment
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? |
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
#532 introduced poly_kl.c for polynomial functions that depend on the parameter set. However, no separate header was introduced. A separate header is required for the monobuild to be able to undefine parameter-specific symbols. This commit adds the poly_kl.h header. Signed-off-by: Matthias J. Kannwischer <[email protected]>
MLD_NAMESPACETOP#527TODO/FOLLOWUP: