diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-02-12 20:57:17 +0100 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2026-02-12 20:57:17 +0100 |
| commit | b333b06772c89d96aacb5490d6a219fba7c09cc6 (patch) | |
| tree | 211df60083a5946baa2ed61d33d8121b7e251b06 /llama.cpp/.devops/llama-cli-cann.Dockerfile | |
| download | llmnpc-b333b06772c89d96aacb5490d6a219fba7c09cc6.tar.gz | |
Engage!
Diffstat (limited to 'llama.cpp/.devops/llama-cli-cann.Dockerfile')
| -rw-r--r-- | llama.cpp/.devops/llama-cli-cann.Dockerfile | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/llama.cpp/.devops/llama-cli-cann.Dockerfile b/llama.cpp/.devops/llama-cli-cann.Dockerfile new file mode 100644 index 0000000..5bbc9ee --- /dev/null +++ b/llama.cpp/.devops/llama-cli-cann.Dockerfile | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | ARG ASCEND_VERSION=8.1.RC1.alpha001-910b-openeuler22.03-py3.10 | ||
| 2 | |||
| 3 | FROM ascendai/cann:$ASCEND_VERSION AS build | ||
| 4 | |||
| 5 | WORKDIR /app | ||
| 6 | |||
| 7 | COPY . . | ||
| 8 | |||
| 9 | RUN yum install -y gcc g++ cmake make openssl-devel | ||
| 10 | ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest | ||
| 11 | ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH | ||
| 12 | ENV 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} | ||
| 13 | ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:${PYTHONPATH} | ||
| 14 | ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:${PATH} | ||
| 15 | ENV ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME} | ||
| 16 | ENV ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp | ||
| 17 | ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit | ||
| 18 | ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME} | ||
| 19 | |||
| 20 | # find libascend_hal.so, because the drive hasn`t been mounted. | ||
| 21 | ENV LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/runtime/lib64/stub:$LD_LIBRARY_PATH | ||
| 22 | |||
| 23 | RUN echo "Building with static libs" && \ | ||
| 24 | source /usr/local/Ascend/ascend-toolkit/set_env.sh --force && \ | ||
| 25 | cmake -B build -DGGML_NATIVE=OFF -DGGML_CANN=ON -DBUILD_SHARED_LIBS=OFF -DLLAMA_BUILD_TESTS=OFF && \ | ||
| 26 | cmake --build build --config Release --target llama-cli && \ | ||
| 27 | cmake --build build --config Release --target llama-completion | ||
| 28 | |||
| 29 | # TODO: use image with NNRT | ||
| 30 | FROM ascendai/cann:$ASCEND_VERSION AS runtime | ||
| 31 | COPY --from=build /app/build/bin/llama-cli /app/build/bin/llama-completion / | ||
| 32 | |||
| 33 | ENV LC_ALL=C.utf8 | ||
| 34 | |||
| 35 | ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest | ||
| 36 | ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH | ||
| 37 | ENV 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} | ||
| 38 | ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:${PYTHONPATH} | ||
| 39 | ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:${PATH} | ||
| 40 | ENV ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME} | ||
| 41 | ENV ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp | ||
| 42 | ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit | ||
| 43 | ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME} | ||
| 44 | |||
| 45 | ENTRYPOINT ["/llama-cli" ] | ||
