First of all, --ciphertext-degree should probably be called --minimum-number-slots or similar, since that's what its currently doing..
For CKKS, we multiply it 2x to get the minimum ring degree (for BFV/BGV it's already min ring degree), but then parameter selection is free to choose a bigger ring degree.
This also means there's an implicit assumption in HEIR that anything doing rotation-based computations won't care about the difference between a 1024-length cyclical vector and, e.g., that 1024 vector being repeated a bunch of times to fill a 16k-lenght vector. For example, all of our tensor_ext.insert should write to any slot i % 1024, and not just to slot i. However, I don't think we're doing that at the moment.
First of all,
--ciphertext-degreeshould probably be called--minimum-number-slotsor similar, since that's what its currently doing..For CKKS, we multiply it 2x to get the minimum ring degree (for BFV/BGV it's already min ring degree), but then parameter selection is free to choose a bigger ring degree.
This also means there's an implicit assumption in HEIR that anything doing rotation-based computations won't care about the difference between a 1024-length cyclical vector and, e.g., that 1024 vector being repeated a bunch of times to fill a 16k-lenght vector. For example, all of our tensor_ext.insert should write to any slot i % 1024, and not just to slot i. However, I don't think we're doing that at the moment.