You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #4, I could not get the NTT tests (Kyber and Dilithium) to work on the M85 when only using the 32 KB DTCM of the AN555.
Reason for that is that each variant of the NTT has their own set of twiddle factors which are stored in RAM. This adds up and unfortunately, exceeds the available DTCM; each individual NTT of course would fit. Once could store the twiddles in ROM, but that will result in a performance penalty.
The solution was to temporarily switch to the internal SRAM which is 2x2 MiB. However this results in a performance penalty, too, so it's not a solution.
@hanno-becker and I discussed that the way forward is to store twiddles in ROM, but copy them to DTCM prior to using them.
However, this requires changing the tests and the APIs for the NTTs (which in turn required some refactoring in SLOTHY).
Probably a good idea to do that when we are touching the MVE NTTs the next time.
In #4, I could not get the NTT tests (Kyber and Dilithium) to work on the M85 when only using the 32 KB DTCM of the AN555.
Reason for that is that each variant of the NTT has their own set of twiddle factors which are stored in RAM. This adds up and unfortunately, exceeds the available DTCM; each individual NTT of course would fit. Once could store the twiddles in ROM, but that will result in a performance penalty.
The solution was to temporarily switch to the internal SRAM which is 2x2 MiB. However this results in a performance penalty, too, so it's not a solution.
@hanno-becker and I discussed that the way forward is to store twiddles in ROM, but copy them to DTCM prior to using them.
However, this requires changing the tests and the APIs for the NTTs (which in turn required some refactoring in SLOTHY).
Probably a good idea to do that when we are touching the MVE NTTs the next time.
See the memory layour here: https://developer.arm.com/documentation/107642/latest/
The text was updated successfully, but these errors were encountered: