Felipe97/llama-cpp-compiled
01.1k
1ARG ASCEND_VERSION=8.5.0-910b-openeuler22.03-py3.102ARG BUILD_DATE=N/A3ARG APP_VERSION=N/A4ARG APP_REVISION=N/A5 6FROM docker.io/ascendai/cann:$ASCEND_VERSION AS build7 8WORKDIR /app9 10COPY . .11 12RUN yum install -y gcc g++ cmake make openssl-devel13ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest14ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH15ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:${LD_LIBRARY_PATH}16ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:${PYTHONPATH}17ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:${PATH}18ENV ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME}19ENV ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp20ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit21ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME}22 23# find libascend_hal.so, because the drive hasn`t been mounted.24ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/runtime/lib64/stub:$LD_LIBRARY_PATH25 26RUN echo "Building with static libs" && \27 source /usr/local/Ascend/ascend-toolkit/set_env.sh --force && \28 cmake -B build -DGGML_NATIVE=OFF -DGGML_CANN=ON -DBUILD_SHARED_LIBS=OFF -DLLAMA_BUILD_TESTS=OFF && \29 cmake --build build --config Release --target llama-cli && \30 cmake --build build --config Release --target llama-completion31 32# TODO: use image with NNRT33FROM docker.io/ascendai/cann:$ASCEND_VERSION AS runtime34 35ARG BUILD_DATE=N/A36ARG APP_VERSION=N/A37ARG APP_REVISION=N/A38ARG IMAGE_URL=https://github.com/ggml-org/llama.cpp39ARG IMAGE_SOURCE=https://github.com/ggml-org/llama.cpp40LABEL org.opencontainers.image.created=$BUILD_DATE \41 org.opencontainers.image.version=$APP_VERSION \42 org.opencontainers.image.revision=$APP_REVISION \43 org.opencontainers.image.title="llama.cpp" \44 org.opencontainers.image.description="LLM inference in C/C++" \45 org.opencontainers.image.url=$IMAGE_URL \46 org.opencontainers.image.source=$IMAGE_SOURCE47 48COPY --from=build /app/build/bin/llama-cli /app/build/bin/llama-completion /49 50ENV LC_ALL=C.utf851 52ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest53ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH54ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_HOME}/lib64/plugin/nnengine:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe/op_tiling:${LD_LIBRARY_PATH}55ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:${PYTHONPATH}56ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:${PATH}57ENV ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME}58ENV ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp59ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit60ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME}61 62ENTRYPOINT ["/llama-cli" ]63 