|
| 1 | +ARG ASCEND_VERSION=8.0.rc2.alpha003-910b-openeuler22.03-py3.8 |
| 2 | + |
| 3 | +FROM cosdt/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_CANN=ON -DBUILD_SHARED_LIBS=OFF && \ |
| 26 | + cmake --build build --config Release --target llama-cli |
| 27 | + |
| 28 | +# TODO: use image with NNRT |
| 29 | +FROM cosdt/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