char-fork/llama.cpp

git clone https://git.t4t.associates/char-fork/llama.cpp

Alexander Batischevdocker: specify registry to simplify Podman builds (#24607)20c5266f8

char/aliceai-t5-moe
2.9 KiB62 linesraw
1ARG ASCEND_VERSION=8.5.0-910b-openeuler22.03-py3.10
2ARG BUILD_DATE=N/A
3ARG APP_VERSION=N/A
4ARG APP_REVISION=N/A
5
6FROM docker.io/ascendai/cann:$ASCEND_VERSION AS build
7
8WORKDIR /app
9
10COPY . .
11
12RUN yum install -y gcc g++ cmake make openssl-devel
13ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest
14ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH
15ENV 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}/opp
20ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit
21ENV 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_PATH
25
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-completion
31
32# TODO: use image with NNRT
33FROM docker.io/ascendai/cann:$ASCEND_VERSION AS runtime
34
35ARG BUILD_DATE=N/A
36ARG APP_VERSION=N/A
37ARG APP_REVISION=N/A
38ARG IMAGE_URL=https://github.com/ggml-org/llama.cpp
39ARG IMAGE_SOURCE=https://github.com/ggml-org/llama.cpp
40LABEL 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_SOURCE
47
48COPY --from=build /app/build/bin/llama-cli /app/build/bin/llama-completion /
49
50ENV LC_ALL=C.utf8
51
52ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest
53ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH
54ENV 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}/opp
59ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit
60ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME}
61
62ENTRYPOINT ["/llama-cli" ]