131 Commits

Author SHA1 Message Date
Alexandre Péré
c2c65d028c chore(optimizer): fix clippy lints 2025-04-22 08:55:04 +02:00
Alexandre Péré
c3f742d9cd feat(frontend): introduce concrete rust adapter 2025-04-22 08:55:04 +02:00
Alexandre Péré
89056f2e0d feat(compiler): add concrete-sys rust bindings 2025-02-25 15:14:28 +01:00
Alexandre Péré
6b29e16599 fix(ci): add missing fontconfig dependency 2025-01-17 15:30:10 +01:00
Alexandre Péré
4d6afba9dd chore(common): add 132 bits security curves 2024-12-16 11:24:04 +01:00
Alexandre Péré
819e6da503 Merge pull request #1145 from zama-ai/alex/optimizer_keyset_generation
feat(optimizer): add generic keyset info generation
2024-12-02 11:01:21 +01:00
Quentin Bourgerie
fce055049d Merge pull request #1169 from zama-ai/fix-optimizer-lint
chore(optimizer): Update linting
2024-11-29 15:55:32 +01:00
Quentin Bourgerie
9cc525c013 chore(optimizer): Update linting 2024-11-29 15:25:36 +01:00
Alexandre Péré
831e84736e fix(optimizer): fix performance regression 2024-11-27 11:53:58 +01:00
Alexandre Péré
af46cf4696 feat(optimizer): add virtual keyset info generation 2024-11-22 10:28:16 +01:00
Alexandre Péré
f70a18bb0a feat(compiler): search space restriction 2024-11-14 14:44:27 +01:00
Alexandre Péré
019daf8588 chore(common): fix formatting 2024-10-28 14:44:00 +01:00
James Marsh
b6523b5bf3 feat(optimizer): add ability to configure custom parameter restrictions 2024-10-25 11:07:12 +02:00
Alexandre Péré
5205a2fdcb fix(optimizer): please new rust lints 2024-10-21 09:52:05 +02:00
Alexandre Péré
6412649207 fix(optimizer): add zero noise and max noise ops 2024-10-18 14:47:33 +02:00
Alexandre Péré
f39f8abbb6 fix(optimizer): please new clippy lints 2024-09-23 11:10:27 +02:00
Alexandre Péré
19bb2413e0 fix(optimizer): fix optimizer error link 2024-09-16 09:46:32 +02:00
Alexandre Péré
26dd90311c chore(optimizer): enhance optimizer errors 2024-09-02 17:19:53 +02:00
youben11
af4a735b0c refactor(compiler): plug with change_partition support of optimizer 2024-08-22 16:38:24 +01:00
rudy
040e152451 chore(optimizer): ref files for new security curves 2024-08-22 17:34:31 +02:00
rudy
bd6838e6da chore(optimizer): adjust tests for new security curves 2024-08-22 17:34:31 +02:00
Alexandre Péré
971be1fee7 fix(optimizer): improve errors for unfeasible functions 2024-08-20 14:06:53 +02:00
youben11
a9da40c1f5 chore(optimizer): revert 89ef8d344e
There was a reason for this hadcoded value. See https://github.com/zama-ai/concrete/actions/runs/10385798019/job/28755712025
2024-08-15 08:41:09 +01:00
Ayoub Benaissa
89ef8d344e fix(optimizer): remove hardcoded processing unit 2024-08-13 13:51:34 +02:00
youben11
5e701eea6a test(optimizer): mix tfhers and low_precision partitions 2024-08-09 17:21:31 +01:00
youben11
901ce0419f refactor(optimizer): move external partition during change_part creation 2024-08-09 17:21:31 +01:00
youben11
72d5b7bbb4 feat(optimizer): constrain optimizer with external max_variance 2024-08-09 17:21:31 +01:00
youben11
a1398fda9f feat(optimizer): block macro parameters in external partitions
we block them by reducing the search space to a single set of parameters
which is provided by the external partition
2024-08-09 17:21:31 +01:00
youben11
67e18abd11 feat(optimizer): partition with external partitions 2024-08-09 17:21:31 +01:00
youben11
c3c0976214 feat(optimizer): add change_partition operator 2024-08-09 17:21:31 +01:00
Alexandre Péré
941d78b1d1 feat(optimizer): improve errors for non-composable functions 2024-08-05 16:11:39 +02:00
Alexandre Péré
2aeec5c82a fix(optimizer): fix leveled noise propagation 2024-07-23 09:40:12 +02:00
rudy
f299adf461 fix(optimizer): sync with linting update, dead code and deprecated constants 2024-06-18 17:59:36 +02:00
Alexandre Péré
5185940807 feat(frontend): add support for wires to concrete-python 2024-06-11 13:23:03 +02:00
Alexandre Péré
15816354aa feat(optimizer): add support for circuits and composition rules 2024-05-28 09:10:04 +02:00
Alexandre Péré
b96fecea16 chore(optimizer): please new rust compiler lints 2024-05-03 10:15:47 +02:00
Alexandre Péré
36cf48113a fix(optimizer): faulty output regeneration 2024-05-03 10:15:47 +02:00
Alexandre Péré
6f323e58a2 fix(optimizer): broken viz macro 2024-05-03 10:15:47 +02:00
rudy
1d0a63caa5 fix(optimizer): woppbs, full cost, missing ks and hybrid packing ep 2024-05-03 09:28:59 +02:00
Alexandre Péré
d033102a3c feat(optimizer): allow circuit manipulation in optimizer dag 2024-04-30 10:16:52 +02:00
Miles
5d68424531 fix typos 2024-04-11 14:50:16 +02:00
rudy
15b22918df fix(optimizer): bad variance on zero noise input on levelled op 2024-04-03 14:34:46 +02:00
Alexandre Péré
9b5a2e46da feat(compiler): support multi-circuit compilation 2024-03-01 15:35:52 +01:00
rudy
86e88443fc feat(optimizer): accept high precision weight 2024-02-08 17:53:23 +01:00
Alexandre Péré
a02bf3bae9 fix(optimizer): compiler output forwarding
In the optimizer, nodes without consumers are identified as outputs.
Since we can now return multiple values, this is inherently buggy,
since a value can then be both returned, and consumed to create another
input.

This commit fixes this by allowing the compiler to tag nodes as being
outputs.
2024-01-26 17:15:03 +01:00
Alexandre Péré
4df041c399 chore(optimizer): fix new nightly lints 2024-01-18 14:03:35 +01:00
Alexandre Péré
75d33d4f94 fix(optimizer): enhance error reported on non-composability 2024-01-18 14:03:35 +01:00
Alexandre Péré
2746bda27e chore(optimizer): add dot partitioning visualization 2024-01-18 14:03:35 +01:00
Alexandre Péré
52427d129b fix(optimizer): add test for composition with 3 partitions 2024-01-18 14:03:35 +01:00
Alexandre Péré
939ae72292 fix(optimizer): allow composability of input only circuits 2024-01-18 14:03:35 +01:00