-
Notifications
You must be signed in to change notification settings - Fork 145
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
feat(frontend): add support for wires to concrete-python #845
Conversation
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.
Benchmark
Benchmark suite | Current: 494a5fc | Previous: 66d70b7 | Ratio |
---|---|---|---|
v0 PBS table generation |
60218721 ns/iter (± 302809 ) |
59802486 ns/iter (± 1213879 ) |
1.01 |
v0 PBS simulate dag table generation |
38003941 ns/iter (± 284418 ) |
37033984 ns/iter (± 287177 ) |
1.03 |
v0 WoP-PBS table generation |
68112466 ns/iter (± 511478 ) |
67839950 ns/iter (± 436131 ) |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
8f548ef
to
ad7fe6b
Compare
c7edfe0
to
1fd6ef2
Compare
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.
Looks good to me, I'm just think that the default composition of modules should be fully composable as the previous behavior. wdyt?
compilers/concrete-compiler/compiler/include/concretelang/Support/V0Parameters.h
Show resolved
Hide resolved
I don't think we should do this by default. There is a reason why we introduced wires, it's more optimal, and it should be the default choice. |
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.
Python side looks good to me, only a few comments. Though I'd love to see the initial wire API we designed as well, it looks much better to me!
frontends/concrete-python/concrete/fhe/compilation/module_compiler.py
Outdated
Show resolved
Hide resolved
frontends/concrete-python/concrete/fhe/compilation/module_compiler.py
Outdated
Show resolved
Hide resolved
For me FullyComposable should be the default one, as it make things works then you optimize it using wiring. Then it is the previous behavior so we don't break the legacy. |
Agreed. I changed it this way. |
d04ac7c
to
6bf2d12
Compare
frontends/concrete-python/concrete/fhe/compilation/module_compiler.py
Outdated
Show resolved
Hide resolved
63079da
to
494a5fc
Compare
closes https://github.com/zama-ai/concrete-internal/issues/715