char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
20c5266f8
char/aliceai-t5-moe
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" ]