| 
 | 1 | +ARG ASCEND_VERSION=8.0.rc2.alpha003-910b-openeuler22.03-py3.8  | 
 | 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  | 
 | 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  && \  | 
 | 26 | +    cmake --build build --config Release --target llama-cli  | 
 | 27 | + | 
 | 28 | +# TODO: use image with NNRT  | 
 | 29 | +FROM ascendai/cann:$ASCEND_VERSION AS runtime  | 
 | 30 | +COPY --from=build /app/build/bin/llama-cli /llama-cli  | 
 | 31 | + | 
 | 32 | +ENV LC_ALL=C.utf8  | 
 | 33 | + | 
 | 34 | +ENV ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest  | 
 | 35 | +ENV LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:$LIBRARY_PATH  | 
 | 36 | +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}  | 
 | 37 | +ENV PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/built-in/op_impl/ai_core/tbe:${PYTHONPATH}  | 
 | 38 | +ENV PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:${PATH}  | 
 | 39 | +ENV ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME}  | 
 | 40 | +ENV ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp  | 
 | 41 | +ENV TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit  | 
 | 42 | +ENV ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME}  | 
 | 43 | + | 
 | 44 | +ENTRYPOINT ["/llama-cli" ]  | 
0 commit comments