Skip to content

Commit f1226a1

Browse files
committed
add orion-to-ckks conversion
1 parent 0d623e9 commit f1226a1

23 files changed

+2327
-53
lines changed

MODULE.bazel.lock

Lines changed: 598 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/Dialect/Mgmt/IR/MgmtOps.td

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ def Mgmt_ModReduceOp : Mgmt_Op<"modreduce"> {
2727
or ckks.rescale depending on the scheme.
2828
}];
2929

30-
let arguments = (ins
31-
AnyType:$input
32-
);
30+
let arguments = (ins AnyType:$input);
3331
let results = (outs AnyType:$output);
3432
let assemblyFormat = "operands attr-dict `:` type($output)";
3533

@@ -81,9 +79,7 @@ def Mgmt_RelinearizeOp : Mgmt_Op<"relinearize"> {
8179
or ckks.relinearize depending on the scheme.
8280
}];
8381

84-
let arguments = (ins
85-
AnyType:$input
86-
);
82+
let arguments = (ins AnyType:$input);
8783
let results = (outs AnyType:$output);
8884
let assemblyFormat = "operands attr-dict `:` type($output)";
8985
}
@@ -99,16 +95,12 @@ def Mgmt_BootstrapOp : Mgmt_Op<"bootstrap"> {
9995
reduce the noise in a ciphertext, allowing further operations
10096
to be performed on it without decryption.
10197

102-
When further lowered, it could be lowered to bgv.bootstrap
103-
or ckks.bootstrap depending on the scheme.
104-
105-
For the current backend, only ckks.bootstrap is supported.
106-
Further backend may include bgv.bootstrap.
98+
When further lowered, it could be lowered to `bgv.bootstrap` or
99+
`ckks.bootstrap` depending on the scheme. Current backends only support
100+
`ckks.bootstrap`.
107101
}];
108102

109-
let arguments = (ins
110-
AnyType:$input
111-
);
103+
let arguments = (ins AnyType:$input);
112104
let results = (outs AnyType:$output);
113105
let assemblyFormat = "operands attr-dict `:` type($output)";
114106
}
@@ -175,9 +167,7 @@ def Mgmt_InitOp : Mgmt_Op<"init",
175167
ConditionallySpeculatable is for isSpeculatable check in hoisting canonicalization.
176168
}];
177169

178-
let arguments = (ins
179-
AnyType:$input
180-
);
170+
let arguments = (ins AnyType:$input);
181171
let results = (outs AnyType:$output);
182172
let assemblyFormat = "operands attr-dict `:` type($output)";
183173

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
load("@heir//lib/Transforms:transforms.bzl", "add_heir_transforms")
2+
3+
package(
4+
default_applicable_licenses = ["@heir//:license"],
5+
default_visibility = ["//visibility:public"],
6+
)
7+
8+
cc_library(
9+
name = "OrionToCKKS",
10+
srcs = ["OrionToCKKS.cpp"],
11+
hdrs = ["OrionToCKKS.h"],
12+
deps = [
13+
":IRMaterializingVisitor",
14+
":pass_inc_gen",
15+
"@heir//lib/Dialect/CKKS/IR:Dialect",
16+
"@heir//lib/Dialect/LWE/IR:Dialect",
17+
"@heir//lib/Dialect/Orion/IR:Dialect",
18+
"@heir//lib/Kernel:ArithmeticDag",
19+
"@heir//lib/Kernel:IRMaterializingVisitor",
20+
"@heir//lib/Kernel:KernelImplementation",
21+
"@heir//lib/Utils:ConversionUtils",
22+
"@heir//lib/Utils/Polynomial:ChebyshevPatersonStockmeyer",
23+
"@llvm-project//mlir:IR",
24+
"@llvm-project//mlir:Pass",
25+
"@llvm-project//mlir:Transforms",
26+
],
27+
)
28+
29+
cc_library(
30+
name = "IRMaterializingVisitor",
31+
srcs = ["IRMaterializingVisitor.cpp"],
32+
hdrs = ["IRMaterializingVisitor.h"],
33+
deps = [
34+
"@heir//lib/Dialect/CKKS/IR:Dialect",
35+
"@heir//lib/Dialect/LWE/IR:Dialect",
36+
"@heir//lib/Dialect/TensorExt/IR:Dialect",
37+
"@heir//lib/Kernel:AbstractValue",
38+
"@heir//lib/Kernel:ArithmeticDag",
39+
"@heir//lib/Kernel:KernelImplementation",
40+
"@heir//lib/Utils",
41+
"@heir//lib/Utils:MathUtils",
42+
"@llvm-project//llvm:Support",
43+
"@llvm-project//mlir:ArithDialect",
44+
"@llvm-project//mlir:IR",
45+
"@llvm-project//mlir:Support",
46+
"@llvm-project//mlir:TensorDialect",
47+
],
48+
)
49+
50+
add_heir_transforms(
51+
header_filename = "OrionToCKKS.h.inc",
52+
pass_name = "OrionToCKKS",
53+
td_file = "OrionToCKKS.td",
54+
)

0 commit comments

Comments
 (0)