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
Copy file name to clipboardExpand all lines: kerngen/README.md
+5-9
Original file line number
Diff line number
Diff line change
@@ -104,29 +104,25 @@ All other commands are assumed to be operations. All operations are case
104
104
insensitive, but the convention we use is the operations are capitalized. These
105
105
are defined in the [manifest.json](./pisa_generators/manifest.json) file.
106
106
```
107
-
CONTEXT BGV 8192 4
107
+
CONTEXT BGV 8192 4 3
108
108
DATA a 2
109
109
DATA b 2
110
110
DATA c 2
111
111
ADD c a b
112
112
```
113
113
114
114
## CONTEXT
115
-
Context defines the global properties `(scheme, poly_order, max_rns,
116
-
key_rns(optional))` of the input script.
115
+
Context defines the global properties `(scheme, poly_ordering_dimensionr, max_rns,
116
+
current_rns)` of the input script.
117
117
`CONTEXT` sets a global context for properties required by the kernels.
118
118
- first field defines what we call scheme. In reality, it specifies the set of
119
119
kernel instructions given in the manifest file, see
120
120
[manifest.json](./pisa_generators/manifest.json).
121
121
- second field defines the polynomial size for the `DATA`. This is required by
122
122
the generating kernels to define how many units (multiples of the native polynomial
123
123
size, 8192 in HERACLES silicon case) are required and handled.
124
-
- third field defines the max RNS, the global max number of how many 32 bit prime number moduli
125
-
(HERACLES silicon case) are in the modulus chain that the kernels can have or need to handle.
126
-
- (optional) fourth field defines the key RNS, the number of additional moduli
127
-
that the relinearization key has relative to the third field. i.e. If `max_rns`
128
-
is 3 and `key_rns` is 1 the total max RNS of the relinearization key will be 4.
129
-
Note this field is only required for calling the `relin` kernel.
124
+
- third field defines the key RNS, i.e. the total max RNS of the relinearization key, typically the global max number of how many 32 bit prime number moduli (HERACLES silicon case) are in the modulus chain that the kernels can have or need to handle + 1.
125
+
- fourth field defines the number of RNS terms in the current polynomial.
130
126
131
127
## DATA
132
128
`DATA` defines polynomial symbols to be used and their attribute(s) (`num_parts`) where
0 commit comments