Commit Graph

16 Commits

Author SHA1 Message Date
Bourgerie Quentin
ccf491e0a1 perf(backend-cuda): Update cuda backend to the latest tfhe-rs version (0.10.0) 2024-12-16 14:34:23 +01:00
Bourgerie Quentin
3188b50c0e chore(common): Merge remote-tracking branch 'origin/main' into backport_release/2.7.x 2024-08-22 14:28:32 +02:00
youben11
0a97006f64 fix(compiler): use checked_malloc for better error reporting 2024-08-22 10:15:27 +02:00
Bourgerie Quentin
5a98041d13 chore(common): Merge branch 'main' into release/2.7.x 2024-08-13 14:12:19 +02:00
Andi Drebes
fe20cda302 chore(compiler): Bump MLIR fork to version including extended canonicalization of tensor.insert_slice
Also, invoke the canonicalizer to include the new canonicalization
pattern after batching in order to eliminate unnecessary copies due to
redundant insertions completely overwriting empty tensors.
2024-06-20 06:34:48 +02:00
Bourgerie Quentin
eba61f20cd chore(compiler): Update security curves
security estimated using the MATZOV cost model in the lattice estimator
 commit: 60808bdc17f99b78bd1bbcd621af04bc6f0e98bb
 (see "Report on the Security of LWE: Improved Dual Lattice Attack", April 2022)
2024-06-18 16:00:02 +02:00
Antoniu Pop
a431c9d4ef feat(compiler): [GPU backend] enable parallel loop collapsing for GPU backend using batching and fix loop coalescing infrastructure in MLIR to allow operation before bufferization. 2024-05-03 11:58:56 +01:00
Andi Drebes
082cddb133 chore(compiler): Bump MLIR fork to commit including RegionBranchOpInterface for scf.forall 2024-03-14 06:32:19 +01:00
Andi Drebes
9ca9369413 chore(compiler): Bump MLIR fork to version with fix for backward dataflow analysis 2024-02-01 16:18:45 +01:00
youben11
390edcde74 chore(compiler): chery-pick fix from upstream
update to latest commit of the LLVM fork, which cherry-picked a needed
fix
2023-10-03 16:17:27 +01:00
Quentin Bourgerie
953c202fe1 refactor(compiler): Propagate optimizer dag node identifier along the compilation pipeline 2023-04-14 15:01:18 +02:00
Quentin Bourgerie
0921918c51 chore: Move lattice-estimator to third_party 2023-03-22 14:22:11 +01:00
youben11
a2b260dcd1 Revert "chore: llvm bump and rebase."
This reverts commit 0c77e3092716110a7b4ecf1a4152eb9f7c3b283c.
2023-03-21 07:21:56 +01:00
Antoniu Pop
ae22911bc9 chore: llvm bump and rebase. 2023-03-13 11:51:38 +00:00
Andi Drebes
c8c969773e Rebase onto llvm-project 465ee9bfb26d with local changes
This commit rebases the compiler onto commit 465ee9bfb26d from
llvm-project with locally maintained patches on top, i.e.:

  * 5d8669d669ee: Fix the element alignment (size) for memrefCopy
  * 4239163ea337: fix: Do not fold the memref.subview if the offset are
                  != 0 and strides != 1
  * 72c5decfcc21: remove github stuff from llvm
  * 8d0ce8f9eca1: Support arbitrary element types in named operations
                  via attributes
  * 94f64805c38c: Copy attributes of scf.for on bufferization and make
                  it an allocation hoisting barrier

Main upstream changes from llvm-project that required modification of
concretecompiler:

  * Switch to C++17
  * Various changes in the interfaces for linalg named operations
  * Transition from `llvm::Optional` to `std::optional`
  * Use of enums instead of string values for iterator types in linalg
  * Changed default naming convention of getter methods in
    ODS-generated operation classes from `some_value()` to
    `getSomeValue()`
  * Renaming of Arithmetic dialect to Arith
  * Refactoring of side effect interfaces (i.e., renaming from
    `NoSideEffect` to `Pure`)
  * Re-design of the data flow analysis framework
  * Refactoring of build targets for Python bindings
  * Refactoring of array attributes with integer values
  * Renaming of `linalg.init_tensor` to `tensor.empty`
  * Emission of `linalg.map` operations in bufferization of the Tensor
    dialect requiring another linalg conversion pass and registration
    of the bufferization op interfaces for linalg operations
  * Refactoring of the one-shot bufferizer
  * Necessity to run the expand-strided-metadata, affine-to-std and
    finalize-memref-to-llvm passes before converson to the LLVM
    dialect
  * Renaming of `BlockAndValueMapping` to `IRMapping`
  * Changes in the build function of `LLVM::CallOp`
  * Refactoring of the construction of `llvm::ArrayRef` and
    `llvm::MutableArrayRef` (direct invocation of constructor instead
    of builder functions for some cases)
  * New naming conventions for generated SSA values requiring rewrite
    of some check tests
  * Refactoring of `mlir::LLVM::lookupOrCreateMallocFn()`
  * Interface changes in generated type parsers
  * New dependencies for to mlir_float16_utils and
    MLIRSparseTensorRuntime for the runtime
  * Overhaul of MLIR-c deleting `mlir-c/Registration.h`
  * Deletion of library MLIRLinalgToSPIRV
  * Deletion of library MLIRLinalgAnalysis
  * Deletion of library MLIRMemRefUtils
  * Deletion of library MLIRQuantTransforms
  * Deletion of library MLIRVectorToROCDL
2023-03-09 17:47:16 +01:00
Quentin Bourgerie
a279cbe88e chore: Move llvm-project in third_party 2023-03-06 10:50:21 +01:00