Commit Graph

577 Commits

Author SHA1 Message Date
rudy
6db7c5c1fe fix(common): version tag major.minor.revision(-whatever)? 2024-01-11 17:40:00 +01:00
Antoniu Pop
6eed9a8e9e fix(ci): restrict run of CP GPU tests to push on main only due to length. 2024-01-05 13:15:12 +00:00
aPere3
6691c8f107 feat(frontend): add support for gpu in concrete-python 2024-01-05 13:15:12 +00:00
Bourgerie Quentin
f58c0396e5 chore(compiler): Remove automatic compiler gpu benchmark on merge 2024-01-02 19:23:38 +01:00
Bourgerie Quentin
06509bb5d7 chore(ci): Fix file changed 2024-01-02 19:23:38 +01:00
dependabot[bot]
8879c4b376 chore(ci): bump tj-actions/changed-files from 32 to 41
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 32 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Commits](https://github.com/tj-actions/changed-files/compare/v32...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 14:27:10 +01:00
dependabot[bot]
0c4b9b0731 chore(ci): bump dawidd6/action-download-artifact from 2 to 3
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 2 to 3.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 14:22:42 +01:00
dependabot[bot]
911cac23fe chore(ci): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 14:21:36 +01:00
dependabot[bot]
f03226c6b6 chore(ci): bump actions/download-artifact from 3 to 4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 14:08:12 +01:00
dependabot[bot]
3efd421b25 chore(ci): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 13:56:11 +01:00
Bourgerie Quentin
18e4673f11 chore(frontend-python/ci): Cleanup host after testing 2023-12-22 15:51:02 +01:00
Bourgerie Quentin
b2e918156c chore(ci): Fix keyset cache path for concrete python tests 2023-12-22 15:51:02 +01:00
Bourgerie Quentin
a812984636 chore(backend/cuda): Removing concrete cuda workflow (since new development will be in another repo) 2023-12-22 15:51:02 +01:00
Bourgerie Quentin
98274e012e test(backend-cpu): Remove useless zip tests 2023-12-22 15:51:02 +01:00
Alexandre Péré
e82a8f6ddb chore(compiler): fix broken retry for flaky tests 2023-12-18 15:54:25 +01:00
Bourgerie Quentin
95ddf4b65e fix(ci): Remove keyset cache for e2e benchmark 2023-12-15 11:00:45 +01:00
Alexandre Péré
e8ef48ffd8 feat(compiler): introduce concrete-protocol
This commit:
 + Adds support for a protocol which enables inter-op between concrete,
   tfhe-rs and potentially other contributors to the fhe ecosystem.
 + Gets rid of hand-made serialization in the compiler, and
   client/server libs.
 + Refactors client/server libs to allow more pre/post processing of
   circuit inputs/outputs.

The protocol is supported by a definition in the shape of a capnp file,
which defines different types of objects among which:
 + ProgramInfo object, which is a precise description of a set of fhe
   circuit coming from the same compilation (understand function type
   information), and the associated key set.
 + *Key objects, which represent secret/public keys used to
   encrypt/execute fhe circuits.
 + Value object, which represent values that can be transferred between
   client and server to support calls to fhe circuits.

The hand-rolled serialization that was previously used is completely
dropped in favor of capnp in the whole codebase.

The client/server libs, are refactored to introduce a modular design for
pre-post processing. Reading the ProgramInfo file associated with a
compilation, the client and server libs assemble a pipeline of
transformers (functions) for pre and post processing of values coming in
and out of a circuit. This design properly decouples various aspects of
the processing, and allows these capabilities to be safely extended.

In practice this commit includes the following:
 + Defines the specification in a concreteprotocol package
 + Integrate the compilation of this package as a compiler dependency
   via cmake
 + Modify the compiler to use the Encodings objects defined in the
   protocol
 + Modify the compiler to emit ProgramInfo files as compilation
   artifact, and gets rid of the bloated ClientParameters.
 + Introduces a new Common library containing the functionalities shared
   between the compiler and the client/server libs.
 + Introduces a functional pre-post processing pipeline to this common
   library
 + Modify the client/server libs to support loading ProgramInfo objects,
   and calling circuits using Value messages.
 + Drops support of JIT.
 + Drops support of C-api.
 + Drops support of Rust bindings.

Co-authored-by: Nikita Frolov <nf@mkmks.org>
2023-11-09 17:09:04 +01:00
rudy
9139101cc3 fix(frontend-python): ci, duplicated shared lib 2023-11-06 10:38:13 +01:00
rudy
87c877bc7e chore(ci): valid dependabot commit title 2023-10-30 10:20:19 +01:00
rudy
1f4361b773 chore(ci): simpler detection for markdown link check 2023-10-30 09:23:46 +01:00
aquint-zama
a47d7661a4 chore(ci): add markdown link check 2023-10-27 15:40:21 +02:00
Umut
81f9d5cd86 chore(frontend-python): push docker images on releases 2023-10-25 15:40:43 +02:00
Bourgerie Quentin
6df3b94a2d fix(ci): Don't fail with several tag 2023-09-21 11:14:16 +02:00
Bourgerie Quentin
19b8b930ab chore(ci): Tag nightly on the public githu repository 2023-09-20 17:42:01 +02:00
Umut
e6f5eabc2f chore(tools): use git lfs while testing cml 2023-09-20 15:01:58 +02:00
Umut
2327c15511 chore(frontend-pyton): remove single precision tests from linux ci 2023-09-19 15:28:08 +02:00
Umut
df19543454 chore(frontend-python): remove key cache after tests in ci 2023-09-19 15:28:08 +02:00
youben11
62ad2eb75f fix(ci): install poetry before running ML test script 2023-08-02 11:27:49 +01:00
youben11
4d9101b1e2 feat(ci): add workflow to run ML tests with latest CP 2023-08-01 16:12:16 +01:00
Umut
9c4dc343f0 feat(frontend-python): add version to fhe module 2023-07-19 11:50:42 +02:00
aquint-zama
25754a656a docs(common): add FHE dialects autogenerated docs 2023-07-13 14:33:54 +02:00
Bourgerie Quentin
c36c3728f9 chore(ci): Enable CI test on release branch 2023-07-13 09:34:03 +02:00
Umut
3ec17a74b6 feat(frontend-python): support python 3.11 2023-06-12 14:34:23 +02:00
youben11
c4232eb71a feat(compiler/ci): enable rust bindings tests 2023-06-05 17:48:01 +01:00
rudy
07e0f93001 fix(optimizer/ci): benchmark commit comment 2023-05-25 03:51:17 -04:00
Agnes Leroy
b174f81687 fix(backend-gpu): avoid warp branching in the PBS 2023-05-17 15:01:37 +02:00
Umut
ad1d5447e1 fix(frontend-python): link torch openmp to concrete openmp to avoid multiple openmp runtimes 2023-05-11 13:19:55 +02:00
Agnes Leroy
c67c246e02 fix(ci): revert "fix(ci): fix concrete-cuda ci" and fix ci properly
Install nightly Rust instead of stable
Build concrete-cpu with nightly cargo
2023-05-04 15:28:08 +02:00
Agnes Leroy
fcec68ea26 fix(ci): fix concrete-cuda ci 2023-04-28 16:51:45 -03:00
youben11
882f411a63 chore(ci/compiler): move macos_x86 tests to aws 2023-04-12 11:44:15 +01:00
Mayeul@Zama
a211470dd4 chore(backend-cpu): use stable lints in the CI 2023-04-12 12:00:24 +02:00
Ayoub Benaissa
767a4137d5 fix(ci/release): config openblas for macos env 2023-04-12 08:54:45 +01:00
Quentin Bourgerie
6f06757218 chore(ci): Remove pre conditions for releasing since there are some flaky test 2023-04-12 07:51:49 +02:00
Quentin Bourgerie
bcae1ebd1e chore(backend-cuda/ci): Use slab to run tests 2023-04-11 16:35:56 +02:00
youben11
3e0d959b12 chore(common): update repo name 2023-04-11 16:35:42 +02:00
youben11
22a2407b60 chore(ci): rename secret 2023-04-11 12:26:10 +01:00
aquint-zama
fdf6f41a89 docs(frontend/python): overhaul python frontend docs 2023-04-11 10:15:42 +02:00
Ayoub Benaissa
6f23f448e5 fix(ci): setup pkg-config to find openblas 2023-04-07 16:35:07 +01:00
youben11
30a13d74f4 chore(ci): use aws instance for M1 2023-04-07 12:45:03 +01:00
youben11
981b0f4bb1 feat(ci): push concrete-python docker image on release 2023-04-07 12:45:03 +01:00