mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-10 04:35:03 -05:00
This commit rebases the compiler onto commit f69328049e9e from llvm-project. Changes: * Use of the one-shot bufferizer for improved memory management * A new pass `OneShotBufferizeDPSWrapper` that converts functions returning tensors to destination-passing-style as required by the one-shot bufferizer * A new pass `LinalgGenericOpWithTensorsToLoopsPass` that converts `linalg.generic` operations with value semantics to loop nests * Rebase onto a fork of llvm-project at f69328049e9e with local modifications to enable bufferization of `linalg.generic` operations with value semantics * Workaround for the absence of type propagation after type conversion via extra patterns in all dialect conversion passes * Printer, parser and verifier definitions moved from inline declarations in ODS to the respective source files as required by upstream changes * New tests for functions with a large number of inputs * Increase the number of allowed task inputs as required by new tests * Use upstream function `mlir_configure_python_dev_packages()` to locate Python development files for compatibility with various CMake versions Co-authored-by: Quentin Bourgerie <quentin.bourgerie@zama.ai> Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai> Co-authored-by: Antoniu Pop <antoniu.pop@zama.ai>
33 lines
1.3 KiB
Docker
33 lines
1.3 KiB
Docker
FROM ubuntu:latest
|
|
|
|
RUN apt-get update
|
|
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y curl cmake g++ build-essential python3 python3-pip python3-setuptools ninja-build git zlib1g-dev ccache
|
|
# setup ccache with an unlimited amount of files and storage
|
|
RUN ccache -M 0
|
|
RUN ccache -F 0
|
|
RUN pip install numpy pybind11==2.8 PyYAML
|
|
# Setup Concrete
|
|
COPY --from=ghcr.io/zama-ai/concrete-compiler-api-env:latest /target/release /concrete/target/release
|
|
ENV CONCRETE_PROJECT=/concrete
|
|
# Setup LLVM
|
|
COPY /llvm-project /llvm-project
|
|
# Setup and build compiler
|
|
COPY /compiler /compiler
|
|
WORKDIR /compiler
|
|
RUN mkdir -p /build
|
|
RUN make BUILD_DIR=/build CCACHE=ON concretecompiler python-bindings && \
|
|
mv /build/tools/concretelang/python_packages/concretelang_core /concretelang_core && \
|
|
mv /build/bin/concretecompiler /bin && \
|
|
mv /build/lib/libConcretelangRuntime.so /lib && \
|
|
rm -rf /build && \
|
|
mkdir -p /build/tools/concretelang/python_packages/ && \
|
|
mkdir -p /build/bin && \
|
|
mkdir -p /build/lib && \
|
|
mv /concretelang_core /build/tools/concretelang/python_packages/ && \
|
|
mv /bin/concretecompiler /build/bin && \
|
|
mv /lib/libConcretelangRuntime.so /build/lib
|
|
ENV PYTHONPATH "$PYTHONPATH:/build/tools/concretelang/python_packages/concretelang_core"
|
|
ENV PATH "$PATH:/build/bin"
|
|
ENV RT_LIB "/build/lib/libConcretelangRuntime.so"
|
|
RUN ccache -z
|